using NoResponse;
using NoResponse.Models.Shared;
using System;
using System.Collections.Generic;
var sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable("NORESPONSE_API_KEY"));
AccountDirectorySearchRequest req = new AccountDirectorySearchRequest() {
IdentifierExpression = new IdentifierExpression() {
Scope = ScopeEnum.Account,
Expression = new IdentifierExpressionNode() {
And = new List<IdentifierExpressionNodeLevelTwo>() {
new IdentifierExpressionNodeLevelTwo() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Phone,
Value = "+14155552671",
Match = Match.Canonical,
},
},
new IdentifierExpressionNodeLevelTwo() {
Or = new List<IdentifierExpressionNodeLevelOne>() {
new IdentifierExpressionNodeLevelOne() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Email,
Value = "case@example.com",
Match = Match.Exact,
},
},
new IdentifierExpressionNodeLevelOne() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Email,
Value = "other@example.com",
Match = Match.Exact,
},
},
},
},
},
},
},
};
var res = await sdk.Accounts.SearchAsync(req);
// handle response
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use NoResponse;
use NoResponse\Models\Shared;
$sdk = NoResponse\NoResponseClient::builder()
->setSecurity(
getenv('NORESPONSE_API_KEY') ?: ''
)
->build();
$request = new Shared\AccountDirectorySearchRequest(
identifierExpression: new Shared\IdentifierExpression(
scope: Shared\ScopeEnum::Account,
expression: new Shared\IdentifierExpressionNode(
and: [
new Shared\IdentifierExpressionNodeLevelTwo(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Phone,
value: '+14155552671',
match: Shared\MatchT::Canonical,
),
),
new Shared\IdentifierExpressionNodeLevelTwo(
or: [
new Shared\IdentifierExpressionNodeLevelOne(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Email,
value: 'case@example.com',
match: Shared\MatchT::Exact,
),
),
new Shared\IdentifierExpressionNodeLevelOne(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Email,
value: 'other@example.com',
match: Shared\MatchT::Exact,
),
),
],
),
],
),
),
);
$response = $sdk->accounts->search(
request: $request
);
$result = $response->result;
// handle response
{
"type": "https://docs.noresponse.org/problems/workspace-forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The API key does not carry a scope this operation accepts.",
"code": "workspace_forbidden",
"request_id": "0123456789abcdef0123456789abcdef"
}
Search distinct observed accounts by email or account ID
Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application’s users.
Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers.
The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages.
Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.
using NoResponse;
using NoResponse.Models.Shared;
using System;
using System.Collections.Generic;
var sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable("NORESPONSE_API_KEY"));
AccountDirectorySearchRequest req = new AccountDirectorySearchRequest() {
IdentifierExpression = new IdentifierExpression() {
Scope = ScopeEnum.Account,
Expression = new IdentifierExpressionNode() {
And = new List<IdentifierExpressionNodeLevelTwo>() {
new IdentifierExpressionNodeLevelTwo() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Phone,
Value = "+14155552671",
Match = Match.Canonical,
},
},
new IdentifierExpressionNodeLevelTwo() {
Or = new List<IdentifierExpressionNodeLevelOne>() {
new IdentifierExpressionNodeLevelOne() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Email,
Value = "case@example.com",
Match = Match.Exact,
},
},
new IdentifierExpressionNodeLevelOne() {
Term = new IdentifierSearch() {
Kind = IdentifierSearchKind.Email,
Value = "other@example.com",
Match = Match.Exact,
},
},
},
},
},
},
},
};
var res = await sdk.Accounts.SearchAsync(req);
// handle response
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use NoResponse;
use NoResponse\Models\Shared;
$sdk = NoResponse\NoResponseClient::builder()
->setSecurity(
getenv('NORESPONSE_API_KEY') ?: ''
)
->build();
$request = new Shared\AccountDirectorySearchRequest(
identifierExpression: new Shared\IdentifierExpression(
scope: Shared\ScopeEnum::Account,
expression: new Shared\IdentifierExpressionNode(
and: [
new Shared\IdentifierExpressionNodeLevelTwo(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Phone,
value: '+14155552671',
match: Shared\MatchT::Canonical,
),
),
new Shared\IdentifierExpressionNodeLevelTwo(
or: [
new Shared\IdentifierExpressionNodeLevelOne(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Email,
value: 'case@example.com',
match: Shared\MatchT::Exact,
),
),
new Shared\IdentifierExpressionNodeLevelOne(
term: new Shared\IdentifierSearch(
kind: Shared\IdentifierSearchKind::Email,
value: 'other@example.com',
match: Shared\MatchT::Exact,
),
),
],
),
],
),
),
);
$response = $sdk->accounts->search(
request: $request
);
$result = $response->result;
// handle response
{
"type": "https://docs.noresponse.org/problems/workspace-forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The API key does not carry a scope this operation accepts.",
"code": "workspace_forbidden",
"request_id": "0123456789abcdef0123456789abcdef"
}
Your API key, sent as Authorization: Bearer <key>. A key is nrk_live_ or nrk_test_, a 26-character key id, _ and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.
assess creates and reads assessments, records outcomes and reports key usage. investigate reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy history scope also permits account exports, submitted identifiers and enforcement reports. delete permits account and assessment deletion.
evidence or detailed adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. exports permits exports with the underlying account or audit scope. audit reads audit events and usage reads usage. audit_manage manages audit streams and retention, and includes audit-read and export authority.
webhooks manages webhook endpoints. integrations manages hosted auth-provider integrations. management manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.
settings reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires settings and policy_publish together, or the legacy management scope.
groups creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.
members reads the workspace directory. members_manage also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. management does not grant team access. API keys cannot change owners or accept invitations.
A missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.
Body
application/json
Bounded distinct-account search for one authenticated workspace/environment. identifier matches any retained admitted assessment of an account, including historical submitted values. email preserves the legacy canonical-mailbox filter. identifier and email cannot be combined. All other filters combine using AND. Typed identifier search uses stable opaque account order; ordinary and legacy email searches retain newest-seen ordering. Pages are live, not a cross-page snapshot. Requires history or investigate authority and identifier-read permission for identifier, identifier_expression or email filtering. identifier_expression explicitly chooses scope assessment (one whole matching submission) or account (terms may match different retained submissions of one account). At most 8 raw terms and 3 group levels. Mutually exclusive with identifier and email. Expression search uses the same stable opaque account order as typed identifier search.
needs_action
boolean
default:false
Select accounts with a retained open or in-progress review, or a current review/block account decision with no retained effective account outcome. The server applies this filter before counting and pagination. Requires reviews.read as well as history.read for console members; API keys additionally require management.
account_id
string
The provider's own opaque identifier for the account being checked, scoped to the calling workspace. It must be provider-opaque and must not contain a direct identifier (email, phone, name, national id): that is a provider obligation the schema can only partly check. '|' is accepted so an Auth0 user id such as 'auth0|64abc' passes unchanged; '@', '+', '$' and whitespace are refused by the pattern, as is an exact-shape JWT; a hex digest such as a SHA-256 is allowed, because hashing an internal id is a common pseudonymous scheme. A value such as '07700900123' or 'jane.doe.gmail.com' cannot be told apart from an opaque id. It travels in bodies, and in a URL only as the path segment of GET /v1/accounts/{account_id}, its /assessments and its /links. An assessment requested by a provider hook at pre_registration, which has no account yet, carries the server-issued account_id pre: followed by its assessment_id.
Required string length: 1 - 128
Pattern: ^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$
email
string
Assessments of every account that one of its retained admitted assessments sent this mailbox as identifiers.email, matched as lists match an email entry: case-insensitive, a +tag removed and, at gmail.com and googlemail.com, the dots of the local part ignored. Only assessments stored since email list matching began carry the mailbox. An address that is not a valid mailbox is refused with 400.
Required string length: 3 - 254
Pattern: ^[^\s\x00-\x1f\x7f]+$
email_domain
string
Every account that one of its retained admitted assessments sent an email of this domain or its subdomains, matched as lists match an email_domain entry and with the same identifier-read permission as email. A value that is not a registrable domain is refused with 400. Mutually exclusive with email, identifier and identifier_expression.
Required string length: 3 - 253
Pattern: ^[^\s\x00-\x1f\x7f@]+$
limit
integer
default:25
Required range: 1 <= x <= 50
cursor
string
Opaque, expiring cursor bound to workspace, environment, operation and all filters, including expression scope, ordered structure and original term values. Keep grouping, operand order, matching modes and values unchanged; an omitted match is equivalent to exact. The page limit may change.
Required string length: 1 - 1024
Pattern: ^[A-Za-z0-9_-]+$
identifier
Identifier search · object
Match a retained assessment's submitted identifier directly. Mutually exclusive with identifier_expression and legacy email. All other supported filters combine using AND.
Distinct observed accounts with retained assessments. Typed identifier searches use stable opaque account order, independent of newly submitted assessments; ordinary and legacy email searches use newest-seen order. One repeatable-read database snapshot supplies each page's rows and totals. Pages do not share a snapshot: new matching accounts may appear on a later page or before the cursor and be missed until a fresh search; retention, erasure and changed membership can remove results. Current account decisions are read separately and may advance during a page. Cursors bind the workspace/environment, operation and filters, expire, and cannot cross scopes. Erasure and retention always take precedence over pagination.
schema_version
any
required
Version of the body shape.
items
object[]
required
Maximum array length: 50
Show child attributes
total
integer
required
Distinct accounts matching the filters, exact below 10000 and capped at 10000.
Required range: 0 <= x <= 10000
total_capped
boolean
required
True when at least 10000 accounts match.
next_cursor
string
Opaque, expiring cursor bound to this environment, operation and every filter. Keep the filters unchanged.
Required string length: 1 - 1024
Pattern: ^[A-Za-z0-9_-]+$
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"NoResponse docs","description":"Developer docs for the NoResponse API: one current risk score, decision and reasons for every account.","colors":{"primary":"#2c38d4","light":"#8d95ff","dark":"#6a4de0"},"logo":{"light":"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/light.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=71c49eae03789201280dc175d672a9af","dark":"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/dark.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=98832e074a26eaea5af1cc027afba09b","href":"https://docs.noresponse.org"},"favicon":"https://mintcdn.com/no-response/5W6mRom2UXSxqqQG/favicon.svg?fit=max\u0026auto=format\u0026n=5W6mRom2UXSxqqQG\u0026q=85\u0026s=7bf9d7629b3f760b9c07ac491176b847","api":{"playground":{"display":"simple","proxy":false},"examples":{"prefill":true,"autogenerate":false}},"appearance":{"default":"dark"},"background":{"color":{"light":"#f2f0e6","dark":"#0e1038"}},"navbar":{"links":[{"href":"https://noresponse.org","label":"noresponse.org"}],"primary":{"type":"button","label":"Book a demo","href":"https://noresponse.org/demo/"}},"footer":{"socials":{"website":"https://noresponse.org","github":"https://github.com/noresponsehq"}},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Schibsted Grotesk","weight":600,"source":"fonts/SchibstedGrotesk-Variable.woff2","format":"woff2"},"body":{"family":"Schibsted Grotesk","weight":400,"source":"fonts/SchibstedGrotesk-Variable.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"latex":false},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page does not exist. The address may have changed when the docs moved. Go to the [overview](/) or open the [API reference](/api-reference)."}},"contextual":{"options":["copy","view","download-spec","chatgpt","claude"],"display":"header"},"thumbnails":{"preset":"classic","appearance":"dark","surface":"brand","fonts":{"family":"Schibsted Grotesk","source":"fonts/SchibstedGrotesk-600.ttf","format":"ttf"},"eyebrow":{"source":"tab","style":"plain"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"no-response","hasAudioNarration":false,"actualSubdomain":"no-response","customDomains":["docs.noresponse.org"],"gitSource":{"type":"github","owner":"noresponsehq","repo":"noresponse","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":"","_id":"6adb8358cea73fcb111d0b4e"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af90801dc65debd1bc11a73","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API reference","count":198},{"language":"default","tag":"Endpoints","count":127},{"language":"default","tag":"Errors","count":55},{"language":"default","tag":"Problem types","count":54},{"language":"default","tag":"Guides","count":29},{"language":"default","tag":"Workspaces","count":22},{"language":"default","tag":"Accounts","count":18},{"language":"default","tag":"Reviews","count":17},{"language":"default","tag":"Webhooks","count":17},{"language":"default","tag":"Groups","count":16}]},"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":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Azeret Mono\";src:url(\"/fonts/AzeretMono-Variable.woff2\") format(\"woff2\");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:\"Schibsted Grotesk\";src:url(\"/fonts/SchibstedGrotesk-Variable-Italic.woff2\") format(\"woff2\");font-weight:400 900;font-style:italic;font-display:swap}code,pre,kbd,samp{font-family:\"Azeret Mono\", ui-monospace, Menlo, monospace!important}:root.dark{--gray-50: 242 240 230;--gray-100: 236 234 246;--gray-200: 236 234 246;--gray-300: 188 191 226;--gray-400: 159 162 202;--gray-500: 147 150 191;--gray-600: 108 112 156;--gray-700: 58 63 128;--gray-800: 32 35 77;--gray-900: 15 18 54;--gray-950: 8 10 34}html.dark .code-block,html.dark [data-component-part=\"code-block-root\"],html.dark pre.shiki{background-color:#0f1236!important;border-color:#3a3f80}html.dark ::selection{background:#6a4de0;color:#f2f0e6}"}],"page":{"pagePath":"api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id","slug":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id","pageMetadata":{"title":"Search distinct observed accounts by email or account ID","description":"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application's users.\n\nSend an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers.\n\nThe server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages.\n\nRead-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/search","href":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id","autogeneratedByOpenApi":true},"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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application’s users.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\"\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":{"codeStyling":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"config":{},"pageMetadata":{"title":"Search distinct observed accounts by email or account ID","description":"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application's users.\n\nSend an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers.\n\nThe server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages.\n\nRead-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/search","href":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"searchAccounts","tags":["accounts"],"summary":"Search distinct observed accounts by email or account ID","description":"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application's users.\n\nSend an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers.\n\nThe server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages.\n\nRead-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.","requestBody":"1585ad14-b194-4f7f-a249-5d2a1a9484e3","responses":{"200":"8bfcd09e-24a5-425c-a5d1-6c6cdf617643","400":"ca080040-b4e7-4efc-8f48-22cd36486eb7","401":"c17e9fa3-111d-458f-b855-7df85ee42655","403":"5721c1c0-61a4-4521-b9a3-3442043b6711","404":"7bd3bc87-cde5-4cc0-9a98-c89bdec85281","413":"61dfa6aa-5414-49f6-87ca-c72b9975a586","415":"cf62dcce-ce7d-4378-9b3a-c8910aba1f91","429":"5b33ba3f-9224-4a9a-b5bc-e78c3d8e4d62","503":"5f8bff07-78e6-43be-baf2-fc3602a24d12"},"security":["6b508512-4d1a-4922-b207-46fa95a5c564"],"x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl --request POST \\\n --url 'https://api.noresponse.org/v1/accounts/search' \\\n --header \"Authorization: Bearer $NORESPONSE_API_KEY\" \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"needs_action\": false,\n \"limit\": 25,\n \"identifier_expression\": {\n \"scope\": \"account\",\n \"expression\": {\n \"and\": [\n {\n \"term\": {\n \"kind\": \"phone\",\n \"value\": \"+14155552671\",\n \"match\": \"canonical\"\n }\n },\n {\n \"or\": [\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"case@example.com\",\n \"match\": \"exact\"\n }\n },\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"other@example.com\",\n \"match\": \"exact\"\n }\n }\n ]\n }\n ]\n }\n }\n}'\n"},{"lang":"typescript","label":"TypeScript","source":"import { NoResponse } from \"@noresponse/node\";\n\nconst noResponse = new NoResponse({\n apiKey: process.env[\"NORESPONSE_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await noResponse.accounts.search({\n identifierExpression: {\n scope: \"account\",\n expression: {\n and: [\n {\n term: {\n kind: \"phone\",\n value: \"+14155552671\",\n match: \"canonical\",\n },\n },\n {\n or: [\n {\n term: {\n kind: \"email\",\n value: \"case@example.com\",\n match: \"exact\",\n },\n },\n {\n term: {\n kind: \"email\",\n value: \"other@example.com\",\n match: \"exact\",\n },\n },\n ],\n },\n ],\n },\n },\n });\n\n console.log(result.total);\n}\n\nrun();\n"},{"lang":"python","label":"Python","source":"from noresponse import NoResponse\nimport os\n\n\nwith NoResponse(\n api_key=os.getenv(\"NORESPONSE_API_KEY\", \"\"),\n) as no_response:\n\n res = no_response.accounts.search(identifier_expression={\n \"scope\": \"account\",\n \"expression\": {\n \"and_\": [\n {\n \"term\": {\n \"kind\": \"phone\",\n \"value\": \"+14155552671\",\n \"match\": \"canonical\",\n },\n },\n {\n \"or_\": [\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"case@example.com\",\n \"match\": \"exact\",\n },\n },\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"other@example.com\",\n \"match\": \"exact\",\n },\n },\n ],\n },\n ],\n },\n }, limit=25)\n\n # Handle response\n if res.result is not None:\n print(res.result.total)\n"},{"lang":"go","label":"Go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tnoresponse \"github.com/noresponsehq/go/v12\"\n\t\"github.com/noresponsehq/go/v12/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := noresponse.New(\n noresponse.WithSecurity(os.Getenv(\"NORESPONSE_API_KEY\")),\n )\n\n res, err := s.Accounts.Search(ctx, components.AccountDirectorySearchRequest{\n IdentifierExpression: \u0026components.IdentifierExpression{\n Scope: components.ScopeEnumAccount,\n Expression: components.IdentifierExpressionNode{\n And: []components.IdentifierExpressionNodeLevelTwo{\n components.IdentifierExpressionNodeLevelTwo{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindPhone,\n Value: \"+14155552671\",\n Match: components.MatchCanonical.ToPointer(),\n },\n },\n components.IdentifierExpressionNodeLevelTwo{\n Or: []components.IdentifierExpressionNodeLevelOne{\n components.IdentifierExpressionNodeLevelOne{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindEmail,\n Value: \"case@example.com\",\n Match: components.MatchExact.ToPointer(),\n },\n },\n components.IdentifierExpressionNodeLevelOne{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindEmail,\n Value: \"other@example.com\",\n Match: components.MatchExact.ToPointer(),\n },\n },\n },\n },\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}\n"},{"lang":"java","label":"Java","source":"package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.noresponse.NoResponse;\nimport org.noresponse.models.errors.AuthenticationException;\nimport org.noresponse.models.errors.BadRequestException;\nimport org.noresponse.models.errors.ConflictException;\nimport org.noresponse.models.errors.NotFoundException;\nimport org.noresponse.models.errors.PermissionDeniedException;\nimport org.noresponse.models.errors.RateLimitException;\nimport org.noresponse.models.operations.SearchAccountsResponse;\nimport org.noresponse.models.shared.AccountDirectorySearchRequest;\nimport org.noresponse.models.shared.IdentifierExpression;\nimport org.noresponse.models.shared.IdentifierExpressionNode;\nimport org.noresponse.models.shared.IdentifierExpressionNodeLevelOne;\nimport org.noresponse.models.shared.IdentifierExpressionNodeLevelTwo;\nimport org.noresponse.models.shared.IdentifierSearch;\nimport org.noresponse.models.shared.IdentifierSearchKind;\nimport org.noresponse.models.shared.Match;\nimport org.noresponse.models.shared.ScopeEnum;\n\npublic class Application {\n\n public static void main(String[] args) throws Exception {\n\n NoResponse sdk = NoResponse.builder()\n .apiKey(System.getenv().getOrDefault(\"NORESPONSE_API_KEY\", \"\"))\n .build();\n\n AccountDirectorySearchRequest req = AccountDirectorySearchRequest.builder()\n .identifierExpression(IdentifierExpression.builder()\n .scope(ScopeEnum.ACCOUNT)\n .expression(IdentifierExpressionNode.builder()\n .and(List.of(\n IdentifierExpressionNodeLevelTwo.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.PHONE)\n .value(\"+14155552671\")\n .match(Match.CANONICAL)\n .build())\n .build(),\n IdentifierExpressionNodeLevelTwo.builder()\n .or(List.of(\n IdentifierExpressionNodeLevelOne.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.EMAIL)\n .value(\"case@example.com\")\n .match(Match.EXACT)\n .build())\n .build(),\n IdentifierExpressionNodeLevelOne.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.EMAIL)\n .value(\"other@example.com\")\n .match(Match.EXACT)\n .build())\n .build()))\n .build()))\n .build())\n .build())\n .build();\n\n SearchAccountsResponse res = sdk.accounts().search()\n .request(req)\n .call();\n\n if (res.accountDirectoryPage().isPresent()) {\n System.out.println(res.accountDirectoryPage().get().total());\n }\n }\n}\n"},{"lang":"csharp","label":"C#","source":"using NoResponse;\nusing NoResponse.Models.Shared;\nusing System;\nusing System.Collections.Generic;\n\nvar sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable(\"NORESPONSE_API_KEY\"));\n\nAccountDirectorySearchRequest req = new AccountDirectorySearchRequest() {\n IdentifierExpression = new IdentifierExpression() {\n Scope = ScopeEnum.Account,\n Expression = new IdentifierExpressionNode() {\n And = new List\u003cIdentifierExpressionNodeLevelTwo>() {\n new IdentifierExpressionNodeLevelTwo() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Phone,\n Value = \"+14155552671\",\n Match = Match.Canonical,\n },\n },\n new IdentifierExpressionNodeLevelTwo() {\n Or = new List\u003cIdentifierExpressionNodeLevelOne>() {\n new IdentifierExpressionNodeLevelOne() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Email,\n Value = \"case@example.com\",\n Match = Match.Exact,\n },\n },\n new IdentifierExpressionNodeLevelOne() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Email,\n Value = \"other@example.com\",\n Match = Match.Exact,\n },\n },\n },\n },\n },\n },\n },\n};\n\nvar res = await sdk.Accounts.SearchAsync(req);\n\n// handle response\n"},{"lang":"php","label":"PHP","source":"\u003c?php\n\ndeclare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse NoResponse;\nuse NoResponse\\Models\\Shared;\n\n$sdk = NoResponse\\NoResponseClient::builder()\n ->setSecurity(\n getenv('NORESPONSE_API_KEY') ?: ''\n )\n ->build();\n\n$request = new Shared\\AccountDirectorySearchRequest(\n identifierExpression: new Shared\\IdentifierExpression(\n scope: Shared\\ScopeEnum::Account,\n expression: new Shared\\IdentifierExpressionNode(\n and: [\n new Shared\\IdentifierExpressionNodeLevelTwo(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Phone,\n value: '+14155552671',\n match: Shared\\MatchT::Canonical,\n ),\n ),\n new Shared\\IdentifierExpressionNodeLevelTwo(\n or: [\n new Shared\\IdentifierExpressionNodeLevelOne(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Email,\n value: 'case@example.com',\n match: Shared\\MatchT::Exact,\n ),\n ),\n new Shared\\IdentifierExpressionNodeLevelOne(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Email,\n value: 'other@example.com',\n match: Shared\\MatchT::Exact,\n ),\n ),\n ],\n ),\n ],\n ),\n ),\n);\n\n$response = $sdk->accounts->search(\n request: $request\n);\n\n$result = $response->result;\n// handle response\n"},{"lang":"ruby","label":"Ruby","source":"require 'noresponse'\n\nModels = ::NoResponse::Models\ns = ::NoResponse::NoResponseClient.new(\n api_key: ENV.fetch('NORESPONSE_API_KEY', '')\n)\n\nreq = Models::Shared::AccountDirectorySearchRequest.new(\n identifier_expression: Models::Shared::IdentifierExpression.new(\n scope: Models::Shared::ScopeEnum::ACCOUNT,\n expression: Models::Shared::IdentifierExpressionNode.new(\n and_: [\n Models::Shared::IdentifierExpressionNodeLevelTwo.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::PHONE,\n value: '+14155552671',\n match: Models::Shared::Match::CANONICAL\n )\n ),\n Models::Shared::IdentifierExpressionNodeLevelTwo.new(\n or_: [\n Models::Shared::IdentifierExpressionNodeLevelOne.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::EMAIL,\n value: 'case@example.com',\n match: Models::Shared::Match::EXACT\n )\n ),\n Models::Shared::IdentifierExpressionNodeLevelOne.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::EMAIL,\n value: 'other@example.com',\n match: Models::Shared::Match::EXACT\n )\n ),\n ]\n ),\n ]\n )\n )\n)\nres = s.accounts.search(request: req)\n\nunless res.nil?\n # handle response\nend\n"}],"method":"post","type":"path","servers":["18cd78c2-9cd8-4db8-8b92-63f5298dc2b9"],"path":"/v1/accounts/search","baseUrlOptions":["https://api.noresponse.org"],"title":"Search distinct observed accounts by email or account ID","codeSamples":[{"label":"cURL","lang":"curl","source":"curl --request POST \\\n --url 'https://api.noresponse.org/v1/accounts/search' \\\n --header \"Authorization: Bearer $NORESPONSE_API_KEY\" \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"needs_action\": false,\n \"limit\": 25,\n \"identifier_expression\": {\n \"scope\": \"account\",\n \"expression\": {\n \"and\": [\n {\n \"term\": {\n \"kind\": \"phone\",\n \"value\": \"+14155552671\",\n \"match\": \"canonical\"\n }\n },\n {\n \"or\": [\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"case@example.com\",\n \"match\": \"exact\"\n }\n },\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"other@example.com\",\n \"match\": \"exact\"\n }\n }\n ]\n }\n ]\n }\n }\n}'\n"},{"label":"TypeScript","lang":"typescript","source":"import { NoResponse } from \"@noresponse/node\";\n\nconst noResponse = new NoResponse({\n apiKey: process.env[\"NORESPONSE_API_KEY\"] ?? \"\",\n});\n\nasync function run() {\n const result = await noResponse.accounts.search({\n identifierExpression: {\n scope: \"account\",\n expression: {\n and: [\n {\n term: {\n kind: \"phone\",\n value: \"+14155552671\",\n match: \"canonical\",\n },\n },\n {\n or: [\n {\n term: {\n kind: \"email\",\n value: \"case@example.com\",\n match: \"exact\",\n },\n },\n {\n term: {\n kind: \"email\",\n value: \"other@example.com\",\n match: \"exact\",\n },\n },\n ],\n },\n ],\n },\n },\n });\n\n console.log(result.total);\n}\n\nrun();\n"},{"label":"Python","lang":"python","source":"from noresponse import NoResponse\nimport os\n\n\nwith NoResponse(\n api_key=os.getenv(\"NORESPONSE_API_KEY\", \"\"),\n) as no_response:\n\n res = no_response.accounts.search(identifier_expression={\n \"scope\": \"account\",\n \"expression\": {\n \"and_\": [\n {\n \"term\": {\n \"kind\": \"phone\",\n \"value\": \"+14155552671\",\n \"match\": \"canonical\",\n },\n },\n {\n \"or_\": [\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"case@example.com\",\n \"match\": \"exact\",\n },\n },\n {\n \"term\": {\n \"kind\": \"email\",\n \"value\": \"other@example.com\",\n \"match\": \"exact\",\n },\n },\n ],\n },\n ],\n },\n }, limit=25)\n\n # Handle response\n if res.result is not None:\n print(res.result.total)\n"},{"label":"Go","lang":"go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tnoresponse \"github.com/noresponsehq/go/v12\"\n\t\"github.com/noresponsehq/go/v12/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := noresponse.New(\n noresponse.WithSecurity(os.Getenv(\"NORESPONSE_API_KEY\")),\n )\n\n res, err := s.Accounts.Search(ctx, components.AccountDirectorySearchRequest{\n IdentifierExpression: \u0026components.IdentifierExpression{\n Scope: components.ScopeEnumAccount,\n Expression: components.IdentifierExpressionNode{\n And: []components.IdentifierExpressionNodeLevelTwo{\n components.IdentifierExpressionNodeLevelTwo{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindPhone,\n Value: \"+14155552671\",\n Match: components.MatchCanonical.ToPointer(),\n },\n },\n components.IdentifierExpressionNodeLevelTwo{\n Or: []components.IdentifierExpressionNodeLevelOne{\n components.IdentifierExpressionNodeLevelOne{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindEmail,\n Value: \"case@example.com\",\n Match: components.MatchExact.ToPointer(),\n },\n },\n components.IdentifierExpressionNodeLevelOne{\n Term: \u0026components.IdentifierSearch{\n Kind: components.IdentifierSearchKindEmail,\n Value: \"other@example.com\",\n Match: components.MatchExact.ToPointer(),\n },\n },\n },\n },\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}\n"},{"label":"Java","lang":"java","source":"package hello.world;\n\nimport java.lang.Exception;\nimport java.util.List;\nimport org.noresponse.NoResponse;\nimport org.noresponse.models.errors.AuthenticationException;\nimport org.noresponse.models.errors.BadRequestException;\nimport org.noresponse.models.errors.ConflictException;\nimport org.noresponse.models.errors.NotFoundException;\nimport org.noresponse.models.errors.PermissionDeniedException;\nimport org.noresponse.models.errors.RateLimitException;\nimport org.noresponse.models.operations.SearchAccountsResponse;\nimport org.noresponse.models.shared.AccountDirectorySearchRequest;\nimport org.noresponse.models.shared.IdentifierExpression;\nimport org.noresponse.models.shared.IdentifierExpressionNode;\nimport org.noresponse.models.shared.IdentifierExpressionNodeLevelOne;\nimport org.noresponse.models.shared.IdentifierExpressionNodeLevelTwo;\nimport org.noresponse.models.shared.IdentifierSearch;\nimport org.noresponse.models.shared.IdentifierSearchKind;\nimport org.noresponse.models.shared.Match;\nimport org.noresponse.models.shared.ScopeEnum;\n\npublic class Application {\n\n public static void main(String[] args) throws Exception {\n\n NoResponse sdk = NoResponse.builder()\n .apiKey(System.getenv().getOrDefault(\"NORESPONSE_API_KEY\", \"\"))\n .build();\n\n AccountDirectorySearchRequest req = AccountDirectorySearchRequest.builder()\n .identifierExpression(IdentifierExpression.builder()\n .scope(ScopeEnum.ACCOUNT)\n .expression(IdentifierExpressionNode.builder()\n .and(List.of(\n IdentifierExpressionNodeLevelTwo.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.PHONE)\n .value(\"+14155552671\")\n .match(Match.CANONICAL)\n .build())\n .build(),\n IdentifierExpressionNodeLevelTwo.builder()\n .or(List.of(\n IdentifierExpressionNodeLevelOne.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.EMAIL)\n .value(\"case@example.com\")\n .match(Match.EXACT)\n .build())\n .build(),\n IdentifierExpressionNodeLevelOne.builder()\n .term(IdentifierSearch.builder()\n .kind(IdentifierSearchKind.EMAIL)\n .value(\"other@example.com\")\n .match(Match.EXACT)\n .build())\n .build()))\n .build()))\n .build())\n .build())\n .build();\n\n SearchAccountsResponse res = sdk.accounts().search()\n .request(req)\n .call();\n\n if (res.accountDirectoryPage().isPresent()) {\n System.out.println(res.accountDirectoryPage().get().total());\n }\n }\n}\n"},{"label":"C#","lang":"csharp","source":"using NoResponse;\nusing NoResponse.Models.Shared;\nusing System;\nusing System.Collections.Generic;\n\nvar sdk = new NoResponseClient(apiKey: Environment.GetEnvironmentVariable(\"NORESPONSE_API_KEY\"));\n\nAccountDirectorySearchRequest req = new AccountDirectorySearchRequest() {\n IdentifierExpression = new IdentifierExpression() {\n Scope = ScopeEnum.Account,\n Expression = new IdentifierExpressionNode() {\n And = new List\u003cIdentifierExpressionNodeLevelTwo>() {\n new IdentifierExpressionNodeLevelTwo() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Phone,\n Value = \"+14155552671\",\n Match = Match.Canonical,\n },\n },\n new IdentifierExpressionNodeLevelTwo() {\n Or = new List\u003cIdentifierExpressionNodeLevelOne>() {\n new IdentifierExpressionNodeLevelOne() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Email,\n Value = \"case@example.com\",\n Match = Match.Exact,\n },\n },\n new IdentifierExpressionNodeLevelOne() {\n Term = new IdentifierSearch() {\n Kind = IdentifierSearchKind.Email,\n Value = \"other@example.com\",\n Match = Match.Exact,\n },\n },\n },\n },\n },\n },\n },\n};\n\nvar res = await sdk.Accounts.SearchAsync(req);\n\n// handle response\n"},{"label":"PHP","lang":"php","source":"\u003c?php\n\ndeclare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse NoResponse;\nuse NoResponse\\Models\\Shared;\n\n$sdk = NoResponse\\NoResponseClient::builder()\n ->setSecurity(\n getenv('NORESPONSE_API_KEY') ?: ''\n )\n ->build();\n\n$request = new Shared\\AccountDirectorySearchRequest(\n identifierExpression: new Shared\\IdentifierExpression(\n scope: Shared\\ScopeEnum::Account,\n expression: new Shared\\IdentifierExpressionNode(\n and: [\n new Shared\\IdentifierExpressionNodeLevelTwo(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Phone,\n value: '+14155552671',\n match: Shared\\MatchT::Canonical,\n ),\n ),\n new Shared\\IdentifierExpressionNodeLevelTwo(\n or: [\n new Shared\\IdentifierExpressionNodeLevelOne(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Email,\n value: 'case@example.com',\n match: Shared\\MatchT::Exact,\n ),\n ),\n new Shared\\IdentifierExpressionNodeLevelOne(\n term: new Shared\\IdentifierSearch(\n kind: Shared\\IdentifierSearchKind::Email,\n value: 'other@example.com',\n match: Shared\\MatchT::Exact,\n ),\n ),\n ],\n ),\n ],\n ),\n ),\n);\n\n$response = $sdk->accounts->search(\n request: $request\n);\n\n$result = $response->result;\n// handle response\n"},{"label":"Ruby","lang":"ruby","source":"require 'noresponse'\n\nModels = ::NoResponse::Models\ns = ::NoResponse::NoResponseClient.new(\n api_key: ENV.fetch('NORESPONSE_API_KEY', '')\n)\n\nreq = Models::Shared::AccountDirectorySearchRequest.new(\n identifier_expression: Models::Shared::IdentifierExpression.new(\n scope: Models::Shared::ScopeEnum::ACCOUNT,\n expression: Models::Shared::IdentifierExpressionNode.new(\n and_: [\n Models::Shared::IdentifierExpressionNodeLevelTwo.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::PHONE,\n value: '+14155552671',\n match: Models::Shared::Match::CANONICAL\n )\n ),\n Models::Shared::IdentifierExpressionNodeLevelTwo.new(\n or_: [\n Models::Shared::IdentifierExpressionNodeLevelOne.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::EMAIL,\n value: 'case@example.com',\n match: Models::Shared::Match::EXACT\n )\n ),\n Models::Shared::IdentifierExpressionNodeLevelOne.new(\n term: Models::Shared::IdentifierSearch.new(\n kind: Models::Shared::IdentifierSearchKind::EMAIL,\n value: 'other@example.com',\n match: Models::Shared::Match::EXACT\n )\n ),\n ]\n ),\n ]\n )\n )\n)\nres = s.accounts.search(request: req)\n\nunless res.nil?\n # handle response\nend\n"}],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.limit":25,"body.identifier.kind":"username","body.identifier.value":"janedoe","body.identifier.match":"canonical","body.identifier.namespace":"customer"}],"disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Observed account directory search","description":"Bounded distinct-account search for one authenticated workspace/environment. identifier matches any retained admitted assessment of an account, including historical submitted values. email preserves the legacy canonical-mailbox filter. identifier and email cannot be combined. All other filters combine using AND. Typed identifier search uses stable opaque account order; ordinary and legacy email searches retain newest-seen ordering. Pages are live, not a cross-page snapshot. Requires history or investigate authority and identifier-read permission for identifier, identifier_expression or email filtering. identifier_expression explicitly chooses scope assessment (one whole matching submission) or account (terms may match different retained submissions of one account). At most 8 raw terms and 3 group levels. Mutually exclusive with identifier and email. Expression search uses the same stable opaque account order as typed identifier search.","example":{"identifier":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"limit":25},"properties":{"needs_action":{"type":"boolean","default":false,"description":"Select accounts with a retained open or in-progress review, or a current review/block account decision with no retained effective account outcome. The server applies this filter before counting and pagination. Requires reviews.read as well as history.read for console members; API keys additionally require management.","uniqueKey":"needs_action","typeLabel":"boolean"},"account_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$","description":"The provider's own opaque identifier for the account being checked, scoped to the calling workspace. It must be provider-opaque and must not contain a direct identifier (email, phone, name, national id): that is a provider obligation the schema can only partly check. '|' is accepted so an Auth0 user id such as 'auth0|64abc' passes unchanged; '@', '+', '$' and whitespace are refused by the pattern, as is an exact-shape JWT; a hex digest such as a SHA-256 is allowed, because hashing an internal id is a common pseudonymous scheme. A value such as '07700900123' or 'jane.doe.gmail.com' cannot be told apart from an opaque id. It travels in bodies, and in a URL only as the path segment of GET /v1/accounts/{account_id}, its /assessments and its /links. An assessment requested by a provider hook at pre_registration, which has no account yet, carries the server-issued account_id pre: followed by its assessment_id.","not":{"description":"refused_text plus secret_encoded, for account_id.","anyOf":[{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},{"description":"Exact shapes only: a complete modular-crypt password hash (bcrypt $2a$/$2b$/$2x$/$2y$ with a two-digit cost and 53 characters; $argon2i/d/id with its m, t, p parameters, salt and hash; md5-crypt $1$, sha256-crypt $5$ or sha512-crypt $6$ with a 22, 43 or 86 character hash; passlib $scrypt$ with ln, r, p, salt and hash) or a three-segment JWT whose header is base64url JSON opening with an \"alg\", \"typ\", \"kid\" or \"cty\" member (eyJhbGciOi, eyJ0eXAiOi, eyJraWQiOi or eyJjdHkiOi). A value that merely starts with '$2' or 'eyJ', such as eyJohnathan.doe.x, is not refused. Best effort, not a guarantee; see the provider obligation in the README.","anyOf":[{"pattern":"^\\$2[abxy]?\\$[0-9]{2}\\$[./A-Za-z0-9]{53}$"},{"pattern":"^\\$argon2(?:id|i|d)\\$(?:v=[0-9]{1,4}\\$)?m=[0-9]{1,10},t=[0-9]{1,10},p=[0-9]{1,3}\\$[A-Za-z0-9+/]{8,}\\$[A-Za-z0-9+/]{16,}$"},{"pattern":"^\\$[156]\\$(?:rounds=[0-9]{1,9}\\$)?[./A-Za-z0-9]{1,16}\\$(?:[./A-Za-z0-9]{22}|[./A-Za-z0-9]{43}|[./A-Za-z0-9]{86})$"},{"pattern":"^\\$scrypt\\$ln=[0-9]{1,2},r=[0-9]{1,3},p=[0-9]{1,3}\\$[A-Za-z0-9+/.]{8,}\\$[A-Za-z0-9+/.]{16,}$"},{"pattern":"^eyJ(?:hbGciOi|0eXAiOi|raWQiOi|jdHkiOi)[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]*$"}]}]},"uniqueKey":"account_id","typeLabel":"string"},"email":{"type":"string","minLength":3,"maxLength":254,"pattern":"^[^\\s\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"description":"Assessments of every account that one of its retained admitted assessments sent this mailbox as identifiers.email, matched as lists match an email entry: case-insensitive, a +tag removed and, at gmail.com and googlemail.com, the dots of the local part ignored. Only assessments stored since email list matching began carry the mailbox. An address that is not a valid mailbox is refused with 400.","uniqueKey":"email","typeLabel":"string"},"email_domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^[^\\s\\x00-\\x1f\\x7f@]+$","not":{"pattern":"\\n"},"description":"Every account that one of its retained admitted assessments sent an email of this domain or its subdomains, matched as lists match an email_domain entry and with the same identifier-read permission as email. A value that is not a registrable domain is refused with 400. Mutually exclusive with email, identifier and identifier_expression.","uniqueKey":"email_domain","typeLabel":"string"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":25,"uniqueKey":"limit","typeLabel":"integer"},"cursor":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^[A-Za-z0-9_-]+$","not":{"pattern":"\\n"},"description":"Opaque, expiring cursor bound to workspace, environment, operation and all filters, including expression scope, ordered structure and original term values. Keep grouping, operand order, matching modes and values unchanged; an omitted match is equivalent to exact. The page limit may change.","uniqueKey":"cursor","typeLabel":"string"},"identifier":{"type":"object","title":"Identifier search","description":"Match a retained assessment's submitted identifier directly. Mutually exclusive with identifier_expression and legacy email. All other supported filters combine using AND.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier","typeLabel":"Identifier search · object"},"identifier_expression":{"title":"Submitted identifier expression","description":"Explicit bounded AND/OR combinations. Mutually exclusive with identifier and legacy email. Other supported filters combine using AND.","type":"object","additionalProperties":false,"required":["scope","expression"],"properties":{"scope":{"type":"string","enum":["assessment","account"],"description":"assessment requires one submission to satisfy the complete expression. account permits witnesses across retained submissions of one account and is supported only by POST /v1/accounts/search. No default: select scope explicitly.","isRequired":true,"uniqueKey":"identifier_expression.scope","typeLabel":"enum\u003cstring>"},"expression":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"oneOf":[{"type":"object","required":["term"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.and","typeLabel":"object[]"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.and","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.term","typeLabel":"Identifier search · object"},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1.or","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["or"],"example":{"term":{"kind":"email","value":"case@example.com","match":"exact"}},"properties":{"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.or","typeLabel":"object[]"},"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.term","typeLabel":"Identifier search · object"},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"type":"object","title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","required":["kind","value"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"},"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.value","typeLabel":"string"},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.","uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.match","typeLabel":"enum\u003cstring>"},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].term","typeLabel":"Identifier search · object"}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"identifier_expression.expression.oneOf.2.and.items.[INDEX]","typeLabel":"object"},"uniqueKey":"identifier_expression.expression.oneOf.2.and","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"identifier_expression.expression.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"identifier_expression.expression","typeLabel":"object"}},"$defs":{"identifier_expression_node":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]},"identifier_expression_node_level_two":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]},"identifier_expression_node_level_one":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]},"and":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"or":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}}},"anyOf":[{"required":["term"]},{"required":["and"]},{"required":["or"]}],"allOf":[{"not":{"required":["term","and"]}},{"not":{"required":["term","or"]}},{"not":{"required":["and","or"]}}],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]},"identifier_expression_leaf":{"type":"object","additionalProperties":false,"properties":{"term":{"title":"Identifier search","description":"One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.","type":"object","additionalProperties":false,"required":["kind","value"],"properties":{"kind":{"type":"string","enum":["email","phone","username"]},"value":{"type":"string","minLength":1,"maxLength":254,"description":"The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.","pattern":"^[^\\x00-\\x1f\\x7f]+$","not":{"pattern":"\\n"}},"match":{"type":"string","enum":["exact","canonical","mailbox"],"default":"exact","description":"exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists."},"namespace":{"type":"string","enum":["customer"],"description":"Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone."}},"allOf":[{"if":{"properties":{"kind":{"const":"username"}},"required":["kind"]},"then":{"required":["namespace"],"properties":{"value":{"maxLength":64}}},"else":{"not":{"required":["namespace"]}}},{"if":{"properties":{"match":{"const":"mailbox"}},"required":["match"]},"then":{"properties":{"kind":{"const":"email"}}}},{"if":{"properties":{"kind":{"const":"phone"}},"required":["kind"]},"then":{"properties":{"value":{"maxLength":64}}}}],"examples":[{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},{"kind":"email","value":"Jane.Doe+case@example.com","match":"canonical"},{"kind":"phone","value":"+1 (415) 555-2671","match":"canonical"}]}},"required":["term"],"examples":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}}]}},"examples":[{"scope":"assessment","expression":{"and":[{"term":{"kind":"phone","value":"+14155552671","match":"canonical"}},{"or":[{"term":{"kind":"email","value":"case@example.com","match":"exact"}},{"term":{"kind":"email","value":"other@example.com","match":"exact"}}]}]}}],"uniqueKey":"identifier_expression","typeLabel":"Submitted identifier expression · object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Observed account directory search · object"},"examples":{"Example":{"title":"Example","value":{"identifier":{"kind":"username","value":"janedoe","match":"canonical","namespace":"customer"},"limit":25}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8bfcd09e-24a5-425c-a5d1-6c6cdf617643":{"description":"Account-level paginated search results","content":{"application/json":{"schema":{"title":"Observed account directory page","description":"Distinct observed accounts with retained assessments. Typed identifier searches use stable opaque account order, independent of newly submitted assessments; ordinary and legacy email searches use newest-seen order. One repeatable-read database snapshot supplies each page's rows and totals. Pages do not share a snapshot: new matching accounts may appear on a later page or before the cursor and be missed until a fresh search; retention, erasure and changed membership can remove results. Current account decisions are read separately and may advance during a page. Cursors bind the workspace/environment, operation and filters, expire, and cannot cross scopes. Erasure and retention always take precedence over pagination.","type":"object","additionalProperties":false,"required":["schema_version","items","total","total_capped"],"properties":{"schema_version":{"const":"1","description":"Version of the body shape.","isRequired":true,"uniqueKey":"schema_version","typeLabel":"any"},"items":{"type":"array","maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["account_id","latest","assessments"],"properties":{"account_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$","description":"The provider's own opaque identifier for the account being checked, scoped to the calling workspace. It must be provider-opaque and must not contain a direct identifier (email, phone, name, national id): that is a provider obligation the schema can only partly check. '|' is accepted so an Auth0 user id such as 'auth0|64abc' passes unchanged; '@', '+', '$' and whitespace are refused by the pattern, as is an exact-shape JWT; a hex digest such as a SHA-256 is allowed, because hashing an internal id is a common pseudonymous scheme. A value such as '07700900123' or 'jane.doe.gmail.com' cannot be told apart from an opaque id. It travels in bodies, and in a URL only as the path segment of GET /v1/accounts/{account_id}, its /assessments and its /links. An assessment requested by a provider hook at pre_registration, which has no account yet, carries the server-issued account_id pre: followed by its assessment_id.","not":{"description":"refused_text plus secret_encoded, for account_id.","anyOf":[{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},{"description":"Exact shapes only: a complete modular-crypt password hash (bcrypt $2a$/$2b$/$2x$/$2y$ with a two-digit cost and 53 characters; $argon2i/d/id with its m, t, p parameters, salt and hash; md5-crypt $1$, sha256-crypt $5$ or sha512-crypt $6$ with a 22, 43 or 86 character hash; passlib $scrypt$ with ln, r, p, salt and hash) or a three-segment JWT whose header is base64url JSON opening with an \"alg\", \"typ\", \"kid\" or \"cty\" member (eyJhbGciOi, eyJ0eXAiOi, eyJraWQiOi or eyJjdHkiOi). A value that merely starts with '$2' or 'eyJ', such as eyJohnathan.doe.x, is not refused. Best effort, not a guarantee; see the provider obligation in the README.","anyOf":[{"pattern":"^\\$2[abxy]?\\$[0-9]{2}\\$[./A-Za-z0-9]{53}$"},{"pattern":"^\\$argon2(?:id|i|d)\\$(?:v=[0-9]{1,4}\\$)?m=[0-9]{1,10},t=[0-9]{1,10},p=[0-9]{1,3}\\$[A-Za-z0-9+/]{8,}\\$[A-Za-z0-9+/]{16,}$"},{"pattern":"^\\$[156]\\$(?:rounds=[0-9]{1,9}\\$)?[./A-Za-z0-9]{1,16}\\$(?:[./A-Za-z0-9]{22}|[./A-Za-z0-9]{43}|[./A-Za-z0-9]{86})$"},{"pattern":"^\\$scrypt\\$ln=[0-9]{1,2},r=[0-9]{1,3},p=[0-9]{1,3}\\$[A-Za-z0-9+/.]{8,}\\$[A-Za-z0-9+/.]{16,}$"},{"pattern":"^eyJ(?:hbGciOi|0eXAiOi|raWQiOi|jdHkiOi)[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]*$"}]}]},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].account_id","typeLabel":"string"},"latest":{"title":"Historical assessment revision","description":"One stored assessment revision with its original decision, policy, flow and depth. Never re-scored and never paired with current account risk. Current retention and detailed-scope restrictions still apply.","type":"object","additionalProperties":false,"required":["schema_version","id","status","flow","depth","detail"],"properties":{"schema_version":{"const":"1","description":"Version of the body shape.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.schema_version","typeLabel":"any"},"id":{"type":"string","pattern":"^asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"This assessment's id, equal to detail.assessment_id.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.id","typeLabel":"string"},"status":{"enum":["complete","partial","pending"],"description":"The status of this exact stored revision.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.status","typeLabel":"enum\u003cstring>"},"flow":{"enum":["account_creation","login","purchase"],"description":"The flow that created the assessment.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.flow","typeLabel":"enum\u003cstring>"},"depth":{"enum":["quick","full"],"description":"The depth the assessment was served at: the request's, or its flow's default. An assessment made before depths existed reports full.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.depth","typeLabel":"enum\u003cstring>"},"detail":{"type":"object","title":"Assessment detail","description":"This assessment's own facts: its score, recommendation, signals, coverage and timing.","required":["schema_version","assessment_id","account_id","status","confidence","incomplete_sources","policy_version","policy_basis","assessment_version","created_at","updated_at","expires_at","timing"],"conditionallyRequiredProperties":{"recommendation":[{"when":[[{"property":"status","values":["complete"]}]]},{"when":[[{"property":"status","values":["partial"]}]]}],"assessment_url":[{"when":[[{"property":"status","values":["pending"]}]]}],"signals":[{}]},"properties":{"schema_version":{"const":"1","description":"Version of the body shape.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.schema_version","typeLabel":"any"},"assessment_id":{"type":"string","pattern":"^asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.assessment_id","typeLabel":"string"},"account_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$","description":"The provider's own opaque identifier for the account being checked, scoped to the calling workspace. It must be provider-opaque and must not contain a direct identifier (email, phone, name, national id): that is a provider obligation the schema can only partly check. '|' is accepted so an Auth0 user id such as 'auth0|64abc' passes unchanged; '@', '+', '$' and whitespace are refused by the pattern, as is an exact-shape JWT; a hex digest such as a SHA-256 is allowed, because hashing an internal id is a common pseudonymous scheme. A value such as '07700900123' or 'jane.doe.gmail.com' cannot be told apart from an opaque id. It travels in bodies, and in a URL only as the path segment of GET /v1/accounts/{account_id}, its /assessments and its /links. An assessment requested by a provider hook at pre_registration, which has no account yet, carries the server-issued account_id pre: followed by its assessment_id.","not":{"description":"refused_text plus secret_encoded, for account_id.","anyOf":[{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},{"description":"Exact shapes only: a complete modular-crypt password hash (bcrypt $2a$/$2b$/$2x$/$2y$ with a two-digit cost and 53 characters; $argon2i/d/id with its m, t, p parameters, salt and hash; md5-crypt $1$, sha256-crypt $5$ or sha512-crypt $6$ with a 22, 43 or 86 character hash; passlib $scrypt$ with ln, r, p, salt and hash) or a three-segment JWT whose header is base64url JSON opening with an \"alg\", \"typ\", \"kid\" or \"cty\" member (eyJhbGciOi, eyJ0eXAiOi, eyJraWQiOi or eyJjdHkiOi). A value that merely starts with '$2' or 'eyJ', such as eyJohnathan.doe.x, is not refused. Best effort, not a guarantee; see the provider obligation in the README.","anyOf":[{"pattern":"^\\$2[abxy]?\\$[0-9]{2}\\$[./A-Za-z0-9]{53}$"},{"pattern":"^\\$argon2(?:id|i|d)\\$(?:v=[0-9]{1,4}\\$)?m=[0-9]{1,10},t=[0-9]{1,10},p=[0-9]{1,3}\\$[A-Za-z0-9+/]{8,}\\$[A-Za-z0-9+/]{16,}$"},{"pattern":"^\\$[156]\\$(?:rounds=[0-9]{1,9}\\$)?[./A-Za-z0-9]{1,16}\\$(?:[./A-Za-z0-9]{22}|[./A-Za-z0-9]{43}|[./A-Za-z0-9]{86})$"},{"pattern":"^\\$scrypt\\$ln=[0-9]{1,2},r=[0-9]{1,3},p=[0-9]{1,3}\\$[A-Za-z0-9+/.]{8,}\\$[A-Za-z0-9+/.]{16,}$"},{"pattern":"^eyJ(?:hbGciOi|0eXAiOi|raWQiOi|jdHkiOi)[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]*$"}]}]},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.account_id","typeLabel":"string"},"status":{"enum":["complete","partial","pending"],"description":"Processing state, separate from evidence coverage. complete: final; nothing is still running, but unsupported, failed or unanswered lanes remain in incomplete_sources. partial: a recommendation exists and evidence is incomplete; assessment_url identifies continuing work when present. pending: no recommendation yet; poll or wait for the webhook. Finished processing does not mean all sources answered.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.status","typeLabel":"enum\u003cstring>"},"confidence":{"enum":["low","medium","high","unavailable"],"description":"Evidence coverage: how much of the planned source evidence gave a definite answer. This is not confidence that an identity is genuine, agreement between identifiers, a risk score or a probability. unavailable means no usable evidence answered; a terminal uncovered assessment can have this value and recommend review.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.confidence","typeLabel":"enum\u003cstring>"},"incomplete_sources":{"type":"array","maxItems":256,"items":{"type":"object","additionalProperties":false,"required":["lane","reason"],"description":"One lane with missing evidence and why. It can mean unsupported input, source failure or unfinished work. It names a lane, never a source: detailed signals distinguish the source-identifier pairs behind it. A lane is listed once. A complete assessment can retain missing lanes; completion never establishes a successful search. A lane that missed its deadline is timed_out, never not_found.","properties":{"lane":{"enum":["accounts","phone","breach","domain","ip"],"description":"An evidence lane: accounts (account presence for email and username), phone, breach, domain (the email domain's registration) and ip.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.incomplete_sources.items.[INDEX].lane","typeLabel":"enum\u003cstring>"},"reason":{"enum":["timed_out","rate_limited","blocked","source_error","unavailable","deferred"],"description":"Why a lane did not settle. insufficient_evidence is a settled verdict (an inconclusive signal), never a reason to list a lane as incomplete. deferred means the lane is async-only and still running; a continuation settles it. timed_out means the lane missed its deadline.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.incomplete_sources.items.[INDEX].reason","typeLabel":"enum\u003cstring>"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.incomplete_sources.items.[INDEX]","typeLabel":"object"},"description":"The lanes that did not settle, each listed once with a reason; never a source. In a detailed view a lane is listed exactly when one of its signals did not settle; a standard view carries no signals to match.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.incomplete_sources","typeLabel":"object[]"},"policy_version":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9][a-z0-9._-]{0,63}(\\+t[1-9][0-9]{0,8})?$","description":"Version of the hand-authored heuristic policy that produced the recommendation, for example 'risk-2026-10.7'. A workspace threshold override adds a +t\u003cN> suffix, e.g. 'risk-2026-10.7+t3'.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.policy_version","typeLabel":"string"},"policy_basis":{"const":"heuristic_unvalidated","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.policy_basis","typeLabel":"any"},"assessment_version":{"type":"integer","minimum":1,"maximum":1000,"description":"Monotonic revision of this assessment. 1 on the synchronous answer; each material change while the assessment is served (an async continuation settling a source, a change of recommendation, confidence or status) increments it. Expiry does not increment it: an expired assessment is gone, not revised, and the expiry webhook carries the last served version.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.assessment_version","typeLabel":"integer"},"created_at":{"type":"string","format":"date-time","description":"When the assessment was created. Fixed for the life of the assessment: every revision carries the same created_at.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.updated_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"type":"string","format":"date-time","description":"After this instant the assessment is no longer served: GET /v1/assessments/{assessment_id} answers 404 and it leaves the account history. It is created_at plus the workspace's retention period at creation (default 365 days, at most 365). Fixed per record: a later async revision never extends it, and a new assessment for the same account never renews an older one. If the workspace later shortens retention, the effective expiry becomes created_at + min(retention at creation, current retention).","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.expires_at","typeLabel":"string\u003cdate-time>"},"timing":{"type":"object","additionalProperties":false,"required":["deadline_ms","elapsed_ms"],"properties":{"deadline_ms":{"type":"integer","minimum":50,"maximum":3000,"description":"The budget the server applied to the synchronous answer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.timing.deadline_ms","typeLabel":"integer"},"elapsed_ms":{"type":"integer","minimum":0,"maximum":600000,"description":"Server time from HTTP ingress to this revision of the assessment.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.timing.elapsed_ms","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.timing","typeLabel":"object"},"identifiers":{"type":"object","additionalProperties":false,"minProperties":1,"description":"The identifiers this assessment was sent, exactly as received. Served only to a key holding the history scope, on GET /v1/assessments/{assessment_id} and every history read: an exact version, search, the account's assessments and its export. Absent from the POST /v1/assessments answer (the caller holds what it sent), from every webhook, for a key without the history scope, and for an assessment made before NoResponse kept them.","properties":{"email":{"type":"string","minLength":3,"maxLength":254,"description":"identifiers.email as the request sent it.","uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers.email","typeLabel":"string"},"username":{"type":"string","minLength":1,"maxLength":64,"description":"identifiers.username as the request sent it.","uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers.username","typeLabel":"string"},"phone":{"type":"string","minLength":9,"maxLength":16,"description":"identifiers.phone as the request sent it.","uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers.phone","typeLabel":"string"},"name":{"type":"string","minLength":1,"maxLength":128,"description":"identifiers.name as the request sent it, before NFC normalisation.","uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers.name","typeLabel":"string"},"ip":{"type":"string","minLength":2,"maxLength":39,"description":"identifiers.ip as the request sent it.","uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers.ip","typeLabel":"string"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.identifiers","typeLabel":"object"},"request_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","description":"An optional provider correlation id, echoed back. It is not an idempotency key. Refuses an exact-shape JWT or a bare 40, 64 or 128 character hex digest; a UUID is accepted.","not":{"description":"refused_text plus secret_hex_digest and secret_encoded, for request_id and username.","anyOf":[{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},{"description":"Exactly 40, 64 or 128 hex characters (SHA-1, SHA-256, SHA-512) and nothing else. Refused in username and request_id, where such a value is almost certainly a credential hash; a 39 or 41 character hex string, a short hex word such as 'deadbeef' or a UUID is accepted. Not refused in account_id: a hex digest of an internal id is a common pseudonymous account id and not a secret under.","pattern":"^(?:[0-9A-Fa-f]{40}|[0-9A-Fa-f]{64}|[0-9A-Fa-f]{128})$"},{"description":"Exact shapes only: a complete modular-crypt password hash (bcrypt $2a$/$2b$/$2x$/$2y$ with a two-digit cost and 53 characters; $argon2i/d/id with its m, t, p parameters, salt and hash; md5-crypt $1$, sha256-crypt $5$ or sha512-crypt $6$ with a 22, 43 or 86 character hash; passlib $scrypt$ with ln, r, p, salt and hash) or a three-segment JWT whose header is base64url JSON opening with an \"alg\", \"typ\", \"kid\" or \"cty\" member (eyJhbGciOi, eyJ0eXAiOi, eyJraWQiOi or eyJjdHkiOi). A value that merely starts with '$2' or 'eyJ', such as eyJohnathan.doe.x, is not refused. Best effort, not a guarantee; see the provider obligation in the README.","anyOf":[{"pattern":"^\\$2[abxy]?\\$[0-9]{2}\\$[./A-Za-z0-9]{53}$"},{"pattern":"^\\$argon2(?:id|i|d)\\$(?:v=[0-9]{1,4}\\$)?m=[0-9]{1,10},t=[0-9]{1,10},p=[0-9]{1,3}\\$[A-Za-z0-9+/]{8,}\\$[A-Za-z0-9+/]{16,}$"},{"pattern":"^\\$[156]\\$(?:rounds=[0-9]{1,9}\\$)?[./A-Za-z0-9]{1,16}\\$(?:[./A-Za-z0-9]{22}|[./A-Za-z0-9]{43}|[./A-Za-z0-9]{86})$"},{"pattern":"^\\$scrypt\\$ln=[0-9]{1,2},r=[0-9]{1,3},p=[0-9]{1,3}\\$[A-Za-z0-9+/.]{8,}\\$[A-Za-z0-9+/.]{16,}$"},{"pattern":"^eyJ(?:hbGciOi|0eXAiOi|raWQiOi|jdHkiOi)[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]*$"}]}]},"uniqueKey":"\\items.items.[INDEX].latest.detail.request_id","typeLabel":"string"},"recommendation":{"enum":["allow","step_up","review"],"description":"Advisory only. The provider decides and enforces.","type":"string","conditionalRequirements":[{"when":[[{"property":"status","values":["complete"]}]]},{"when":[[{"property":"status","values":["partial"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.recommendation","typeLabel":"enum\u003cstring>"},"risk":{"type":"object","description":"the one risk decision for this assessment. score is 0 (safe) to 100 (risky), set by the reasons that fired under a hand-set, versioned policy. The policy's weights are not published: each reason carries its direction and a coarse impact band instead. Every served answer with a recommendation carries it, and there the top-level recommendation equals risk.recommendation. block is true from the workspace's block threshold (block_threshold), off by default. It names no source or provider.","required":["score","band","recommendation","confidence","policy_version","policy_basis","reasons","coverage"],"conditionallyRequiredProperties":{"block_threshold":[{"when":[[{"property":"block","values":[true]}]]}]},"properties":{"score":{"type":"integer","minimum":0,"maximum":100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.score","typeLabel":"integer"},"band":{"enum":["low","medium","high","critical"],"description":"low 0-29, medium 30-59, high 60-84, critical 85-100.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.band","typeLabel":"enum\u003cstring>"},"recommendation":{"enum":["allow","step_up","review"],"description":"Advisory only. The provider decides and enforces.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.recommendation","typeLabel":"enum\u003cstring>"},"confidence":{"enum":["low","medium","high"],"description":"How much of the planned evidence answered; it says nothing about risk.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.confidence","typeLabel":"enum\u003cstring>"},"policy_version":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9][a-z0-9._-]{0,63}(\\+t[1-9][0-9]{0,8})?$","description":"Version of the hand-authored heuristic policy that produced the recommendation, for example 'risk-2026-10.7'. A workspace threshold override adds a +t\u003cN> suffix, e.g. 'risk-2026-10.7+t3'.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.policy_version","typeLabel":"string"},"policy_basis":{"const":"heuristic_unvalidated","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.policy_basis","typeLabel":"any"},"reasons":{"type":"array","maxItems":32,"description":"Every reason that fired: risk-raising reasons first, then neutral, then risk-lowering, each strongest impact band first and then by code. The policy's numeric weights are kept private, so a reason carries only its direction and impact band.","items":{"type":"object","additionalProperties":false,"description":"One reason that fired. direction is whether it raises or lowers the score, or is neutral (informational, it moves nothing). impact is a coarse band of how much it moves the score: none for a neutral reason, otherwise low, medium or high.","required":["code","direction","impact"],"properties":{"code":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A risk reason from the reviewed list. new_email is retained only for historical decisions: it never measured email age and is no longer emitted. no_email_matches is neutral and requires explicit, complete no-match answers from supported account and breach searches for the email; unsupported, failed, partial or running searches cannot establish it. no_breach_history is neutral and records only a complete email breach search with no matches, independently of account coverage. no_digital_footprint keeps its existing weight for confirmed absence across the searched account and breach families; no extra age proxy is added. old_breach_history and consistent_identity were replaced by the breach codes (aged_identity, breach_name_match, breach_cooccurrence and the mismatches) and are refused. young_email_domain, email_domain_no_mx and email_domain_nonexistent describe the email's domain (the deferred RDAP registration age and the request-time mail answer: email_domain_no_mx means a null MX, or neither an MX nor an address record); a lookup that failed writes nothing and fires none of them. forum_sanctioned and prior_payment_abuse describe the conduct the email's or username's breach rows record: a forum ban, warning or infraction, and recorded chargebacks or many declined payments. ip_history_match means the signup IP is one the email's or username's own breach rows used, from a typed address that is no proxy or hosting network, once the address's own breach search found fewer than twenty people. identity_attribute_conflict means independent breach records and profiles disagree on the birth date, gender or nationality, or the breach gender differs from the submitted first name's usual one; impossible_identity_age means the email address appears in breach records from before, or soon after, the birth date they report, or that birth date is 110 or more years ago; nationality_mismatch means the breach nationality's country differs from three or more of the IP, phone, timezone and locale countries; minor_identity flags a breach birth date under 18 years ago. breach_city_match means two or more breach tables give the city of the IP, from a typed address that is no proxy, hosting or mobile network. breach_city_mismatch is neutral: the breach records give one city and the IP country, and the IP is in a different city, under the same conditions; a missing IP city or a name that cannot be compared makes no claim. breach_shared_ip means the signup IP's own breach records hold five or more different people besides the signup, from a typed address that is no proxy or hosting network; one record's emails and usernames are one person. Mobile carrier addresses are not yet detected. test_scenario appears only on an assessment made with a test key (nrk_test_), which the deterministic simulator answers: its impact is the scenario the magic email or phone chose, and none for any other identifier. A live assessment never carries it. shared_api_key is an account reason, never an assessment one: it appears only in the risk of GET /v1/accounts/{account_id} and the account an assessment carries, when a key your account creation gate issued to the account (issued_credential.sha256) was used from many IP addresses or countries within 24 hours (POST /v1/keys/usage). list_match is an account reason too: one of the account's admitted assessments sent an email, or an email of a domain, on the environment's list (GET /v1/workspaces/{workspace_id}/lists/{environment}). It names the entry in list_entry_id; it raises for a block entry and lowers for an allow entry, and it decides the account whatever the score, which it leaves unchanged. reported_account_abuse is an account-only, tenant-local assertion from a known abuse outcome; it is not independently corroborated evidence and is withdrawn by a correction of that report.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"direction":{"enum":["raises","lowers","neutral"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"impact":{"enum":["none","low","medium","high"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX].impact","typeLabel":"enum\u003cstring>"},"identifier":{"enum":["email","username","phone","name","ip","context"],"description":"The submitted identifier or bounded client context a reason concerns; absent when it concerns the whole assessment. Context is a claimed, untrusted hint and never a device fingerprint.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX].identifier","typeLabel":"enum\u003cstring>"},"list_entry_id":{"type":"string","pattern":"^lst_[0-7][0-9A-HJKMNP-TV-Z]{25}$","description":"The list entry a list_match reason applied. No other reason carries it.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX].list_entry_id","typeLabel":"string"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.reasons","typeLabel":"object[]"},"coverage":{"type":"object","additionalProperties":false,"required":["answered","failed","pending"],"description":"Counts of planned source-identifier pairs by evidence outcome, deduplicated across signals and incomplete entries. These counts do not measure identity agreement or prove that processing is still running. A lane that was not searched is not an answered source.","properties":{"answered":{"type":"integer","minimum":0,"description":"Source-identifier pairs that gave a definite found or not_found answer.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.coverage.answered","typeLabel":"integer"},"failed":{"type":"integer","minimum":0,"description":"Source-identifier pairs that could not answer, including unsupported coverage markers and source failures. Read detailed signals to distinguish Not covered from Failed.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.coverage.failed","typeLabel":"integer"},"pending":{"type":"integer","minimum":0,"description":"Source-identifier pairs with deferred or timed_out evidence. A terminal timeout can remain here after processing finishes; use assessment status and continuation metadata to determine whether work is still running.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.coverage.pending","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.coverage","typeLabel":"object"},"block":{"type":"boolean","description":"true when the workspace's block threshold is set and score reached it. A provider hook can deny the account creation on it; the provider decides and enforces. It does not change recommendation. It is false while blocking is off, the default, and a body from before the flag existed omits it: read absent as false.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.block","typeLabel":"boolean"},"block_threshold":{"type":"integer","minimum":1,"maximum":100,"description":"The block threshold this answer used: block is true exactly when score is at least this value. Absent while blocking is off. NoResponse sets it per workspace on request, at or above the review threshold.","conditionalRequirements":[{"when":[[{"property":"block","values":[true]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.block_threshold","typeLabel":"integer"},"step_up_threshold":{"type":"integer","minimum":1,"maximum":100,"description":"The score at which this answer's flow starts to recommend step_up. Absent from an answer stored before it was recorded.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.step_up_threshold","typeLabel":"integer"},"review_threshold":{"type":"integer","minimum":1,"maximum":100,"description":"The score at which this answer's flow starts to recommend review. An answer nothing answered recommends review below it, with confidence unavailable. Absent from an answer stored before it was recorded.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.review_threshold","typeLabel":"integer"},"summary":{"type":"object","additionalProperties":false,"properties":{"phone":{"type":"object","additionalProperties":false,"properties":{"line_type":{"enum":["mobile","voip","landline","toll_free","other"],"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.phone.line_type","typeLabel":"enum\u003cstring>"},"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"pattern":"\\n"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.phone.country","typeLabel":"string"},"report_count":{"type":"integer","minimum":0,"description":"Highest report count any source gave for the number.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.phone.report_count","typeLabel":"integer"},"carrier":{"type":"string","minLength":1,"maxLength":128,"description":"Carrier-network metadata from privately weighted sources; not upstream provider attribution.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.phone.carrier","typeLabel":"string"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.phone","typeLabel":"object"},"email":{"type":"object","additionalProperties":false,"properties":{"disposable":{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.disposable","typeLabel":"boolean"},"accounts_found":{"type":"integer","minimum":0,"description":"Accounts found for the email.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.accounts_found","typeLabel":"integer"},"breach":{"type":"object","description":"Breach facts for the email. Replaces the boolean breached.","required":["found"],"properties":{"found":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.found","typeLabel":"boolean"},"breach_count":{"type":"integer","minimum":0,"description":"Distinct breach tables the value appears in.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.breach_count","typeLabel":"integer"},"first_year":{"type":"integer","minimum":1970,"maximum":2100,"description":"Year of the oldest dated table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.first_year","typeLabel":"integer"},"last_year":{"type":"integer","minimum":1970,"maximum":2100,"description":"Year of the newest dated table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.last_year","typeLabel":"integer"},"exposed":{"type":"array","maxItems":11,"items":{"enum":["email","username","name","password","password_hash","phone","address","dob","ip","payment","security_qa"],"description":"A kind of data a breach table held next to the identifier. password means a plaintext password was present; NoResponse never stores it and never says what it was. password_hash means a hash, salt or token was present. A value, never: the schema has no member for one.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.exposed.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The union of data kinds the matching tables held, never the values.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.exposed","typeLabel":"enum\u003cstring>[]"},"in_credential_lists":{"type":"boolean","description":"The value is in a credential_list or stealer_log table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.in_credential_lists","typeLabel":"boolean"},"recent_password_exposure":{"type":"boolean","description":"A plaintext password sat next to the value in a table dated two years ago or less, or the value is in a stealer_log table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.recent_password_exposure","typeLabel":"boolean"},"truncated":{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach.truncated","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email.breach","typeLabel":"object"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.email","typeLabel":"object"},"username":{"type":"object","additionalProperties":false,"properties":{"accounts_found":{"type":"integer","minimum":0,"description":"Accounts found for the username.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.accounts_found","typeLabel":"integer"},"breach":{"type":"object","description":"Breach facts for the username.","required":["found"],"properties":{"found":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.found","typeLabel":"boolean"},"breach_count":{"type":"integer","minimum":0,"description":"Distinct breach tables the value appears in.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.breach_count","typeLabel":"integer"},"first_year":{"type":"integer","minimum":1970,"maximum":2100,"description":"Year of the oldest dated table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.first_year","typeLabel":"integer"},"last_year":{"type":"integer","minimum":1970,"maximum":2100,"description":"Year of the newest dated table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.last_year","typeLabel":"integer"},"exposed":{"type":"array","maxItems":11,"items":{"enum":["email","username","name","password","password_hash","phone","address","dob","ip","payment","security_qa"],"description":"A kind of data a breach table held next to the identifier. password means a plaintext password was present; NoResponse never stores it and never says what it was. password_hash means a hash, salt or token was present. A value, never: the schema has no member for one.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.exposed.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The union of data kinds the matching tables held, never the values.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.exposed","typeLabel":"enum\u003cstring>[]"},"in_credential_lists":{"type":"boolean","description":"The value is in a credential_list or stealer_log table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.in_credential_lists","typeLabel":"boolean"},"recent_password_exposure":{"type":"boolean","description":"A plaintext password sat next to the value in a table dated two years ago or less, or the value is in a stealer_log table.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.recent_password_exposure","typeLabel":"boolean"},"truncated":{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach.truncated","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username.breach","typeLabel":"object"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.username","typeLabel":"object"},"ip":{"type":"object","additionalProperties":false,"description":"Facts about the submitted IP from the offline database and this workspace's own recent assessments. Every member is optional; absent makes no claim.","properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"description":"ISO 3166-1 alpha-2 country of the address.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.ip.country","typeLabel":"string"},"type":{"enum":["residential","hosting","vpn","proxy","tor","mobile","unknown"],"description":"The address's network type.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.ip.type","typeLabel":"enum\u003cstring>"},"asn":{"type":"integer","minimum":1,"maximum":4294967295,"description":"Autonomous system number of the network that announces the address, from the offline database. Absent when unknown.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.ip.asn","typeLabel":"integer"},"seen_in_workspace":{"type":"integer","minimum":0,"description":"Assessments in this workspace with the same IP in the last 24 hours, this one included. A count only.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.ip.seen_in_workspace","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.ip","typeLabel":"object"},"consistency":{"type":"object","additionalProperties":false,"description":"Cross-identifier agreement, computed from facts only. Every member is optional; absent makes no claim.","properties":{"name":{"enum":["match","partial","mismatch","unknown"],"description":"The submitted name against breach names and caller-ID names.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.consistency.name","typeLabel":"enum\u003cstring>"},"phone":{"enum":["match","partial","mismatch","unknown"],"description":"The submitted phone against numbers found next to the email in breach records.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.consistency.phone","typeLabel":"enum\u003cstring>"},"ip":{"enum":["match","partial","mismatch","unknown"],"description":"The submitted IP against IPs found next to the email or username in breach records.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.consistency.ip","typeLabel":"enum\u003cstring>"},"country":{"enum":["consistent","mismatch","unknown"],"description":"IP country, phone country, breach countries and policy_context.region together. When the breach records give a country, the timezone and locale countries count too. The IP country of a proxy or hosting network does not count.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.consistency.country","typeLabel":"enum\u003cstring>"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.consistency","typeLabel":"object"},"footprint":{"type":"object","additionalProperties":false,"description":"How long and how widely the signup's email and username have existed, and how far independent sources agree on the person behind them, in years and counts only. families are the kinds of evidence that found either identifier. Omitted when nothing found them: a footprint lookup that failed makes no claim, and absence is no_digital_footprint's to state.","required":["families"],"properties":{"families":{"type":"array","uniqueItems":true,"items":{"enum":["account_presence","auth_provider","breach","breach_abuse","code_hosting"],"description":"The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile).","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.families.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.families","typeLabel":"enum\u003cstring>[]"},"email":{"type":"object","additionalProperties":false,"description":"One identifier's dated footprint across every source: the first and last year any event was seen, the years between them, the latest year a source dated activity (omitted when none did), how many distinct sites and which kinds of evidence saw it.","required":["first_seen_year","last_seen_year","span_years","sites","families"],"properties":{"first_seen_year":{"type":"integer","minimum":1970,"maximum":2100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.first_seen_year","typeLabel":"integer"},"last_seen_year":{"type":"integer","minimum":1970,"maximum":2100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.last_seen_year","typeLabel":"integer"},"span_years":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.span_years","typeLabel":"integer"},"sites":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.sites","typeLabel":"integer"},"families":{"type":"array","uniqueItems":true,"items":{"enum":["account_presence","auth_provider","breach","breach_abuse","code_hosting"],"description":"The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile).","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.families.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.families","typeLabel":"enum\u003cstring>[]"},"last_active_year":{"type":"integer","minimum":1970,"maximum":2100,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email.last_active_year","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.email","typeLabel":"object"},"username":{"type":"object","additionalProperties":false,"description":"One identifier's dated footprint across every source: the first and last year any event was seen, the years between them, the latest year a source dated activity (omitted when none did), how many distinct sites and which kinds of evidence saw it.","required":["first_seen_year","last_seen_year","span_years","sites","families"],"properties":{"first_seen_year":{"type":"integer","minimum":1970,"maximum":2100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.first_seen_year","typeLabel":"integer"},"last_seen_year":{"type":"integer","minimum":1970,"maximum":2100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.last_seen_year","typeLabel":"integer"},"span_years":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.span_years","typeLabel":"integer"},"sites":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.sites","typeLabel":"integer"},"families":{"type":"array","uniqueItems":true,"items":{"enum":["account_presence","auth_provider","breach","breach_abuse","code_hosting"],"description":"The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile).","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.families.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.families","typeLabel":"enum\u003cstring>[]"},"last_active_year":{"type":"integer","minimum":1970,"maximum":2100,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username.last_active_year","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.username","typeLabel":"object"},"coherence":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"birth_date":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.birth_date.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.birth_date.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.birth_date.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.birth_date","typeLabel":"object"},"gender":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.gender.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.gender.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.gender.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.gender","typeLabel":"object"},"nationality":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.nationality.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.nationality.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.nationality.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.nationality","typeLabel":"object"},"country":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.country.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.country.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.country.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.country","typeLabel":"object"},"city":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.city.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.city.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.city.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.city","typeLabel":"object"},"zip":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.zip.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.zip.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.zip.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.zip","typeLabel":"object"},"name":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.name.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.name.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.name.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.name","typeLabel":"object"},"company":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.company.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.company.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.company.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.company","typeLabel":"object"},"website":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.website.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.website.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.website.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.website","typeLabel":"object"},"social":{"type":"object","additionalProperties":false,"description":"How far independent sources agree on one attribute: values is the number of distinct values reported, support the tables and profiles reporting any, and agreement match (one value), partial (the most reported value holds more than half the support) or mismatch. The values themselves are not served.","required":["agreement","values","support"],"properties":{"agreement":{"enum":["match","partial","mismatch"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.social.agreement","typeLabel":"enum\u003cstring>"},"values":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.social.values","typeLabel":"integer"},"support":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.social.support","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence.social","typeLabel":"object"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint.coherence","typeLabel":"object"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary.footprint","typeLabel":"object"}},"description":"A few typed facts per identifier. Every fact is optional: absent means the evidence did not answer and makes no claim, while false or 0 is a definite answer. Lanes that do not exist yet leave their members absent.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.summary","typeLabel":"object"},"details":{"type":"object","additionalProperties":false,"description":"Detailed view only (response_mode=detailed, which needs the detailed scope); a standard answer never carries it. Merged observations: no provider, source, origin, raw breach record, value or score.","properties":{"phone_names":{"type":"array","maxItems":32,"items":{"type":"object","additionalProperties":false,"required":["value","seen_by"],"properties":{"value":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.phone_names.items.[INDEX].value","typeLabel":"string"},"seen_by":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.phone_names.items.[INDEX].seen_by","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.phone_names.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.phone_names","typeLabel":"object[]"},"breaches":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name","kind","matched_on"],"description":"One breach table that matched, detailed view only. No member carries a record, value, password or hash.","properties":{"name":{"type":"string","minLength":1,"maxLength":128,"not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].name","typeLabel":"string"},"kind":{"enum":["site_breach","credential_list","stealer_log","scrape","hacking_forum","abuse_service","darkweb_site"],"description":"Who is in the table: site_breach, a site's own users; credential_list, a combolist or compilation; stealer_log, malware or botnet victims; scrape; hacking_forum, a criminal hacking, cracking or carding community; abuse_service, the customers of DDoS-for-hire, account generators, dump or card shops, darknet markets, stalkerware or breach-lookup services; darkweb_site, an onion site of unknown purpose.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"matched_on":{"enum":["email","username","ip"],"description":"The submitted email or username whose own search matched the table. The phone is never searched. A submitted full name is searched as well, and what that search finds feeds the identity's facts and reasons rather than this list.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].matched_on","typeLabel":"enum\u003cstring>"},"domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"description":"The breached site's domain, lower case. Absent when the table has none (a credential list, for example).","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].domain","typeLabel":"string"},"category":{"type":"string","pattern":"^[a-z0-9_]{1,64}$","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"description":"The table's category from its name, lower case (social, gaming, combolist...).","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].category","typeLabel":"string"},"year":{"type":"integer","minimum":1970,"maximum":2100,"description":"A breach table's date year.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].year","typeLabel":"integer"},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Absent when only the year is known.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].month","typeLabel":"integer"},"exposed":{"type":"array","maxItems":11,"items":{"enum":["email","username","name","password","password_hash","phone","address","dob","ip","payment","security_qa"],"description":"A kind of data a breach table held next to the identifier. password means a plaintext password was present; NoResponse never stores it and never says what it was. password_hash means a hash, salt or token was present. A value, never: the schema has no member for one.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].exposed.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].exposed","typeLabel":"enum\u003cstring>[]"},"conduct":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"enum":["chargeback","declined_payment","forum_sanction"],"description":"What a breach table's rows record against the identifier: chargeback, one or more chargebacks; declined_payment, one or more declined payments; forum_sanction, a forum ban, warning or infraction. A category and not a value: the schema has no member for one.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].conduct.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"What this table's rows record against the matched email or username: the tables behind the forum_sanctioned and prior_payment_abuse reasons. Absent when the rows record none, for a table matched on an IP address, and from an answer stored before it was recorded.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX].conduct","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches.items.[INDEX]","typeLabel":"object"},"description":"The matching breach tables, newest first, at most 100.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breaches","typeLabel":"object[]"},"breach_names":{"type":"array","maxItems":32,"description":"Names found next to the identifiers in breach records, merged, with the number of distinct tables each was seen in and the sites of those tables.","items":{"type":"object","additionalProperties":false,"required":["value","seen_in"],"properties":{"value":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX].value","typeLabel":"string"},"seen_in":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX].seen_in","typeLabel":"integer"},"sites":{"type":"array","minItems":1,"maxItems":32,"uniqueItems":true,"items":{"type":"string","minLength":3,"maxLength":253,"pattern":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX].sites.items.[INDEX]","typeLabel":"string"},"description":"The domains of the breached sites whose tables hold the name, lower case, each once, newest breach first, at most 32: the domain values of breaches[]. Covers the email's and the username's tables together. Absent when none of the tables has a site.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX].sites","typeLabel":"string[]"},"unsited":{"type":"integer","minimum":1,"description":"How many of the tables that hold the name have no site, such as a credential list or a stealer log. Absent when none.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX].unsited","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.breach_names","typeLabel":"object[]"},"events":{"type":"array","maxItems":300,"description":"The identity's dated footprint events, newest first, at most 300: the year and month, what happened (created, last_active, breached), the site, its category, the kind of evidence and the identifier it belongs to. No breach value: dates are coarsened to the month.","items":{"type":"object","additionalProperties":false,"required":["year","kind","site","category","family","identifier"],"properties":{"year":{"type":"integer","minimum":1970,"maximum":2100,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].year","typeLabel":"integer"},"kind":{"enum":["created","last_active","breached"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"site":{"type":"string","minLength":1,"maxLength":128,"not":{"pattern":"[\\x00-\\x1f\\x7f]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].site","typeLabel":"string"},"category":{"type":"string","pattern":"^[a-z0-9_]{1,64}$","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].category","typeLabel":"string"},"family":{"enum":["account_presence","auth_provider","breach","breach_abuse","code_hosting"],"description":"The source-neutral kind of evidence: account_presence (an account found on a site), auth_provider (the account at your auth provider), breach (breach and credential tables), breach_abuse (abuse and fraud communities' tables) and code_hosting (a code hosting profile).","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].family","typeLabel":"enum\u003cstring>"},"identifier":{"enum":["email","username"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].identifier","typeLabel":"enum\u003cstring>"},"month":{"type":"integer","minimum":1,"maximum":12,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX].month","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.events","typeLabel":"object[]"},"accounts":{"type":"array","maxItems":64,"description":"Every online-account search of the email or username: the platform, what the search came to and, for an account found, what the platform returned beside it. Found first, then not found, then searches that failed or are still running, each by platform name; at most 64. A failed or running search keeps its own outcome and is not reported as not_found.","items":{"type":"object","additionalProperties":false,"required":["name","domain","identifier","outcome"],"description":"One online-account search of the signup's email or username, detailed view only. name and domain name the platform searched, not a provider. outcome is the search's signal outcome: found, not_found, or a failure (blocked, unavailable, inconclusive) with its reason; a failure is not reported as not_found. The members after reason are what the platform returned beside an account it found, each absent when it did not say.","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"The platform's name, such as Adobe or GitHub.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].name","typeLabel":"string"},"domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$","description":"The platform's domain, lower case: the host its logo is fetched for.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].domain","typeLabel":"string"},"identifier":{"enum":["email","username"],"description":"The identifier searched.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].identifier","typeLabel":"enum\u003cstring>"},"outcome":{"enum":["found","not_found","inconclusive","blocked","unavailable"],"description":"Per-signal outcome. A failure is never not_found: a source that timed out, was blocked or errored reports blocked, unavailable or inconclusive with a reason, and is listed in incomplete_sources.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].outcome","typeLabel":"enum\u003cstring>"},"reason":{"enum":["timed_out","rate_limited","blocked","source_error","unavailable","deferred","insufficient_evidence"],"description":"Why a signal or source did not produce a definite found/not_found. timed_out means the source missed the request deadline; a continuation may still settle it. deferred means the (source, identifier) pair is async-only and was not attempted on the synchronous path; a continuation settles it.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"sign_in":{"type":"array","minItems":1,"maxItems":7,"uniqueItems":true,"items":{"enum":["password","google","facebook","apple","microsoft","sso","other"],"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].sign_in.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"How the account signs in, as the platform reports it, sorted: a password, a Google, Facebook, Apple or Microsoft account, the organisation's single sign-on, or another method.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].sign_in","typeLabel":"enum\u003cstring>[]"},"email_verified":{"type":"boolean","description":"Whether the platform says the account's email is verified.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].email_verified","typeLabel":"boolean"},"blocked":{"type":"boolean","description":"Whether the platform says the account is blocked or suspended.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].blocked","typeLabel":"boolean"},"account_type":{"enum":["personal","business"],"description":"personal, or business: an account a company or school manages.","type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].account_type","typeLabel":"enum\u003cstring>"},"has_avatar":{"type":"boolean","description":"Whether the account has its own profile picture rather than the platform's default. The picture is not returned.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].has_avatar","typeLabel":"boolean"},"first_name_prefix":{"type":"string","minLength":1,"maxLength":32,"description":"The first letters of the account holder's first name, as the platform shows them (Life360 shows two and hides the rest). It is evidence only: it does not change the score or the consistency results.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX].first_name_prefix","typeLabel":"string"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.accounts","typeLabel":"object[]"},"attribute_conflicts":{"type":"array","maxItems":4,"description":"What an identity_attribute_conflict reason weighed: each attribute the records disagree on and the sites reporting it. Absent when the reason did not fire, and on an answer stored before conflicts were recorded. No value is served.","items":{"type":"object","additionalProperties":false,"required":["attribute"],"properties":{"attribute":{"enum":["birth_date","gender","nationality","name_gender"],"description":"name_gender is the records' gender against the submitted first name's usual one.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts.items.[INDEX].attribute","typeLabel":"enum\u003cstring>"},"sites":{"type":"array","minItems":1,"maxItems":32,"uniqueItems":true,"items":{"type":"string","minLength":3,"maxLength":253,"pattern":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,63}$","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts.items.[INDEX].sites.items.[INDEX]","typeLabel":"string"},"description":"The domains of the breached sites whose tables report the attribute, newest breach first, at most 32. Absent when none of the tables has a site.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts.items.[INDEX].sites","typeLabel":"string[]"},"unsited":{"type":"integer","minimum":1,"description":"How many of the tables reporting the attribute have no site, such as a credential list or a stealer log. Absent when none.","uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts.items.[INDEX].unsited","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details.attribute_conflicts","typeLabel":"object[]"}},"uniqueKey":"\\items.items.[INDEX].latest.detail.risk.details","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].latest.detail.risk","typeLabel":"object"},"signals":{"type":"array","maxItems":256,"items":{"type":"object","required":["type","identifier","outcome","source_id","freshness"],"conditionallyRequiredProperties":{"evidence_ref":[{"when":[[{"property":"outcome","values":["found"]}]]}],"observed_at":[{"when":[[{"property":"outcome","values":["found"]}]]}],"last_checked_at":[{"when":[[{"property":"outcome","values":["found"]}]]},{"when":[[{"property":"outcome","values":["not_found"]}]]}],"reason":[{"when":[[{"property":"outcome","values":["inconclusive","blocked","unavailable"]}]]}]},"properties":{"type":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$","description":"The producer emits only registered, active types with a registered identifier kind and outcome.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].type","typeLabel":"string"},"identifier":{"enum":["email","username","phone","ip"],"description":"Which submitted identifier a signal concerns. ip is a selector of breach_exposure only.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].identifier","typeLabel":"enum\u003cstring>"},"outcome":{"enum":["found","not_found","inconclusive","blocked","unavailable"],"description":"Per-signal outcome. A failure is never not_found: a source that timed out, was blocked or errored reports blocked, unavailable or inconclusive with a reason, and is listed in incomplete_sources.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].outcome","typeLabel":"enum\u003cstring>"},"source_id":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9][a-z0-9_.-]{0,63}$","description":"Opaque, workspace-scoped projection of the source that produced a signal. It remains stable for this workspace while the projection key is unchanged, but never identifies an upstream provider, feed, breach table or source record.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].source_id","typeLabel":"string"},"freshness":{"enum":["fresh","stale","unknown"],"description":"Freshness class of the evidence behind a signal. unknown whenever no evidence was obtained.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].freshness","typeLabel":"enum\u003cstring>"},"reason":{"enum":["timed_out","rate_limited","blocked","source_error","unavailable","deferred","insufficient_evidence"],"description":"Why a signal or source did not produce a definite found/not_found. timed_out means the source missed the request deadline; a continuation may still settle it. deferred means the (source, identifier) pair is async-only and was not attempted on the synchronous path; a continuation settles it.","type":"string","conditionalRequirements":[{"when":[[{"property":"outcome","values":["inconclusive","blocked","unavailable"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"evidence_ref":{"type":"string","pattern":"^evr_[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque pointer to evidence NoResponse holds for this signal. It never encodes the evidence itself (no breach value, credential or page body).","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"conditionalRequirements":[{"when":[[{"property":"outcome","values":["found"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].evidence_ref","typeLabel":"string"},"observed_at":{"type":"string","format":"date-time","description":"When the evidence was first observed.","conditionalRequirements":[{"when":[[{"property":"outcome","values":["found"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].observed_at","typeLabel":"string\u003cdate-time>"},"last_checked_at":{"type":"string","format":"date-time","description":"When the source was last queried for this identifier.","conditionalRequirements":[{"when":[[{"property":"outcome","values":["found"]}]]},{"when":[[{"property":"outcome","values":["not_found"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].last_checked_at","typeLabel":"string\u003cdate-time>"},"enrichment":{"type":"object","additionalProperties":false,"required":["fields"],"properties":{"fields":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"phone":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.phone","typeLabel":"string"},"name":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name","typeLabel":"string"},"carrier":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.carrier","typeLabel":"string"},"line_type":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.line_type","typeLabel":"string"},"entity_type":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.entity_type","typeLabel":"string"},"country_code":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.country_code","typeLabel":"string"},"country":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.country","typeLabel":"string"},"state":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.state","typeLabel":"string"},"city":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.city","typeLabel":"string"},"location":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.location","typeLabel":"string"},"national_format":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.national_format","typeLabel":"string"},"job_title":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.job_title","typeLabel":"string"},"company_name":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.company_name","typeLabel":"string"},"email":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.email","typeLabel":"string"},"website":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.website","typeLabel":"string"},"first_call_at":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.first_call_at","typeLabel":"string"},"last_call_at":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.last_call_at","typeLabel":"string"},"matched_name":{"type":"string","maxLength":8192,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.matched_name","typeLabel":"string"},"alternate_names":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.alternate_names","typeLabel":"(string | number | boolean | object | array)[]"},"name_candidates":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.name_candidates","typeLabel":"(string | number | boolean | object | array)[]"},"timezones":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.timezones","typeLabel":"(string | number | boolean | object | array)[]"},"emails":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.emails","typeLabel":"(string | number | boolean | object | array)[]"},"websites":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.websites","typeLabel":"(string | number | boolean | object | array)[]"},"locations":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.locations","typeLabel":"(string | number | boolean | object | array)[]"},"social_profiles":{"type":"array","maxItems":1024,"items":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"object","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"array","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX].oneOf.4","typeLabel":"array"}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles.items.[INDEX]","typeLabel":"string | number | boolean | object | array"},"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.social_profiles","typeLabel":"(string | number | boolean | object | array)[]"},"report_count":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.report_count","typeLabel":"integer"},"tag_count":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.tag_count","typeLabel":"integer"},"total_calls":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.total_calls","typeLabel":"integer"},"calls_60_days":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.calls_60_days","typeLabel":"integer"},"reports_60_days":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.reports_60_days","typeLabel":"integer"},"searches_60_days":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.searches_60_days","typeLabel":"integer"},"comment_count":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.comment_count","typeLabel":"integer"},"names_count":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.names_count","typeLabel":"integer"},"spam_report_count":{"type":"integer","minimum":0,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields.spam_report_count","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment.fields","typeLabel":"object"}},"description":"Only present for a found phone signal. Curated facts about the number, not raw upstream documents and never the provider's identity, scores or verdicts; follows normal record retention/deletion.","uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX].enrichment","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].latest.detail.signals.items.[INDEX]","typeLabel":"object"},"description":"Detailed view only (response_mode=detailed, which needs the detailed scope): a standard answer omits signals[], and a detailed one always carries it, possibly empty. At most one signal per (type, source_id, identifier).","conditionalRequirements":[{}],"uniqueKey":"\\items.items.[INDEX].latest.detail.signals","typeLabel":"object[]"},"assessment_url":{"type":"string","maxLength":64,"pattern":"^/v1/assessments/asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"Server-relative path of the authoritative assessment, GET /v1/assessments/{assessment_id}.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"conditionalRequirements":[{"when":[[{"property":"status","values":["pending"]}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.assessment_url","typeLabel":"string"},"auth_context":{"type":"object","additionalProperties":false,"required":["provider","issuer","verified","transport"],"description":"The identity fields of the auth context the assessment was made with, echoed for the workspace's own correlation: the request's auth_context, or the one a hosted provider hook (POST /hooks/{integration_id}) built, with transport provider_hook and its hook_point. Present exactly when the request carried an auth_context, and the same on every revision of the assessment. Values are as the request or the hook sent them; tokens, timestamps, roles and scopes are not echoed, and the echo does not change the score.","properties":{"provider":{"type":"string","pattern":"^[a-z0-9][a-z0-9._-]{1,31}$","description":"The provider slug the context named.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.provider","typeLabel":"string"},"issuer":{"type":"string","maxLength":256,"pattern":"^https://[^\\s]+$","description":"The issuer the context named.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.issuer","typeLabel":"string"},"verified":{"type":"boolean","description":"The verified flag the context carried. A provider_hook context is always false.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.verified","typeLabel":"boolean"},"transport":{"type":"string","enum":["backend","browser","provider_hook"],"description":"Where the context was derived: backend (also when the request named no transport), browser, or provider_hook for a hosted provider hook.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.transport","typeLabel":"enum\u003cstring>"},"subject":{"type":"string","maxLength":256,"pattern":"^[A-Za-z0-9._:@/|+=~-]{1,256}$","description":"The subject the context named; absent when it named none (a pre_registration hook).","uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.subject","typeLabel":"string"},"session_id":{"type":"string","maxLength":256,"pattern":"^[A-Za-z0-9._:@/|+=~-]{1,256}$","description":"The session identifier the context named, when it named one.","uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.session_id","typeLabel":"string"},"organization_id":{"type":"string","maxLength":256,"pattern":"^[A-Za-z0-9._:@/|+=~-]{1,256}$","description":"The organization identifier the context named, when it named one.","uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.organization_id","typeLabel":"string"},"hook_point":{"type":"string","enum":["pre_registration","post_registration","pre_login","post_login","token_issuance"],"description":"The provider event a provider_hook context was sent for; absent for any other transport.","conditionalRequirements":[{"when":[[{"property":"transport","values":["provider_hook"],"matchesAbsent":true}]]}],"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context.hook_point","typeLabel":"enum\u003cstring>"}},"conditionallyRequiredProperties":{"hook_point":[{"when":[[{"property":"transport","values":["provider_hook"],"matchesAbsent":true}]]}]},"uniqueKey":"\\items.items.[INDEX].latest.detail.auth_context","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest.detail","typeLabel":"Assessment detail · object"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].latest","typeLabel":"Historical assessment revision · object"},"assessments":{"type":"integer","minimum":1,"description":"Count of admitted retained assessments belonging to this account, not just the returned page.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].assessments","typeLabel":"integer"},"waiting_for":{"type":"array","minItems":1,"maxItems":2,"uniqueItems":true,"items":{"enum":["outcome","review"],"type":"string","uniqueKey":"\\items.items.[INDEX].waiting_for.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Present for needs_action searches. outcome means a current review/block decision lacks a retained effective outcome; review means a retained open or in-progress review. Both can apply.","uniqueKey":"\\items.items.[INDEX].waiting_for","typeLabel":"enum\u003cstring>[]"},"current":{"title":"Account","description":"The account's actual current decision and score, when a current decision exists. It is separate from latest, which is an assessment revision. When omitted, show no current account decision instead of substituting the assessment decision.","type":"object","additionalProperties":false,"required":["schema_version","id","risk","decisions_by_flow","assessment_id","updated_at","risk_version"],"properties":{"schema_version":{"const":"1","description":"Version of the body shape.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.schema_version","typeLabel":"any"},"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|-]{0,127}$","description":"The account_id the workspace sends with its assessments.","not":{"description":"refused_text plus secret_encoded, for account_id.","anyOf":[{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},{"description":"Exact shapes only: a complete modular-crypt password hash (bcrypt $2a$/$2b$/$2x$/$2y$ with a two-digit cost and 53 characters; $argon2i/d/id with its m, t, p parameters, salt and hash; md5-crypt $1$, sha256-crypt $5$ or sha512-crypt $6$ with a 22, 43 or 86 character hash; passlib $scrypt$ with ln, r, p, salt and hash) or a three-segment JWT whose header is base64url JSON opening with an \"alg\", \"typ\", \"kid\" or \"cty\" member (eyJhbGciOi, eyJ0eXAiOi, eyJraWQiOi or eyJjdHkiOi). A value that merely starts with '$2' or 'eyJ', such as eyJohnathan.doe.x, is not refused. Best effort, not a guarantee; see the provider obligation in the README.","anyOf":[{"pattern":"^\\$2[abxy]?\\$[0-9]{2}\\$[./A-Za-z0-9]{53}$"},{"pattern":"^\\$argon2(?:id|i|d)\\$(?:v=[0-9]{1,4}\\$)?m=[0-9]{1,10},t=[0-9]{1,10},p=[0-9]{1,3}\\$[A-Za-z0-9+/]{8,}\\$[A-Za-z0-9+/]{16,}$"},{"pattern":"^\\$[156]\\$(?:rounds=[0-9]{1,9}\\$)?[./A-Za-z0-9]{1,16}\\$(?:[./A-Za-z0-9]{22}|[./A-Za-z0-9]{43}|[./A-Za-z0-9]{86})$"},{"pattern":"^\\$scrypt\\$ln=[0-9]{1,2},r=[0-9]{1,3},p=[0-9]{1,3}\\$[A-Za-z0-9+/.]{8,}\\$[A-Za-z0-9+/.]{16,}$"},{"pattern":"^eyJ(?:hbGciOi|0eXAiOi|raWQiOi|jdHkiOi)[A-Za-z0-9_-]*\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]*$"}]}]},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.id","typeLabel":"string"},"risk":{"type":"object","additionalProperties":false,"required":["score","decision","reasons"],"properties":{"score":{"type":"integer","minimum":0,"maximum":100,"description":"0 (safe) to 100 (risky), as risk.score of the assessment.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.score","typeLabel":"integer"},"decision":{"enum":["allow","step_up","review","block","held"],"description":"The decision for the flow of the assessment this account is served with: on GET /v1/accounts/{account_id}, the flow of the current assessment; inside an assessment, that assessment's flow.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.decision","typeLabel":"enum\u003cstring>"},"reasons":{"type":"array","maxItems":32,"description":"Every reason that fired: risk-raising reasons first, then neutral, then risk-lowering, each strongest impact band first and then by code. The policy's numeric weights are kept private, so a reason carries only its direction and impact band.","items":{"type":"object","additionalProperties":false,"description":"One reason that fired. direction is whether it raises or lowers the score, or is neutral (informational, it moves nothing). impact is a coarse band of how much it moves the score: none for a neutral reason, otherwise low, medium or high.","required":["code","direction","impact"],"properties":{"code":{"enum":["no_digital_footprint","voip_number","disposable_email","new_email","no_email_matches","spam_reports","fraud_flag","identity_mismatch","country_mismatch","proxy_ip","seen_before","shared_ip","many_recent_accounts","established_accounts","aged_identity","breach_name_match","breach_cooccurrence","breach_name_mismatch","breach_phone_mismatch","recent_password_exposure","credential_list_exposure","abuse_ecosystem_member","no_breach_history","automation_fast_submit","client_clock_skew","bot_or_automation","auth_email_verified","auth_phone_verified","auth_mfa_recent","auth_new_session","auth_new_account","auth_impersonated","context_timezone_mismatch","context_locale_mismatch","context_line_country_mismatch","prior_abuse_link","test_scenario","shared_api_key","list_match","young_email_domain","email_domain_no_mx","email_domain_nonexistent","google_account_missing","google_empty_account","google_active_profile","google_aged_account","google_name_match","google_name_mismatch","google_country_match","google_country_mismatch","forum_sanctioned","prior_payment_abuse","ip_history_match","identity_attribute_conflict","impossible_identity_age","breach_shared_ip","nationality_mismatch","minor_identity","reported_account_abuse","breach_city_match","breach_city_mismatch"],"description":"A risk reason from the reviewed list. new_email is retained only for historical decisions: it never measured email age and is no longer emitted. no_email_matches is neutral and requires explicit, complete no-match answers from supported account and breach searches for the email; unsupported, failed, partial or running searches cannot establish it. no_breach_history is neutral and records only a complete email breach search with no matches, independently of account coverage. no_digital_footprint keeps its existing weight for confirmed absence across the searched account and breach families; no extra age proxy is added. old_breach_history and consistent_identity were replaced by the breach codes (aged_identity, breach_name_match, breach_cooccurrence and the mismatches) and are refused. young_email_domain, email_domain_no_mx and email_domain_nonexistent describe the email's domain (the deferred RDAP registration age and the request-time mail answer: email_domain_no_mx means a null MX, or neither an MX nor an address record); a lookup that failed writes nothing and fires none of them. forum_sanctioned and prior_payment_abuse describe the conduct the email's or username's breach rows record: a forum ban, warning or infraction, and recorded chargebacks or many declined payments. ip_history_match means the signup IP is one the email's or username's own breach rows used, from a typed address that is no proxy or hosting network, once the address's own breach search found fewer than twenty people. identity_attribute_conflict means independent breach records and profiles disagree on the birth date, gender or nationality, or the breach gender differs from the submitted first name's usual one; impossible_identity_age means the email address appears in breach records from before, or soon after, the birth date they report, or that birth date is 110 or more years ago; nationality_mismatch means the breach nationality's country differs from three or more of the IP, phone, timezone and locale countries; minor_identity flags a breach birth date under 18 years ago. breach_city_match means two or more breach tables give the city of the IP, from a typed address that is no proxy, hosting or mobile network. breach_city_mismatch is neutral: the breach records give one city and the IP country, and the IP is in a different city, under the same conditions; a missing IP city or a name that cannot be compared makes no claim. breach_shared_ip means the signup IP's own breach records hold five or more different people besides the signup, from a typed address that is no proxy or hosting network; one record's emails and usernames are one person. Mobile carrier addresses are not yet detected. test_scenario appears only on an assessment made with a test key (nrk_test_), which the deterministic simulator answers: its impact is the scenario the magic email or phone chose, and none for any other identifier. A live assessment never carries it. shared_api_key is an account reason, never an assessment one: it appears only in the risk of GET /v1/accounts/{account_id} and the account an assessment carries, when a key your account creation gate issued to the account (issued_credential.sha256) was used from many IP addresses or countries within 24 hours (POST /v1/keys/usage). list_match is an account reason too: one of the account's admitted assessments sent an email, or an email of a domain, on the environment's list (GET /v1/workspaces/{workspace_id}/lists/{environment}). It names the entry in list_entry_id; it raises for a block entry and lowers for an allow entry, and it decides the account whatever the score, which it leaves unchanged. reported_account_abuse is an account-only, tenant-local assertion from a known abuse outcome; it is not independently corroborated evidence and is withdrawn by a correction of that report.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"direction":{"enum":["raises","lowers","neutral"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"impact":{"enum":["none","low","medium","high"],"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX].impact","typeLabel":"enum\u003cstring>"},"identifier":{"enum":["email","username","phone","name","ip","context"],"description":"The submitted identifier or bounded client context a reason concerns; absent when it concerns the whole assessment. Context is a claimed, untrusted hint and never a device fingerprint.","type":"string","uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX].identifier","typeLabel":"enum\u003cstring>"},"list_entry_id":{"type":"string","pattern":"^lst_[0-7][0-9A-HJKMNP-TV-Z]{25}$","description":"The list entry a list_match reason applied. No other reason carries it.","uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX].list_entry_id","typeLabel":"string"}},"uniqueKey":"\\items.items.[INDEX].current.risk.reasons.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk.reasons","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk","typeLabel":"object"},"decisions_by_flow":{"type":"object","additionalProperties":false,"required":["account_creation","login","purchase"],"description":"The decision for each flow: the account's score under that flow's thresholds. A flow the workspace has not set uses its account_creation thresholds, so the flows differ only where it set them. The flow of the current assessment is held while that flow's admission is held and the assessment's investigation has not completed.","properties":{"account_creation":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.decisions_by_flow.account_creation","typeLabel":"enum\u003cstring>"},"login":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.decisions_by_flow.login","typeLabel":"enum\u003cstring>"},"purchase":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.decisions_by_flow.purchase","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.decisions_by_flow","typeLabel":"object"},"assessment_id":{"type":"string","pattern":"^asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"The assessment the current risk comes from.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.assessment_id","typeLabel":"string"},"updated_at":{"type":"string","format":"date-time","description":"updated_at of that assessment's latest revision.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.updated_at","typeLabel":"string\u003cdate-time>"},"risk_version":{"type":"integer","minimum":1,"description":"The version of the account's current risk. It increases every time the account's current risk or decisions_by_flow changes, and does not decrease. Of two copies of an account, the one with the higher risk_version is newer. account.risk_changed carries the risk_version that its change made.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].current.risk_version","typeLabel":"integer"}},"$defs":{"account_decision":{"enum":["allow","step_up","review","block","held"],"description":"block when the score reached the workspace's block threshold (risk.block of the assessment), otherwise the assessment's recommendation. held only for a flow whose admission is held (settings flows.\u003cflow>.admission), when the account's current assessment was made for that flow and its investigation has not completed (status partial): the final decision arrives as account.risk_changed when the investigation completes, decided by its score, or when the hold's deadline (hold_seconds after the assessment was created) passes first, as the flow's on_expiry action or the decision the evidence so far gives, whichever is stricter. Advisory: the workspace decides and enforces."}},"uniqueKey":"\\items.items.[INDEX].current","typeLabel":"Account · object"},"matched_identifier":{"type":"object","title":"Identifier match","description":"Why this result matched a typed identifier search. value is the original value submitted in assessment_id. Provenance records a customer submission, not a source discovery or verified ownership. Equality is deterministic and has no inferred confidence score. An account result names its newest retained matching assessment, which can differ from latest.","required":["kind","value","match_basis","provenance","assessment_id"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"JaneDoe","match_basis":"canonical","namespace":"customer","provenance":"submitted","assessment_id":"asm_01JA2Z8K6Q4V7W9XBCDEFGHJKM"},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifier.kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifier.value","typeLabel":"string"},"match_basis":{"type":"string","enum":["exact","canonical","mailbox"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifier.match_basis","typeLabel":"enum\u003cstring>"},"provenance":{"type":"string","enum":["submitted"],"description":"Customer-submitted input. It does not mean the customer or NoResponse verified ownership.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifier.provenance","typeLabel":"enum\u003cstring>"},"assessment_id":{"type":"string","pattern":"^asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifier.assessment_id","typeLabel":"string"},"namespace":{"type":"string","enum":["customer"],"description":"Present only for username. A source platform handle is not a customer-namespace username.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"\\items.items.[INDEX].matched_identifier.namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].matched_identifier","typeLabel":"Identifier match · object"},"matched_identifiers":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"object","title":"Submitted identifier term match","description":"One satisfied unique term in an identifier expression. term_index is the zero-based depth-first raw leaf position of its first occurrence. Duplicate normalized terms produce one witness. All satisfied unique terms are returned, ordered by term_index, including satisfied terms in an OR branch that was not needed. value preserves the original submitted value in assessment_id. In assessment scope all witnesses belong to the same matching assessment; account search chooses the newest such assessment. In account scope each term uses its newest retained matching assessment, so witnesses may have different assessment IDs. This evidence does not assert ownership or equality between accounts.","required":["kind","value","match_basis","provenance","assessment_id","term_index"],"conditionallyRequiredProperties":{"namespace":[{"when":[[{"property":"kind","values":["username"]}]]}]},"example":{"kind":"username","value":"JaneDoe","match_basis":"canonical","namespace":"customer","provenance":"submitted","assessment_id":"asm_01JA2Z8K6Q4V7W9XBCDEFGHJKM","term_index":0},"properties":{"kind":{"type":"string","enum":["email","phone","username"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"value":{"type":"string","minLength":1,"maxLength":254,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].value","typeLabel":"string"},"match_basis":{"type":"string","enum":["exact","canonical","mailbox"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].match_basis","typeLabel":"enum\u003cstring>"},"provenance":{"type":"string","enum":["submitted"],"description":"Customer-submitted input. It does not mean the customer or NoResponse verified ownership.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].provenance","typeLabel":"enum\u003cstring>"},"assessment_id":{"type":"string","pattern":"^asm_[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.","not":{"description":"A NUL or line feed anywhere, refused with not beside anchored patterns. The parser refuses NUL in every request string. This guard also closes engines where $ accepts a final line feed.","pattern":"[\\x00\\n]"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].assessment_id","typeLabel":"string"},"term_index":{"type":"integer","minimum":0,"maximum":7,"description":"Zero-based depth-first position of the first occurrence of this normalized term in the submitted expression.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].term_index","typeLabel":"integer"},"namespace":{"type":"string","enum":["customer"],"description":"Present only for username. A source platform handle is not a customer-namespace username.","conditionalRequirements":[{"when":[[{"property":"kind","values":["username"]}]]}],"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX].namespace","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].matched_identifiers.items.[INDEX]","typeLabel":"Submitted identifier term match · object"},"description":"Present only for identifier_expression. All satisfied unique terms, ordered by term_index, with original submitted values and retained assessment witnesses. A duplicate normalized term appears once at its first raw leaf index. The legacy single identifier filter instead returns matched_identifier.","uniqueKey":"\\items.items.[INDEX].matched_identifiers","typeLabel":"Submitted identifier term match · object[]"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"},"total":{"type":"integer","minimum":0,"maximum":10000,"description":"Distinct accounts matching the filters, exact below 10000 and capped at 10000.","isRequired":true,"uniqueKey":"total","typeLabel":"integer"},"total_capped":{"type":"boolean","description":"True when at least 10000 accounts match.","isRequired":true,"uniqueKey":"total_capped","typeLabel":"boolean"},"next_cursor":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^[A-Za-z0-9_-]+$","not":{"pattern":"\\n"},"description":"Opaque, expiring cursor bound to this environment, operation and every filter. Keep the filters unchanged.","uniqueKey":"next_cursor","typeLabel":"string"}},"uniqueKey":"","typeLabel":"Observed account directory page · object"},"examples":{"Example":{"title":"Example","value":{"schema_version":"1","items":[{"account_id":"\u003cstring>","latest":{"schema_version":"1","id":"\u003cstring>","status":"complete","flow":"account_creation","depth":"quick","detail":{"schema_version":"1","assessment_id":"\u003cstring>","account_id":"\u003cstring>","status":"complete","confidence":"low","incomplete_sources":[{"lane":"accounts","reason":"timed_out"}],"policy_version":"\u003cstring>","policy_basis":"heuristic_unvalidated","assessment_version":500,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","expires_at":"2023-11-07T05:31:56Z","timing":{"deadline_ms":1525,"elapsed_ms":300000},"identifiers":{"email":"\u003cstring>","username":"\u003cstring>","phone":"\u003cstring>","name":"\u003cstring>","ip":"\u003cstring>"},"request_id":"\u003cstring>","recommendation":"allow","risk":{"score":50,"band":"low","recommendation":"allow","confidence":"low","policy_version":"\u003cstring>","policy_basis":"heuristic_unvalidated","reasons":[{"code":"no_digital_footprint","direction":"raises","impact":"none","identifier":"email","list_entry_id":"\u003cstring>"}],"coverage":{"answered":1,"failed":1,"pending":1},"block":true,"block_threshold":50,"step_up_threshold":50,"review_threshold":50,"summary":{"phone":{"line_type":"mobile","country":"\u003cstring>","report_count":1,"carrier":"\u003cstring>"},"email":{"disposable":true,"accounts_found":1,"breach":{"found":true,"breach_count":1,"first_year":2035,"last_year":2035,"exposed":["email"],"in_credential_lists":true,"recent_password_exposure":true,"truncated":true}},"username":{"accounts_found":1,"breach":{"found":true,"breach_count":1,"first_year":2035,"last_year":2035,"exposed":["email"],"in_credential_lists":true,"recent_password_exposure":true,"truncated":true}},"ip":{"country":"\u003cstring>","type":"residential","asn":2147483648,"seen_in_workspace":1},"consistency":{"name":"match","phone":"match","ip":"match","country":"consistent"},"footprint":{"families":["account_presence"],"email":{"first_seen_year":2035,"last_seen_year":2035,"span_years":1,"sites":2,"families":["account_presence"],"last_active_year":2035},"username":{"first_seen_year":2035,"last_seen_year":2035,"span_years":1,"sites":2,"families":["account_presence"],"last_active_year":2035},"coherence":{"birth_date":{"agreement":"match","values":2,"support":2},"gender":{"agreement":"match","values":2,"support":2},"nationality":{"agreement":"match","values":2,"support":2},"country":{"agreement":"match","values":2,"support":2},"city":{"agreement":"match","values":2,"support":2},"zip":{"agreement":"match","values":2,"support":2},"name":{"agreement":"match","values":2,"support":2},"company":{"agreement":"match","values":2,"support":2},"website":{"agreement":"match","values":2,"support":2},"social":{"agreement":"match","values":2,"support":2}}}},"details":{"phone_names":[{"value":"\u003cstring>","seen_by":2}],"breaches":[{"name":"\u003cstring>","kind":"site_breach","matched_on":"email","domain":"\u003cstring>","category":"\u003cstring>","year":2035,"month":6,"exposed":["email"],"conduct":["chargeback"]}],"breach_names":[{"value":"\u003cstring>","seen_in":2,"sites":["\u003cstring>"],"unsited":2}],"events":[{"year":2035,"kind":"created","site":"\u003cstring>","category":"\u003cstring>","family":"account_presence","identifier":"email","month":6}],"accounts":[{"name":"\u003cstring>","domain":"\u003cstring>","identifier":"email","outcome":"found","reason":"timed_out","sign_in":["password"],"email_verified":true,"blocked":true,"account_type":"personal","has_avatar":true,"first_name_prefix":"\u003cstring>"}],"attribute_conflicts":[{"attribute":"birth_date","sites":["\u003cstring>"],"unsited":2}]}},"signals":[{"type":"\u003cstring>","identifier":"email","outcome":"found","source_id":"\u003cstring>","freshness":"fresh","reason":"timed_out","evidence_ref":"\u003cstring>","observed_at":"2023-11-07T05:31:56Z","last_checked_at":"2023-11-07T05:31:56Z","enrichment":{"fields":{"phone":"\u003cstring>","name":"\u003cstring>","carrier":"\u003cstring>","line_type":"\u003cstring>","entity_type":"\u003cstring>","country_code":"\u003cstring>","country":"\u003cstring>","state":"\u003cstring>","city":"\u003cstring>","location":"\u003cstring>","national_format":"\u003cstring>","job_title":"\u003cstring>","company_name":"\u003cstring>","email":"\u003cstring>","website":"\u003cstring>","first_call_at":"\u003cstring>","last_call_at":"\u003cstring>","matched_name":"\u003cstring>","alternate_names":["\u003cstring>"],"name_candidates":["\u003cstring>"],"timezones":["\u003cstring>"],"emails":["\u003cstring>"],"websites":["\u003cstring>"],"locations":["\u003cstring>"],"social_profiles":["\u003cstring>"],"report_count":1,"tag_count":1,"total_calls":1,"calls_60_days":1,"reports_60_days":1,"searches_60_days":1,"comment_count":1,"names_count":1,"spam_report_count":1}}}],"assessment_url":"\u003cstring>","auth_context":{"provider":"\u003cstring>","issuer":"\u003cstring>","verified":true,"transport":"backend","subject":"\u003cstring>","session_id":"\u003cstring>","organization_id":"\u003cstring>","hook_point":"pre_registration"}}},"assessments":2,"waiting_for":["outcome"],"current":{"schema_version":"1","id":"\u003cstring>","risk":{"score":50,"decision":"allow","reasons":[{"code":"no_digital_footprint","direction":"raises","impact":"none","identifier":"email","list_entry_id":"\u003cstring>"}]},"decisions_by_flow":{"account_creation":"allow","login":"allow","purchase":"allow"},"assessment_id":"\u003cstring>","updated_at":"2023-11-07T05:31:56Z","risk_version":2},"matched_identifier":{"kind":"username","value":"JaneDoe","match_basis":"canonical","namespace":"customer","provenance":"submitted","assessment_id":"asm_01JA2Z8K6Q4V7W9XBCDEFGHJKM"},"matched_identifiers":[{"kind":"username","value":"JaneDoe","match_basis":"canonical","namespace":"customer","provenance":"submitted","assessment_id":"asm_01JA2Z8K6Q4V7W9XBCDEFGHJKM","term_index":0}]}],"total":5000,"total_capped":true,"next_cursor":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"exampleType":"generated"},"ca080040-b4e7-4efc-8f48-22cd36486eb7":{"description":"The request body, filters or bounds are invalid (invalid_request), or the opaque cursor is invalid, expired, modified, or belongs to another operation, filter or authenticated scope (invalid_cursor).","content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["invalid_request","invalid_cursor"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":400,"detail":"\u003cstring>","code":"invalid_request","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"exampleType":"generated"},"c17e9fa3-111d-458f-b855-7df85ee42655":{"description":"No API key, or one that is malformed, unknown, revoked or expired.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"WWW-Authenticate":{"schema":{"type":"string","const":"Bearer realm=\"noresponse-assessments\""},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":401,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":401,"detail":"\u003cstring>","code":"unauthorized","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"5721c1c0-61a4-4521-b9a3-3442043b6711":{"description":"The API key is valid but may not use this operation: it lacks the operation's scope, or its workspace is not entitled or is suspended.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":403,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["workspace_forbidden"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"missingScope":{"title":"missingScope","value":{"type":"https://docs.noresponse.org/problems/workspace-forbidden","title":"Forbidden","status":403,"detail":"The API key does not carry a scope this operation accepts.","code":"workspace_forbidden","request_id":"0123456789abcdef0123456789abcdef"}}},"exampleType":"examples"}},"exampleType":"examples"},"7bd3bc87-cde5-4cc0-9a98-c89bdec85281":{"description":"No unexpired assessment with this id for the calling workspace, or a malformed assessment_id.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["not_found"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":404,"detail":"\u003cstring>","code":"not_found","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"61dfa6aa-5414-49f6-87ca-c72b9975a586":{"description":"The body exceeds 32768 bytes. Refused before parsing.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":413,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["payload_too_large"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":413,"detail":"\u003cstring>","code":"payload_too_large","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"cf62dcce-ce7d-4378-9b3a-c8910aba1f91":{"description":"Content-Type is not application/json.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":415,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["unsupported_media_type"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":415,"detail":"\u003cstring>","code":"unsupported_media_type","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"5b33ba3f-9224-4a9a-b5bc-e78c3d8e4d62":{"description":"The workspace's rate or concurrency limit is exhausted. Retry-After says when to retry; the provider applies its own fallback meanwhile.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"Retry-After":{"description":"Whole seconds to wait before polling or retrying. Required on 202, 429 and 503.","schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$","description":"Whole decimal seconds; wait at least this long."},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":429,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["rate_limited"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"limited":{"title":"limited","value":{"type":"https://docs.noresponse.org/problems/rate-limited","title":"Rate limited","status":429,"detail":"The tenant's assessment rate is exhausted; retry after the Retry-After interval.","code":"rate_limited","request_id":"0123456789abcdef0123456789abcdef"}}},"exampleType":"examples"}},"exampleType":"examples"},"5f8bff07-78e6-43be-baf2-fc3602a24d12":{"description":"The assessment could not be admitted at all (overload, shutdown or a dependency down). An assessment that was admitted answers partial or pending instead of 503.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"},"required":true},"Retry-After":{"description":"Whole seconds to wait before polling or retrying. Required on 202, 429 and 503.","schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$","description":"Whole decimal seconds; wait at least this long."},"required":true},"X-Request-ID":{"description":"The request correlation id, 32 lowercase hexadecimal characters.","schema":{"type":"string","pattern":"^[0-9a-f]{32}$","not":{"pattern":"\\n"}},"required":true}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem details error","description":"RFC 9457 problem-details error body returned by every non-2xx API response, extended with a stable machine code and request id.","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","maximum":599,"minimum":400,"const":503,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","enum":["service_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"request_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"invalid_params":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["field","reason"],"properties":{"field":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].field","typeLabel":"string"},"reason":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"invalid_params.items.[INDEX].reason","typeLabel":"string"},"example":{"type":"string","minLength":1,"uniqueKey":"invalid_params.items.[INDEX].example","typeLabel":"string"}},"uniqueKey":"invalid_params.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invalid_params","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"Problem details error · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":503,"detail":"\u003cstring>","code":"service_unavailable","request_id":"\u003cstring>","instance":"\u003cstring>","invalid_params":[{"field":"\u003cstring>","reason":"\u003cstring>","example":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"6b508512-4d1a-4922-b207-46fa95a5c564":{"tenantBearer":{"type":"http","scheme":"bearer","description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","scopes":[],"schemeName":"tenantBearer"}}},"servers":{"18cd78c2-9cd8-4db8-8b92-63f5298dc2b9":{"url":"https://api.noresponse.org","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","scopes":[],"schemeName":"tenantBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your API key, sent as `Authorization: Bearer \u003ckey>`. A key is `nrk_live_` or `nrk_test_`, a 26-character key id, `_` and a 43-character secret. Account, audit and usage data stay within the key's environment. Dedicated team scopes apply across the workspace.\n\n`assess` creates and reads assessments, records outcomes and reports key usage. `investigate` reads accounts, assessment history and request diagnostics without export or enforcement access. The legacy `history` scope also permits account exports, submitted identifiers and enforcement reports. `delete` permits account and assessment deletion.\n\n`evidence` or `detailed` adds detailed merged evidence and submitted identifiers where the operation permits them. Neither grants access to the underlying resource alone. `exports` permits exports with the underlying account or audit scope. `audit` reads audit events and `usage` reads usage. `audit_manage` manages audit streams and retention, and includes audit-read and export authority.\n\n`webhooks` manages webhook endpoints. `integrations` manages hosted auth-provider integrations. `management` manages keys, settings, lists, reviews and policy evaluations in the key's environment. New keys cannot exceed the issuer's effective permissions.\n\n`settings` reads configuration, previews policy and list changes, runs evaluations and changes retention. Publishing decision policy or changing lists requires `settings` and `policy_publish` together, or the legacy `management` scope.\n\n`groups` creates and reads groups, adds people, starts and cancels screenings and records decisions on people, in the key's environment.\n\n`members` reads the workspace directory. `members_manage` also administers non-owner members and invitations. These scopes require a live key issued by a current owner with access to both environments. They grant access across the workspace. `management` does not grant team access. API keys cannot change owners or accept invitations.\n\nA missing, unknown, revoked or expired key answers 401. A valid key without a required scope answers 403.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"tenantBearer","name":"Authorization"}],"title":"tenantBearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"no-response","siteName":"NoResponse docs","title":"Search distinct observed accounts by email or account ID - NoResponse docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-15T01:10:05.335Z","originalFileLocation":"api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id.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=\"dark\"}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=\"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application\u0026#x27;s users. Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers. The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages. Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NoResponse docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_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/no-response/QuYJA8AlAyvACi4k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Search distinct observed accounts by email or account ID - NoResponse docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application\u0026#x27;s users. Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers. The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages. Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NoResponse docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://no-response.mintlify.site/_mintlify/api/og/v2?division=API+reference\u0026amp;title=Search+distinct+observed+accounts+by+email+or+account+ID\u0026amp;description=Search+accounts+observed+in+retained+assessments+in+the+authenticated+workspace+and+environment.+Each+account+appears+once%2C+with+its+latest+retained+assessment%2C\u0026amp;theme=5d641b211405822996c6177f\u0026amp;signature=28f4830c17317b50f9209e8718ff307c5d2e1a1687511ec82a141d5beff872e2\">\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=\"Search distinct observed accounts by email or account ID - NoResponse docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application\u0026#x27;s users. Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers. The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages. Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://no-response.mintlify.site/_mintlify/api/og/v2?division=API+reference\u0026amp;title=Search+distinct+observed+accounts+by+email+or+account+ID\u0026amp;description=Search+accounts+observed+in+retained+assessments+in+the+authenticated+workspace+and+environment.+Each+account+appears+once%2C+with+its+latest+retained+assessment%2C\u0026amp;theme=5d641b211405822996c6177f\u0026amp;signature=28f4830c17317b50f9209e8718ff307c5d2e1a1687511ec82a141d5beff872e2\">\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/no-response/QuYJA8AlAyvACi4k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NoResponse docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c38d4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.noresponse.org/#organization\",\"name\":\"NoResponse docs\",\"url\":\"https://docs.noresponse.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/no-response/Wvj477r0d6oKHPB0/logo/light.svg?fit=max\u0026auto=format\u0026n=Wvj477r0d6oKHPB0\u0026q=85\u0026s=71c49eae03789201280dc175d672a9af\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.noresponse.org#website\",\"name\":\"NoResponse docs\",\"url\":\"https://docs.noresponse.org\",\"publisher\":{\"@id\":\"https://docs.noresponse.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id#webpage\",\"url\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id\",\"name\":\"Search distinct observed accounts by email or account ID\",\"description\":\"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application's users. Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers. The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages. Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\",\"dateModified\":\"2026-11-15T01:10:05.335Z\",\"isPartOf\":{\"@id\":\"https://docs.noresponse.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.noresponse.org/api-reference/assess/create-an-assessment\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Accounts\",\"item\":\"https://docs.noresponse.org/api-reference/accounts/list-changed-accounts\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Search distinct observed accounts by email or account ID\",\"item\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id#apireference\",\"headline\":\"Search distinct observed accounts by email or account ID\",\"name\":\"Search distinct observed accounts by email or account ID\",\"description\":\"Search accounts observed in retained assessments in the authenticated workspace and environment. Each account appears once, with its latest retained assessment, current decision when available, and the number of retained assessments. This is not a complete directory of your application's users. Send an exact account ID or email, or neither to list all observed accounts. Email matching follows the same canonical mailbox rules as assessment search and matches any retained assessment belonging to the account. Email filtering requires permission to read submitted identifiers. The server counts distinct accounts before paginating. Send next_cursor back with unchanged filters to continue. Totals are exact below 10000 and capped at 10000 otherwise. Pages are live and may change between requests, not a single snapshot spanning all pages. Read-only and safe to retry. Requires history access. Cross-environment, expired or modified cursors are refused. No Idempotency-Key.\",\"url\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id\",\"mainEntityOfPage\":{\"@id\":\"https://docs.noresponse.org/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id#webpage\"},\"dateModified\":\"2026-11-15T01:10:05.335Z\",\"publisher\":{\"@id\":\"https://docs.noresponse.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.noresponse.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NoResponse docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"NoResponse docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id.md","siteName":"NoResponse docs","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","icon":"square-terminal","groups":[{"group":"Overview","icon":"compass","pages":[{"title":"API reference","sidebarTitle":"Overview","icon":"square-terminal","href":"/api-reference"}]},{"group":"Using the API","icon":"book-marked","pages":[{"title":"Create an assessment","icon":"square-plus","href":"/reference/create-assessment"},{"title":"The assessment object","sidebarTitle":"Assessment object","icon":"file-search","href":"/reference/assessment"},{"title":"Reason codes","icon":"list-checks","href":"/reference/reason-codes"},{"title":"Get and query assessments","sidebarTitle":"Read assessments","icon":"search","href":"/reference/get-and-query"},{"title":"Accounts","icon":"user-round","href":"/reference/accounts"},{"title":"Feedback and investigations","href":"/reference/investigation"},{"title":"Reviews","href":"/reference/reviews"},{"title":"Assessment counts","href":"/reference/aggregates"},{"title":"Workspace settings","icon":"sliders-horizontal","href":"/reference/settings"},{"title":"Policy changes","icon":"history","href":"/reference/policy-changes"},{"title":"Allow and block lists","icon":"list-checks","href":"/reference/lists"},{"title":"Groups and screenings","icon":"users","href":"/reference/groups"},{"title":"Key usage batches","icon":"key-round","href":"/reference/key-usage"},{"title":"Team, audit log and usage","icon":"users","href":"/reference/team-and-audit"},{"title":"Data retention","icon":"archive","href":"/reference/data-retention"}]},{"group":"Endpoints","icon":"braces","pages":[{"group":"Assessments","pages":[{"title":"Create an assessment","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments","href":"/api-reference/assess/create-an-assessment"},{"title":"Retrieve an assessment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assessments/{assessment_id}","href":"/api-reference/assess/retrieve-an-assessment"},{"title":"Delete an assessment","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/assessments/{assessment_id}","href":"/api-reference/assess/delete-an-assessment"},{"title":"Report an outcome","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/{assessment_id}/outcomes","href":"/api-reference/assess/report-an-outcome"},{"title":"List an account's assessments","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/query","href":"/api-reference/assess/list-an-accounts-assessments"},{"title":"Count assessments by time, decision and reason","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/aggregate","href":"/api-reference/assess/count-assessments-by-time-decision-and-reason"},{"title":"Search assessments across this environment","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/search","href":"/api-reference/assess/search-assessments-across-this-environment"},{"title":"Retrieve an exact assessment revision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/assessments/{assessment_id}/versions/{version}","href":"/api-reference/assess/retrieve-an-exact-assessment-revision"},{"title":"Summarise retained request attempts","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/requests/aggregate","href":"/api-reference/assess/summarise-retained-request-attempts"},{"title":"Summarise retained webhook attempts and delivery queue","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/aggregate","href":"/api-reference/assess/summarise-retained-webhook-attempts-and-delivery-queue"}]},{"group":"Accounts","pages":[{"title":"List changed accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts","href":"/api-reference/accounts/list-changed-accounts"},{"title":"Retrieve an account","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}","href":"/api-reference/accounts/retrieve-an-account"},{"title":"Erase an account","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/accounts/{account_id}","href":"/api-reference/accounts/erase-an-account"},{"title":"List an account's assessments by URL","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/assessments","href":"/api-reference/accounts/list-an-accounts-assessments-by-url"},{"title":"List accounts that share a submitted identifier","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/links","href":"/api-reference/accounts/list-accounts-that-share-a-submitted-identifier"},{"title":"Page through account enforcements","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/enforcements","href":"/api-reference/accounts/page-through-account-enforcements"},{"title":"Record an enforcement","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/enforcements","href":"/api-reference/accounts/record-an-enforcement"},{"title":"List retained account feedback","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/outcomes","href":"/api-reference/accounts/list-retained-account-feedback"},{"title":"Record or correct an account outcome","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/outcomes","href":"/api-reference/accounts/record-or-correct-an-account-outcome"},{"title":"Retrieve an exact historical account decision","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/decisions/{risk_version}","href":"/api-reference/accounts/retrieve-an-exact-historical-account-decision"},{"title":"List issued credential associations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/credentials","href":"/api-reference/accounts/list-issued-credential-associations"},{"title":"Associate a customer-issued API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/{account_id}/credentials","href":"/api-reference/accounts/associate-a-customer-issued-api-key"},{"title":"Retire an issued credential association","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/accounts/{account_id}/credentials/{credential_id}","href":"/api-reference/accounts/retire-an-issued-credential-association"},{"title":"Bind a provisional signup account","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/assessments/{assessment_id}/bind","href":"/api-reference/accounts/bind-a-provisional-signup-account"},{"title":"Export an account","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/export","href":"/api-reference/accounts/export-an-account"},{"title":"Page through recorded account decisions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/accounts/{account_id}/decisions","href":"/api-reference/accounts/page-through-recorded-account-decisions"},{"title":"Read an erasure receipt","description":"Read retained erasure progress and downstream acknowledgements. Completion does not certify deletion from backups.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/erasures/{erasure_id}","href":"/api-reference/accounts/read-an-erasure-receipt"},{"title":"Search distinct observed accounts by email or account ID","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/accounts/search","href":"/api-reference/accounts/search-distinct-observed-accounts-by-email-or-account-id"}]},{"group":"Key usage","pages":[{"title":"Report key usage","description":"Records requests made with API keys that your account creation gate issued to your accounts, one event per request. Each event names the key by its SHA-256, the `issued_credential.sha256` the account's assessment carried, and gives the client `ip`, `occurred_at` and optionally `user_agent`, `model`, `input_tokens` and `output_tokens`. The Node and Python SDKs buffer events and send them in the background.\n\nA batch holds 1 to 500 events and at most 256 KiB (413 above that). An event whose IP is not a public address, or whose `occurred_at` is more than 24 hours old or more than 5 minutes ahead, is counted in `ignored`. Sampling is allowed: `sample_rate` weights an event's request and token counts.\n\nNoResponse keeps no raw event. Request and token totals are kept per key for 30 days after the key's last use, or your retention when that is shorter. The IP, user agent and model are kept only as keyed digests, the IP with its country, for 24 hours. When one key is used from 20 or more IP addresses, or from 3 or more countries, within 24 hours, every account whose assessment carried that key gets the `shared_api_key` reason in its current risk for 30 days.\n\n`Idempotency-Key` is required: a retry with the same key and body answers the same record with `Idempotent-Replayed: true` and counts nothing again, and the same key with a different body answers 409. Requires the `assess` scope.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/usage","href":"/api-reference/usage/report-key-usage"}]},{"group":"API keys","pages":[{"title":"Rotate your API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/keys/rotate","href":"/api-reference/keys/rotate-your-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/keys","href":"/api-reference/keys/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/keys","href":"/api-reference/keys/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/keys/{key_id}","href":"/api-reference/keys/revoke-an-api-key"}]},{"group":"Integrations","pages":[{"title":"List integrations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/integrations","href":"/api-reference/integrations/list-integrations"},{"title":"Register an integration","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations","href":"/api-reference/integrations/register-an-integration"},{"title":"Delete an integration","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/integrations/{integration_id}","href":"/api-reference/integrations/delete-an-integration"},{"title":"Rotate an integration's secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/integrations/{integration_id}/rotate","href":"/api-reference/integrations/rotate-an-integrations-secret"}]},{"group":"Webhooks","pages":[{"title":"List your webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks","href":"/api-reference/webhooks/list-your-webhook-endpoints"},{"title":"Register a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks","href":"/api-reference/webhooks/register-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/{endpoint_id}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Rotate a webhook signing key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/rotate","href":"/api-reference/webhooks/rotate-a-webhook-signing-key"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/test","href":"/api-reference/webhooks/send-a-test-event"},{"title":"List delivery attempts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{endpoint_id}/deliveries","href":"/api-reference/webhooks/list-delivery-attempts"},{"title":"Replay a delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{endpoint_id}/deliveries/{event_id}/replay","href":"/api-reference/webhooks/replay-a-delivery"},{"title":"Assessment updated","version":null,"deprecated":null,"openapi":"/openapi.json webhook assessment.updated","href":"/api-reference/webhooks/assessment-updated"},{"title":"Endpoint verification","version":null,"deprecated":null,"openapi":"/openapi.json webhook endpoint.verification","href":"/api-reference/webhooks/endpoint-verification"},{"title":"Account erased","version":null,"deprecated":null,"openapi":"/openapi.json webhook account.deleted","href":"/api-reference/webhooks/account-erased"},{"title":"Workspace deleted","version":null,"deprecated":null,"openapi":"/openapi.json webhook workspace.deleted","href":"/api-reference/webhooks/workspace-deleted"},{"title":"Webhook endpoint disabled","version":null,"deprecated":null,"openapi":"/openapi.json webhook webhook_endpoint.disabled","href":"/api-reference/webhooks/webhook-endpoint-disabled"},{"title":"Account decision changed","version":null,"deprecated":null,"openapi":"/openapi.json webhook account.risk_changed","href":"/api-reference/webhooks/account-decision-changed"},{"title":"Audit event recorded","version":null,"deprecated":null,"openapi":"/openapi.json webhook audit.event","href":"/api-reference/webhooks/audit-event-recorded"},{"title":"Screening finished","version":null,"deprecated":null,"openapi":"/openapi.json webhook screening.completed","href":"/api-reference/webhooks/screening-finished"},{"title":"Person flagged","version":null,"deprecated":null,"openapi":"/openapi.json webhook person.flagged","href":"/api-reference/webhooks/person-flagged"},{"title":"Person decided","version":null,"deprecated":null,"openapi":"/openapi.json webhook person.decided","href":"/api-reference/webhooks/person-decided"}]},{"group":"Workspaces","pages":[{"title":"List workspace members","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/members","href":"/api-reference/workspaces/list-workspace-members"},{"title":"Remove a member","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/members/{member_id}","href":"/api-reference/workspaces/remove-a-member"},{"title":"Change a member's access","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/members/{member_id}","href":"/api-reference/workspaces/change-a-members-access"},{"title":"List a workspace's audit log","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/audit","href":"/api-reference/workspaces/list-a-workspaces-audit-log"},{"title":"Read a workspace's usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/usage","href":"/api-reference/workspaces/read-a-workspaces-usage"},{"title":"List pending invitations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/invites","href":"/api-reference/workspaces/list-pending-invitations"},{"title":"Invite a member","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/invites","href":"/api-reference/workspaces/invite-a-member"},{"title":"Revoke an invitation","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/invites/{invite_id}","href":"/api-reference/workspaces/revoke-an-invitation"},{"title":"List export jobs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports","href":"/api-reference/workspaces/list-export-jobs"},{"title":"Start an account or audit export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports","href":"/api-reference/workspaces/start-an-account-or-audit-export"},{"title":"Read export status and progress","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports/{export_id}","href":"/api-reference/workspaces/read-export-status-and-progress"},{"title":"Cancel an export and delete its artifact","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports/{export_id}/cancel","href":"/api-reference/workspaces/cancel-an-export-and-delete-its-artifact"},{"title":"Retry a failed export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/exports/{export_id}/retry","href":"/api-reference/workspaces/retry-a-failed-export"},{"title":"Download an export chunk","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/exports/{export_id}/chunks/{chunk_index}","href":"/api-reference/workspaces/download-an-export-chunk"},{"title":"Read audit retention","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/retention/{environment}","href":"/api-reference/workspaces/read-audit-retention"},{"title":"Change audit retention","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/retention/{environment}","href":"/api-reference/workspaces/change-audit-retention"},{"title":"List audit streams","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/streams/{environment}","href":"/api-reference/workspaces/list-audit-streams"},{"title":"Configure an audit stream","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/streams/{environment}","href":"/api-reference/workspaces/configure-an-audit-stream"},{"title":"Stop an audit stream","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/streams/{environment}/{endpoint_id}","href":"/api-reference/workspaces/stop-an-audit-stream"},{"title":"Replay a retained audit delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/streams/{environment}/{endpoint_id}/replay","href":"/api-reference/workspaces/replay-a-retained-audit-delivery"},{"title":"Reissue an invitation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/invites/{invite_id}/resend","href":"/api-reference/workspaces/reissue-an-invitation"},{"title":"Summarize outcomes, enforcements and reviews","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/operations/summary","href":"/api-reference/workspaces/summarize-outcomes-enforcements-and-reviews"}]},{"group":"Settings","pages":[{"title":"Get your settings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/settings/{environment}","href":"/api-reference/settings/get-your-settings"},{"title":"Change your settings","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/settings/{environment}","href":"/api-reference/settings/change-your-settings"},{"title":"Read immutable configuration versions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/settings/{environment}/history","href":"/api-reference/settings/read-immutable-configuration-versions"},{"title":"Restore captured settings as a new guarded version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/settings/{environment}/restore","href":"/api-reference/settings/restore-captured-settings-as-a-new-guarded-version"},{"title":"Preview exact retained-score threshold transitions without side effects","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/settings/{environment}/preview","href":"/api-reference/settings/preview-exact-retained-score-threshold-transitions-without-side-effects"},{"title":"List policy evaluations","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}","href":"/api-reference/settings/list-policy-evaluations"},{"title":"Start a policy evaluation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}","href":"/api-reference/settings/start-a-policy-evaluation"},{"title":"Read policy evaluation status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}","href":"/api-reference/settings/read-policy-evaluation-status"},{"title":"Read a policy evaluation report","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/result","href":"/api-reference/settings/read-a-policy-evaluation-report"},{"title":"Cancel a policy evaluation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/cancel","href":"/api-reference/settings/cancel-a-policy-evaluation"},{"title":"Publish a reviewed policy proposal","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/evaluations/{environment}/{evaluation_id}/publish","href":"/api-reference/settings/publish-a-reviewed-policy-proposal"}]},{"group":"Request diagnostics","pages":[{"title":"Search request diagnostics","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/requests","href":"/api-reference/requests/search-request-diagnostics"}]},{"group":"Lists","pages":[{"title":"List your list entries","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/lists/{environment}","href":"/api-reference/lists/list-your-list-entries"},{"title":"Add a list entry","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}","href":"/api-reference/lists/add-a-list-entry"},{"title":"Delete a list entry","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/lists/{environment}/{list_entry_id}","href":"/api-reference/lists/delete-a-list-entry"},{"title":"Preview a list override change without side effects","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}/preview","href":"/api-reference/lists/preview-a-list-override-change-without-side-effects"},{"title":"Apply an idempotent atomic bulk list change","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/lists/{environment}/bulk","href":"/api-reference/lists/apply-an-idempotent-atomic-bulk-list-change"},{"title":"Read a bulk list change and propagation progress","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/changes/{environment}/{change_id}","href":"/api-reference/lists/read-a-bulk-list-change-and-propagation-progress"}]},{"group":"Reviews","pages":[{"title":"List retained account reviews","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}","href":"/api-reference/reviews/list-retained-account-reviews"},{"title":"Open a review for a retained account","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}","href":"/api-reference/reviews/open-a-review-for-a-retained-account"},{"title":"Read an account review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}","href":"/api-reference/reviews/read-an-account-review"},{"title":"Assign, prioritize or reopen a guarded review","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}","href":"/api-reference/reviews/assign-prioritize-or-reopen-a-guarded-review"},{"title":"Resolve a review against an exact account risk version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/resolve","href":"/api-reference/reviews/resolve-a-review-against-an-exact-account-risk-version"},{"title":"Read retained review comments","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/comments","href":"/api-reference/reviews/read-retained-review-comments"},{"title":"Append a comment against the current review version","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/comments","href":"/api-reference/reviews/append-a-comment-against-the-current-review-version"},{"title":"Read immutable review resolution history","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/resolutions","href":"/api-reference/reviews/read-immutable-review-resolution-history"},{"title":"List your private and shared review filters","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/views/{environment}","href":"/api-reference/reviews/list-your-private-and-shared-review-filters"},{"title":"Save a tenant-local review filter","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/views/{environment}","href":"/api-reference/reviews/save-a-tenant-local-review-filter"},{"title":"Delete your saved filter with optimistic concurrency","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/views/{environment}/{view_id}","href":"/api-reference/reviews/delete-your-saved-filter-with-optimistic-concurrency"},{"title":"Replace your saved filter with optimistic concurrency","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/views/{environment}/{view_id}","href":"/api-reference/reviews/replace-your-saved-filter-with-optimistic-concurrency"},{"title":"Export an account review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/export","href":"/api-reference/reviews/export-an-account-review"},{"title":"List evidence linked to a review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects","href":"/api-reference/reviews/list-evidence-linked-to-a-review"},{"title":"Link evidence to a review","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects","href":"/api-reference/reviews/link-evidence-to-a-review"},{"title":"Delete a review evidence link","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/reviews/{environment}/{review_id}/subjects/{subject_id}","href":"/api-reference/reviews/delete-a-review-evidence-link"},{"title":"Query retained account reviews","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/reviews/{environment}/query","href":"/api-reference/reviews/query-retained-account-reviews"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}","href":"/api-reference/groups/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}","href":"/api-reference/groups/create-a-group"},{"title":"Read a group","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/read-a-group"},{"title":"Delete a group","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/delete-a-group"},{"title":"Change a group","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}","href":"/api-reference/groups/change-a-group"},{"title":"List people","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people","href":"/api-reference/groups/list-people"},{"title":"Add people","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people","href":"/api-reference/groups/add-people"},{"title":"Read a person","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}","href":"/api-reference/groups/read-a-person"},{"title":"Record a decision","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/review","href":"/api-reference/groups/record-a-decision"},{"title":"Join or reject a record","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/records","href":"/api-reference/groups/join-or-reject-a-record"},{"title":"Search again on a value","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/searches","href":"/api-reference/groups/search-again-on-a-value"},{"title":"Run a counted search","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/people/{person_id}/searches/{search_id}/run","href":"/api-reference/groups/run-a-counted-search"},{"title":"List screenings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings","href":"/api-reference/groups/list-screenings"},{"title":"Start a screening","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings","href":"/api-reference/groups/start-a-screening"},{"title":"Read a screening","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings/{screening_id}","href":"/api-reference/groups/read-a-screening"},{"title":"Cancel a screening","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/workspaces/{workspace_id}/groups/{environment}/{group_id}/screenings/{screening_id}/cancel","href":"/api-reference/groups/cancel-a-screening"}]}]},{"group":"Errors","icon":"triangle-alert","pages":[{"title":"Errors and limits","icon":"triangle-alert","href":"/reference/errors"},{"group":"Problem types","expanded":false,"pages":[{"title":"400 invalid_request","sidebarTitle":"invalid_request","href":"/problems/invalid-request"},{"title":"400 invalid_idempotency_key","sidebarTitle":"invalid_idempotency_key","href":"/problems/invalid-idempotency-key"},{"title":"400 invalid_cursor","sidebarTitle":"invalid_cursor","href":"/problems/invalid-cursor"},{"title":"401 unauthorized","sidebarTitle":"unauthorized","href":"/problems/unauthorized"},{"title":"403 workspace_forbidden","sidebarTitle":"workspace_forbidden","href":"/problems/workspace-forbidden"},{"title":"404 not_found","sidebarTitle":"not_found","href":"/problems/not-found"},{"title":"409 outcome_conflict","sidebarTitle":"outcome_conflict","href":"/problems/outcome-conflict"},{"title":"405 method_not_allowed","sidebarTitle":"method_not_allowed","href":"/problems/method-not-allowed"},{"title":"409 idempotency_key_reused","sidebarTitle":"idempotency_key_reused","href":"/problems/idempotency-key-reused"},{"title":"409 key_rotation_in_progress","sidebarTitle":"key_rotation_in_progress","href":"/problems/key-rotation-in-progress"},{"title":"403 role_forbidden","sidebarTitle":"role_forbidden","href":"/problems/role-forbidden"},{"title":"403 email_unverified","sidebarTitle":"email_unverified","href":"/problems/email-unverified"},{"title":"403 onboarding_in_review","sidebarTitle":"onboarding_in_review","href":"/problems/onboarding-in-review"},{"title":"403 onboarding_refused","sidebarTitle":"onboarding_refused","href":"/problems/onboarding-refused"},{"title":"409 key_limit_reached","sidebarTitle":"key_limit_reached","href":"/problems/key-limit-reached"},{"title":"409 self_revocation","sidebarTitle":"self_revocation","href":"/problems/self-revocation"},{"title":"409 list_entry_exists","sidebarTitle":"list_entry_exists","href":"/problems/list-entry-exists"},{"title":"409 list_limit_reached","sidebarTitle":"list_limit_reached","href":"/problems/list-limit-reached"},{"title":"409 list_entry_too_broad","sidebarTitle":"list_entry_too_broad","href":"/problems/list-entry-too-broad"},{"title":"400 webhook_url_refused","sidebarTitle":"webhook_url_refused","href":"/problems/webhook-url-refused"},{"title":"409 webhook_endpoint_limit_reached","sidebarTitle":"webhook_endpoint_limit_reached","href":"/problems/webhook-endpoint-limit-reached"},{"title":"409 webhook_endpoint_unverified","sidebarTitle":"webhook_endpoint_unverified","href":"/problems/webhook-endpoint-unverified"},{"title":"409 too_many_integrations","sidebarTitle":"too_many_integrations","href":"/problems/too-many-integrations"},{"title":"409 risk_version_ahead","sidebarTitle":"risk_version_ahead","href":"/problems/risk-version-ahead"},{"title":"401 invalid_hook_signature","sidebarTitle":"invalid_hook_signature","href":"/problems/invalid-hook-signature"},{"title":"413 payload_too_large","sidebarTitle":"payload_too_large","href":"/problems/payload-too-large"},{"title":"415 unsupported_media_type","sidebarTitle":"unsupported_media_type","href":"/problems/unsupported-media-type"},{"title":"429 rate_limited","sidebarTitle":"rate_limited","href":"/problems/rate-limited"},{"title":"429 lookup_limit_reached","sidebarTitle":"lookup_limit_reached","href":"/problems/lookup-limit-reached"},{"title":"500 internal_error","sidebarTitle":"internal_error","href":"/problems/internal-error"},{"title":"503 service_unavailable","sidebarTitle":"service_unavailable","href":"/problems/service-unavailable"},{"title":"409 binding_conflict","sidebarTitle":"binding_conflict","href":"/problems/binding-conflict"},{"title":"409 credential_conflict","sidebarTitle":"credential_conflict","href":"/problems/credential-conflict"},{"title":"413 export_too_large","sidebarTitle":"export_too_large","href":"/problems/export-too-large"},{"title":"409 aggregate_erased_data","sidebarTitle":"aggregate_erased_data","href":"/problems/aggregate-erased-data"},{"title":"429 assessment_budget_exhausted","sidebarTitle":"assessment_budget_exhausted","href":"/problems/assessment-budget-exhausted"},{"title":"409 export_conflict","sidebarTitle":"export_conflict","href":"/problems/export-conflict"},{"title":"429 export_limit_reached","sidebarTitle":"export_limit_reached","href":"/problems/export-limit-reached"},{"title":"409 evaluation_conflict","sidebarTitle":"evaluation_conflict","href":"/problems/evaluation-conflict"},{"title":"409 evaluation_no_proposal","sidebarTitle":"evaluation_no_proposal","href":"/problems/evaluation-no-proposal"},{"title":"409 evaluation_limit_reached","sidebarTitle":"evaluation_limit_reached","href":"/problems/evaluation-limit-reached"},{"title":"413 evaluation_evidence_limit","sidebarTitle":"evaluation_evidence_limit","href":"/problems/evaluation-evidence-limit"},{"title":"409 group_conflict","sidebarTitle":"group_conflict","href":"/problems/group-conflict"},{"title":"409 group_limit_reached","sidebarTitle":"group_limit_reached","href":"/problems/group-limit-reached"},{"title":"409 screening_cap_exceeded","sidebarTitle":"screening_cap_exceeded","href":"/problems/screening-cap-exceeded"},{"title":"409 screening_unavailable","sidebarTitle":"screening_unavailable","href":"/problems/screening-unavailable"},{"title":"409 policy_version_conflict","sidebarTitle":"policy_version_conflict","href":"/problems/policy-version-conflict"},{"title":"409 review_version_conflict","sidebarTitle":"review_version_conflict","href":"/problems/review-version-conflict"},{"title":"409 review_exists","sidebarTitle":"review_exists","href":"/problems/review-exists"},{"title":"409 review_limit_reached","sidebarTitle":"review_limit_reached","href":"/problems/review-limit-reached"},{"title":"413 review_export_too_large","sidebarTitle":"review_export_too_large","href":"/problems/review-export-too-large"},{"title":"409 already_member","sidebarTitle":"already_member","href":"/problems/already-member"},{"title":"409 member_limit_reached","sidebarTitle":"member_limit_reached","href":"/problems/member-limit-reached"},{"title":"409 owner_invite_pending","sidebarTitle":"owner_invite_pending","href":"/problems/owner-invite-pending"}]}]}]}]},"basePath":"","title":"Search distinct observed accounts by email or account ID - NoResponse docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}