POST/v3/live/discover/people/validate
Validate a discover people request
Validates all field values in a discover request and returns detailed warnings for any invalid values (especially enums such as role, industry, seniority), filters placed under the wrong entity, v2 field names that v3 renamed, and a v2-shaped body whose filters sit at the root instead of inside an 'or' group. It also flags a request too large to evaluate (QUERY_TOO_LARGE), which a search would refuse with a 400. Warnings about a filter group's contents name the group they came from. Does not perform a search or consume credits.
Request body
- metadataobjectOptionalOptional metadata to associate with the request. Will be returned in the response.
- groupingobjectOptionalResult diversity controls
- orobject[]OptionalOne or more filter groups. A person matches the request when they satisfy at least one group; within a group every filter is ANDed
- companyobjectOptionalCompany firmographic filters for this group, applied to the employer on the matched work experience
- keywordsobjectOptionalBoolean keyword expression over this group's indexed prose. A node is either a leaf (phrase or term) or a branch (all, any, none) -- never both. Branch lists nest: each element is itself a keyword expression, so (a OR b) AND (c OR d) is an 'all' of two 'any' nodes. Note the two grains: description, title and companyName match per work experience, while bio is carried on every one of a person's documents and so matches per person -- an 'all' of two experience fields means the same role, and relaxes to the same person once one leaf targets the bio. 'none' is likewise per work experience for the experience fields: it removes the matching role, not the person.
- namestringOptionalName for this group. Echoed in matchedFilterGroups on every result the group produced, and in validate warnings about the group
- personobjectOptionalFilters on the person rather than a work experience: where they live, which is not necessarily where their employer is, the people to exclude, and the schools they attended
- vendorgraphicsobjectOptionalProduct usage filters: people at companies where a product, or any product in a category, was detected
- workExperienceobjectOptionalWork experience filters. Every work experience, company and keyword filter in a group must hold on the same work experience
- paginationobjectOptionalPage-based pagination controls
- Headers
x-api-keyRequired · API key for authentication
Response
- isValidbooleanWhether all provided values are valid (true when warnings is empty)
- warningsobject[]List of validation warnings, one per invalid field value
- fieldstringPath to the field holding the invalid value, qualified by its filter group (e.g. 'or[0].workExperience.role')
- groupstringName of the filter group the warning came from, when the group supplied one. Absent for unnamed groups and for warnings about the request as a whole.
- valuestringThe invalid value that was provided. Absent for warnings that are not tied to a specific value (e.g. MUTUALLY_EXCLUSIVE_FIELDS).
- messagestringHuman-readable description of the validation problem
- codestringMachine-readable warning code (e.g. 'INVALID_ENUM_VALUE', 'INVALID_DATE_FORMAT', 'MUTUALLY_EXCLUSIVE_FIELDS', 'MISPLACED_FIELD', 'RENAMED_FIELD', 'UNKNOWN_FIELD', 'DUPLICATE_KEYWORD', 'MISSING_FILTER_GROUP')
- validValuesstring[]Valid values accepted for this field, when applicable
- querySizeobjectHow much of the query size limit the request uses, present whether or not it fits. Null when the request could not be sized: it did not parse, or it has a malformed keywords expression, activeWithin or company.keywords to fix first, and QUERY_TOO_LARGE is not checked until it can be. company.keywords is also sized on its own against the companies it searches, so a QUERY_TOO_LARGE naming company.keywords can arrive with 'used' under 'limit'.
- metadataobjectCaller-supplied metadata echoed back from the request.
- isSuccessboolean
truewhen the request was answered with a result.falsemeans no result was returned: checkisRetryable, which istruewhen a data source failed or timed out andfalsewhen the input matched nothing. - isRetryablebooleanWhen
isSuccessisfalse, whether sending the same input again could succeed. AlwaystruewhenisSuccessistrue. - hasProblemsbooleanWhether we hit a problem answering the request: the profile or company wasn't found, or a data source failed or timed out. Data may be missing or incomplete;
problems, where the response has it, says which.