openapi: 3.0.0 info: title: Yext Admin Account Settings Live API API version: '2.0' servers: - url: https://api.yextapis.com/v2 security: - api_key: [] - api-key: [] tags: - name: Live API paths: /accounts/{accountId}/entities: get: operationId: listEntities parameters: - schema: minLength: 0 type: string name: accountId in: path required: true - schema: minLength: 0 type: string description: A date in `YYYYMMDD` format. name: v in: query required: true - schema: minLength: 0 type: string description: "Optional parameter to return fields of type **Markdown** as HTML.\n - `false`: **Markdown** fields will be returned as JSON\n - `true`: **Markdown** fields will be returned as HTML\n" name: convertMarkdownToHTML in: query required: false - schema: minLength: 0 type: string description: "Optional parameter to return fields of type **Rich Text** as HTML.\n - `false`: **Rich Text** fields will be returned as JSON\n - `true`: **Rich Text** fields will be returned as HTML\n" name: convertRichTextToHTML in: query required: false - schema: minLength: 0 type: string description: "Comma-separated list of Entity types to filter on. Example: `\"location,event\"`\n\nShould be from the following types:\n * `atm`\n * `event`\n * `faq`\n * `financialProfessional`\n * `healthcareFacility`\n * `healthcareProfessional`\n * `hotel`\n * `hotelRoomType`\n * `job`\n * `location`\n * `organization`\n * `product`\n * `restaurant`\n\nOR the API name of a custom entity type.\n" name: entityTypes in: query required: false - schema: minLength: 0 type: string description: Comma-separated list of field names. When present, only the fields listed will be returned. You can use dot notation to specify substructures (e.g., `"address.line1"`). Custom fields are specified in the same way, albeit with their `c_*` name. name: fields in: query required: false - schema: minLength: 0 type: string description: "This parameter represents one or more filtering conditions that are applied to the set of entities that would otherwise be returned. This parameter should be provided as a URL-encoded string containing a JSON object.\n\nFor example, if the filter JSON is `{\"name\":{\"$eq\":\"John\"}}`, then the filter param after URL-encoding will be: `filter=%7B%22name%22%3A%7B%22%24eq%22%3A%22John%22%7D%7D`\n\n**Basic Filter Structure**\n\nThe filter object at its core consists of a *matcher*, a *field*, and an *argument*.\n\nFor example, in the following filter JSON:\n\n```\n{\n \"name\":{\n \"$eq\":\"John\"\n }\n}\n```\n\n`$eq` is the *matcher*, or filtering operation (equals, in this example),\n\n`name` is the *field* being filtered by, and\n\n`John` is *value* to be matched against.\n\n**Combining Multiple Filters**\n\nMultiple filters can be combined into one object using *combinators*. For example, the following filter JSON combines multiple filters using the combinator `$and`. `$or` is also supported.\n```\n{\n \"$and\":[\n {\n \"firstName\":{\n \"$eq\":\"John\"\n }\n },\n {\n \"countryCode\":{\n \"$in\":[\n \"US\",\n \"GB\"\n ]\n }\n }\n ]\n}\n```\n\n**Filter Negation**\n\nCertain filter types may be negated. For example:\n\n```\n{\n \"$not\": {\n \"name\": {\n \"$eq\": \"John\"\n }\n }\n}\n```\n\nThis can also be written more simply with a `!` in the `$eq` parameter. The following filter would have the same effect:\n\n```\n{\n \"name\":{\n \"!$eq\":\"John\"\n }\n}\n```\n\n**Filter Complement**\n\nYou can also search for the complement of a filter. This filter would match entities that do not contain \"hello\" in their descriptions, or do not have a description set. This is different from negation which can only match entities who have the negated field set to something.\n\n```\n{\n \"$complement\":{\n \"description\":{\n \"$contains\":\"hello\"\n }\n }\n}\n```\n\n**Addressing Subfields**\n\nSubfields of fields can be addressed using the \"dot\" notation while filtering. For example, if you have a custom field called **`c_myCustomField`**:\n\n```\n{\n \"c_myCustomField\":{\n \"age\": 30,\n \"name\": \"Jim\",\n }\n}\n```\n\nWhile filtering, subfields may be addressed using the \"dot\" notation.\n\n```\n{\n \"c_myCustomField.name\":{\n \"!$eq\":\"John\"\n }\n}\n```\n\nFields that are nested deeper may be addressed using dot notation, as well. For example, if **`name`** in the above example was a compound field with two subfields **`first`** and **`last`**, **`first`** may be addressed as **`c_myCustomField.name.first`**.\n\n**Field Support**\n\nEntity fields correspond to certain filter types, which support matchers. Going by the example above, the field **`name`** supports the `TEXT` filter type, which supports `$eq` (equals) and `$startsWith` (starts with).\n\n**TEXT**\n\nThe `TEXT` filter type is supported for text fields. (e.g., **`name`**, **`countryCode`**)\n\n
| Matcher | \nDetails | \n
|---|---|
| $eq (equals) | \n\n\n {\n \"countryCode\":{\n \"$eq\":\"US\"\n }\n },\n {\n \"countryCode\":{\n \"!$eq\":\"US\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"Amazing\" starts with \"amaz\"\n\n {\n \"address.line1\":{\n \"$startsWith\": \"Jo\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"firstName\":{\n \"$in\": [\"John\", \"Jimmy\"]\n }\n }\n\n Does not support negation. Negation can be mimicked by using an \"OR\" matcher, for example:\n\n {\n \"$and\":[\n {\n \"firstName\":{\n \"!$eq\": \"John\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"Jimmy\"\n }\n }\n ]\n }\n\n |
| $contains | \n\n\n {\n \"c_myString\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myString`**.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAny | \n\n\n {\n \"c_myString\":{\n \"$containsAny\":[\n \"sample1\", \"sample2\"\n ]\n }\n }\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAll | \n\n\n {\n \"c_myString\":{\n \"$containsAll\":[\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" and \"sample2\" are contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"isFreeEvent\": {\n \"$eq\": true\n }\n }\n\n For booleans, the filter takes a boolean value, not a string.\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $hasProperty | \n\n\n Matches if argument is a key (subfield) of field being filtered by. This filter type is useful for filtering by compound fields or to check if certain fields have a value set.\n\n {\n \"address\": {\n \"$hasProperty\": \"line1\"\n }\n }\n\n Note that if a given property of a compound field is not set, the filter will not match. For example, if `line1` of **`address`** is not set for an entity, then the above matcher will not match the entity.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Matching is case insensitive and insensitive to consecutive whitespace.\n\n e.g., \"XYZ 123\" matches \"xyz 123\"\n\n {\n \"eventStatus\": {\n \"$eq\": \"SCHEDULED\"\n }\n }\n\n Supports negation. Negating `$eq` on the list will match any field that does not hold any of the provided values.\n\n |
| $in | \n\n\n {\n \"eventStatus\": {\n \"$in\": [\n \"SCHEDULED\",\n \"POSTPONED\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values. For example:\n\n {\n \"$and\": [\n {\n \"eventStatus\":{\n \"!$eq\": \"SCHEDULED\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"POSTPONED\"\n }\n }\n ]\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"mainPhone\":{\n \"$eq\":\"+18187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"$eq\":\"8187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"!$eq\":\"9177076189\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"8187076189\" starts with \"818\"\n\n {\n \"mainPhone\":{\n \"$startsWith\": \"818\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"mainPhone\":{\n \"$in\": [\n \"8185551616\",\n \"9171112211\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Equals\n\n {\n \"ageRange.maxValue\": {\n \"$eq\": \"80\"\n }\n }\n\n Supports negation.\n\n |
| $lt | \n\n\n Less than\n\n {\n \"time.start\": {\n \"$lt\": \"2018-08-28T05:56\"\n }\n }\n\n |
| $gt | \n\n\n Greater than\n\n {\n \"ageRange.maxValue\": {\n \"$gt\": \"50\"\n }\n }\n\n |
| $le | \n\n\n Less than or equal to\n\n {\n \"ageRange.maxValue\": {\n \"$le\": \"40\"\n }\n }\n\n |
| $ge | \n\n\n Greater than or equal to\n\n {\n \"time.end\": {\n \"$ge\": \"2018-08-28T05:56\"\n }\n }\n\n |
| Combinations | \n\n\n While we do not support \"between\" in our filtering syntax, it is possible to combine multiple matchers for a result similar to an \"and\" operation:\n\n {\n \"ageRange.maxValue : {\n \"$gt\" : 10,\n \"$lt\": 20\n }\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myStringList\": {\n \"$eq\": \"sample\"\n }\n }\n\n This filter will match if \"sample\" EXACTLY matches any string within **`c_myStringList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myStringList\": {\n \"$eqAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if any one of \"sample1\" or \"sample2\" EXACTLY match a string within **`c_myStringList`** . The argument can have more than two strings.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" AND \"sample2\" EXACTLY match a string within **`c_myStringList`**. The argument can have more than two strings.\n\n Supports negation.\n\n |
| $contains | \n\n\n {\n \"c_myStringList\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myStringList`**.\n\n Note that this matching is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAny | \n\n\n {\n \"c_myStringList\": {\n \"$containsAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAny` is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAll | \n\n\n {\n \"c_myStringList\": {\n \"$containsAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if BOTH \"sample1\" and \"sample2\" are contained in strings within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAll` is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $startsWith | \n\n\n {\n \"c_myStringList\": {\n \"$startsWith\":\"sample\"\n }\n }\n\n This filter will match if any string within **`c_myStringList`** starts with \"sample\".\n\n Does not supports negation. Case Insensitive.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myDateList\": {\n \"$eq\": \"2019-01-01\"\n }\n }\n\n\n This filter will match if \"2019-01-01\" EXACTLY matches any date within **`c_myDateList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myIntegerList\": {\n \"$eqAny\": [1, 2]\n }\n }\n\n This filter will match if 1 or 2 EXACTLY match any integer within **`c_myIntegerList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"2019-01-01\" AND \"2019-01-02\" EXACTLY match a date within **`c_myDateList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $openAt | \n\n\n {\n \"hours\": {\n \"$openAt\":\n \"2019-01-06T13:45\"\n }\n }\n\n\n This filter would match entities open at the specified time.\n\n |
| $closedAt | \n\n\n {\n \"hours\": {\n \"$closedAt:\n \"2019-01-06T13:45\"\n }\n }\n\n |
| $openForAllOf | \n\n\n {\n \"hours\": {\n \"$openForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n\n This filter would match only those entities that are open for the entire range between 2019-01-06T13:45 and 2019-01-06T15:00.\n\n {\n \"hours\": {\n \"$openForAllOf\":\n \"2019-05-10\"\n }\n }\n\n This filter would match entities open for the entire 24 hour period on 2019-05-10.\n\n You can also supply a year, a month, or an hour to filter for entities open for the entire year, month, or hour, respectively.\n\n |
| $openForAnyOf | \n\n\n {\n \"hours\": {\n \"$openForAnyOf\": {\n \"start\": \"now\",\n \"end\": \"now+2h\"\n }\n }\n }\n\n This filter will match any entities that are open for at least a portion of the time range between now and two hours from now.\n\n |
| $closedForAllOf | \n\n\n {\n \"hours\": {\n \"$closedForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match only those entities that are closed for the entire given time range.\n |
| $closedForAnyOf | \n\n\n {\n \"hours\": {\n \"$closedForAnyOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match any entities that are closed for at least a portion of the given time range.\n |
| Matcher | \nDetails | \n
|---|---|
| $anywhere | \n\n\n Matches if the argument text appears anywhere in the entity (including subfields, structs, and lists)\n\n {\n \"$anywhere\": \"hello\"\n }\n\n This filter will match all entities that contain the string \"hello\" or strings that begin with \"hello\".\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq (equals) | \n\n\n {\n \"countryCode\":{\n \"$eq\":\"US\"\n }\n },\n {\n \"countryCode\":{\n \"!$eq\":\"US\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"Amazing\" starts with \"amaz\"\n\n {\n \"address.line1\":{\n \"$startsWith\": \"Jo\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"firstName\":{\n \"$in\": [\"John\", \"Jimmy\"]\n }\n }\n\n Does not support negation. Negation can be mimicked by using an \"OR\" matcher, for example:\n\n {\n \"$and\":[\n {\n \"firstName\":{\n \"!$eq\": \"John\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"Jimmy\"\n }\n }\n ]\n }\n\n |
| $contains | \n\n\n {\n \"c_myString\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myString`**.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAny | \n\n\n {\n \"c_myString\":{\n \"$containsAny\":[\n \"sample1\", \"sample2\"\n ]\n }\n }\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAll | \n\n\n {\n \"c_myString\":{\n \"$containsAll\":[\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" and \"sample2\" are contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"isFreeEvent\": {\n \"$eq\": true\n }\n }\n\n For booleans, the filter takes a boolean value, not a string.\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $hasProperty | \n\n\n Matches if argument is a key (subfield) of field being filtered by. This filter type is useful for filtering by compound fields or to check if certain fields have a value set.\n\n {\n \"address\": {\n \"$hasProperty\": \"line1\"\n }\n }\n\n Note that if a given property of a compound field is not set, the filter will not match. For example, if `line1` of **`address`** is not set for an entity, then the above matcher will not match the entity.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Matching is case insensitive and insensitive to consecutive whitespace.\n\n e.g., \"XYZ 123\" matches \"xyz 123\"\n\n {\n \"eventStatus\": {\n \"$eq\": \"SCHEDULED\"\n }\n }\n\n Supports negation. Negating `$eq` on the list will match any field that does not hold any of the provided values.\n\n |
| $in | \n\n\n {\n \"eventStatus\": {\n \"$in\": [\n \"SCHEDULED\",\n \"POSTPONED\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values. For example:\n\n {\n \"$and\": [\n {\n \"eventStatus\":{\n \"!$eq\": \"SCHEDULED\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"POSTPONED\"\n }\n }\n ]\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"mainPhone\":{\n \"$eq\":\"+18187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"$eq\":\"8187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"!$eq\":\"9177076189\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"8187076189\" starts with \"818\"\n\n {\n \"mainPhone\":{\n \"$startsWith\": \"818\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"mainPhone\":{\n \"$in\": [\n \"8185551616\",\n \"9171112211\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Equals\n\n {\n \"ageRange.maxValue\": {\n \"$eq\": \"80\"\n }\n }\n\n Supports negation.\n\n |
| $lt | \n\n\n Less than\n\n {\n \"time.start\": {\n \"$lt\": \"2018-08-28T05:56\"\n }\n }\n\n |
| $gt | \n\n\n Greater than\n\n {\n \"ageRange.maxValue\": {\n \"$gt\": \"50\"\n }\n }\n\n |
| $le | \n\n\n Less than or equal to\n\n {\n \"ageRange.maxValue\": {\n \"$le\": \"40\"\n }\n }\n\n |
| $ge | \n\n\n Greater than or equal to\n\n {\n \"time.end\": {\n \"$ge\": \"2018-08-28T05:56\"\n }\n }\n\n |
| Combinations | \n\n\n While we do not support \"between\" in our filtering syntax, it is possible to combine multiple matchers for a result similar to an \"and\" operation:\n\n {\n \"ageRange.maxValue : {\n \"$gt\" : 10,\n \"$lt\": 20\n }\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myStringList\": {\n \"$eq\": \"sample\"\n }\n }\n\n This filter will match if \"sample\" EXACTLY matches any string within **`c_myStringList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myStringList\": {\n \"$eqAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if any one of \"sample1\" or \"sample2\" EXACTLY match a string within **`c_myStringList`** . The argument can have more than two strings.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" AND \"sample2\" EXACTLY match a string within **`c_myStringList`**. The argument can have more than two strings.\n\n Supports negation.\n\n |
| $contains | \n\n\n {\n \"c_myStringList\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myStringList`**.\n\n Note that this matching is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAny | \n\n\n {\n \"c_myStringList\": {\n \"$containsAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAny` is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAll | \n\n\n {\n \"c_myStringList\": {\n \"$containsAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if BOTH \"sample1\" and \"sample2\" are contained in strings within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAll` is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $startsWith | \n\n\n {\n \"c_myStringList\": {\n \"$startsWith\":\"sample\"\n }\n }\n\n This filter will match if any string within **`c_myStringList`** starts with \"sample\".\n\n Does not supports negation. Case Insensitive.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myDateList\": {\n \"$eq\": \"2019-01-01\"\n }\n }\n\n\n This filter will match if \"2019-01-01\" EXACTLY matches any date within **`c_myDateList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myIntegerList\": {\n \"$eqAny\": [1, 2]\n }\n }\n\n This filter will match if 1 or 2 EXACTLY match any integer within **`c_myIntegerList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"2019-01-01\" AND \"2019-01-02\" EXACTLY match a date within **`c_myDateList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $openAt | \n\n\n {\n \"hours\": {\n \"$openAt\":\n \"2019-01-06T13:45\"\n }\n }\n\n\n This filter would match entities open at the specified time.\n\n |
| $closedAt | \n\n\n {\n \"hours\": {\n \"$closedAt:\n \"2019-01-06T13:45\"\n }\n }\n\n |
| $openForAllOf | \n\n\n {\n \"hours\": {\n \"$openForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n\n This filter would match only those entities that are open for the entire range between 2019-01-06T13:45 and 2019-01-06T15:00.\n\n {\n \"hours\": {\n \"$openForAllOf\":\n \"2019-05-10\"\n }\n }\n\n This filter would match entities open for the entire 24 hour period on 2019-05-10.\n\n You can also supply a year, a month, or an hour to filter for entities open for the entire year, month, or hour, respectively.\n\n |
| $openForAnyOf | \n\n\n {\n \"hours\": {\n \"$openForAnyOf\": {\n \"start\": \"now\",\n \"end\": \"now+2h\"\n }\n }\n }\n\n This filter will match any entities that are open for at least a portion of the time range between now and two hours from now.\n\n |
| $closedForAllOf | \n\n\n {\n \"hours\": {\n \"$closedForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match only those entities that are closed for the entire given time range.\n |
| $closedForAnyOf | \n\n\n {\n \"hours\": {\n \"$closedForAnyOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match any entities that are closed for at least a portion of the given time range.\n |
| Matcher | \nDetails | \n
|---|---|
| $anywhere | \n\n\n Matches if the argument text appears anywhere in the entity (including subfields, structs, and lists)\n\n {\n \"$anywhere\": \"hello\"\n }\n\n This filter will match all entities that contain the string \"hello\" or strings that begin with \"hello\".\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq (equals) | \n\n\n {\n \"countryCode\":{\n \"$eq\":\"US\"\n }\n },\n {\n \"countryCode\":{\n \"!$eq\":\"US\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"Amazing\" starts with \"amaz\"\n\n {\n \"address.line1\":{\n \"$startsWith\": \"Jo\"\n }\n }\n\n Supports negation. Case insensitive.\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"firstName\":{\n \"$in\": [\"John\", \"Jimmy\"]\n }\n }\n\n Does not support negation. Negation can be mimicked by using an \"OR\" matcher, for example:\n\n {\n \"$and\":[\n {\n \"firstName\":{\n \"!$eq\": \"John\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"Jimmy\"\n }\n }\n ]\n }\n\n |
| $contains | \n\n\n {\n \"c_myString\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myString`**.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAny | \n\n\n {\n \"c_myString\":{\n \"$containsAny\":[\n \"sample1\", \"sample2\"\n ]\n }\n }\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| $containsAll | \n\n\n {\n \"c_myString\":{\n \"$containsAll\":[\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" and \"sample2\" are contained in any string within **`c_myString`**. The argument list can contain more than two strings.\n\n Note that this matching is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"isFreeEvent\": {\n \"$eq\": true\n }\n }\n\n For booleans, the filter takes a boolean value, not a string.\n Supports negation.\n |
| Matcher | \nDetails | \n
|---|---|
| $hasProperty | \n\n\n Matches if argument is a key (subfield) of field being filtered by. This filter type is useful for filtering by compound fields or to check if certain fields have a value set.\n\n {\n \"address\": {\n \"$hasProperty\": \"line1\"\n }\n }\n\n Note that if a given property of a compound field is not set, the filter will not match. For example, if `line1` of **`address`** is not set for an entity, then the above matcher will not match the entity.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Matching is case insensitive and insensitive to consecutive whitespace.\n\n e.g., \"XYZ 123\" matches \"xyz 123\"\n\n {\n \"eventStatus\": {\n \"$eq\": \"SCHEDULED\"\n }\n }\n\n Supports negation. Negating `$eq` on the list will match any field that does not hold any of the provided values.\n\n |
| $in | \n\n\n {\n \"eventStatus\": {\n \"$in\": [\n \"SCHEDULED\",\n \"POSTPONED\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values. For example:\n\n {\n \"$and\": [\n {\n \"eventStatus\":{\n \"!$eq\": \"SCHEDULED\"\n }\n },\n {\n \"firstName\":{\n \"!$eq\": \"POSTPONED\"\n }\n }\n ]\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"mainPhone\":{\n \"$eq\":\"+18187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"$eq\":\"8187076189\"\n }\n },\n {\n \"mainPhone\":{\n \"!$eq\":\"9177076189\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $startsWith | \n\n\n Matches if the field starts with the argument value.\n\n e.g., \"8187076189\" starts with \"818\"\n\n {\n \"mainPhone\":{\n \"$startsWith\": \"818\"\n }\n }\n\n Supports negation. Case insensitive.\n\n |
| $in | \n\n\n Matches if field value is a member of the argument list.\n\n {\n \"mainPhone\":{\n \"$in\": [\n \"8185551616\",\n \"9171112211\"\n ]\n }\n }\n\n Does not support negation. However, negation can be mimicked by using an `$and` matcher to negate individually over the desired values.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n Equals\n\n {\n \"ageRange.maxValue\": {\n \"$eq\": \"80\"\n }\n }\n\n Supports negation.\n\n |
| $lt | \n\n\n Less than\n\n {\n \"time.start\": {\n \"$lt\": \"2018-08-28T05:56\"\n }\n }\n\n |
| $gt | \n\n\n Greater than\n\n {\n \"ageRange.maxValue\": {\n \"$gt\": \"50\"\n }\n }\n\n |
| $le | \n\n\n Less than or equal to\n\n {\n \"ageRange.maxValue\": {\n \"$le\": \"40\"\n }\n }\n\n |
| $ge | \n\n\n Greater than or equal to\n\n {\n \"time.end\": {\n \"$ge\": \"2018-08-28T05:56\"\n }\n }\n\n |
| Combinations | \n\n\n While we do not support \"between\" in our filtering syntax, it is possible to combine multiple matchers for a result similar to an \"and\" operation:\n\n {\n \"ageRange.maxValue : {\n \"$gt\" : 10,\n \"$lt\": 20\n }\n }\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myStringList\": {\n \"$eq\": \"sample\"\n }\n }\n\n This filter will match if \"sample\" EXACTLY matches any string within **`c_myStringList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myStringList\": {\n \"$eqAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if any one of \"sample1\" or \"sample2\" EXACTLY match a string within **`c_myStringList`** . The argument can have more than two strings.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"sample1\" AND \"sample2\" EXACTLY match a string within **`c_myStringList`**. The argument can have more than two strings.\n\n Supports negation.\n\n |
| $contains | \n\n\n {\n \"c_myStringList\":{\n \"$contains\":\"sample\"\n }\n }\n\n This filter will match if \"sample\" is contained in any string within **`c_myStringList`**.\n\n Note that this matching is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAny | \n\n\n {\n \"c_myStringList\": {\n \"$containsAny\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n\n This filter will match if either \"sample1\" or \"sample2\" is contained in any string within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAny` is \"left edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This is a sample\", \"Sample one\", \"Sample 2\" but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $containsAll | \n\n\n {\n \"c_myStringList\": {\n \"$containsAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if BOTH \"sample1\" and \"sample2\" are contained in strings within **`c_myStringList`**. The argument list can have more than two strings.\n\n Note that similar to `$contains`, the matching for `$containsAll` is \"left-edge n-gram\", meaning the argument string must be the beginning of a token. The string \"sample\" will match strings like \"This a sample\", \"Sample one\", and \"Sample 2\", but not strings like \"thisisasamplewithoutspaces\".\n\n Supports negation.\n\n |
| $startsWith | \n\n\n {\n \"c_myStringList\": {\n \"$startsWith\":\"sample\"\n }\n }\n\n This filter will match if any string within **`c_myStringList`** starts with \"sample\".\n\n Does not supports negation. Case Insensitive.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $eq | \n\n\n {\n \"c_myDateList\": {\n \"$eq\": \"2019-01-01\"\n }\n }\n\n\n This filter will match if \"2019-01-01\" EXACTLY matches any date within **`c_myDateList`**.\n\n Supports negation.\n\n |
| $eqAny | \n\n\n {\n \"c_myIntegerList\": {\n \"$eqAny\": [1, 2]\n }\n }\n\n This filter will match if 1 or 2 EXACTLY match any integer within **`c_myIntegerList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| $eqAll | \n\n\n {\n \"c_myStringList\": {\n \"$eqAll\": [\n \"sample1\",\n \"sample2\"\n ]\n }\n }\n\n This filter will match if both \"2019-01-01\" AND \"2019-01-02\" EXACTLY match a date within **`c_myDateList`**. The argument list can have more than two elements.\n\n Supports negation.\n\n |
| Matcher | \nDetails | \n
|---|---|
| $openAt | \n\n\n {\n \"hours\": {\n \"$openAt\":\n \"2019-01-06T13:45\"\n }\n }\n\n\n This filter would match entities open at the specified time.\n\n |
| $closedAt | \n\n\n {\n \"hours\": {\n \"$closedAt:\n \"2019-01-06T13:45\"\n }\n }\n\n |
| $openForAllOf | \n\n\n {\n \"hours\": {\n \"$openForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n\n This filter would match only those entities that are open for the entire range between 2019-01-06T13:45 and 2019-01-06T15:00.\n\n {\n \"hours\": {\n \"$openForAllOf\":\n \"2019-05-10\"\n }\n }\n\n This filter would match entities open for the entire 24 hour period on 2019-05-10.\n\n You can also supply a year, a month, or an hour to filter for entities open for the entire year, month, or hour, respectively.\n\n |
| $openForAnyOf | \n\n\n {\n \"hours\": {\n \"$openForAnyOf\": {\n \"start\": \"now\",\n \"end\": \"now+2h\"\n }\n }\n }\n\n This filter will match any entities that are open for at least a portion of the time range between now and two hours from now.\n\n |
| $closedForAllOf | \n\n\n {\n \"hours\": {\n \"$closedForAllOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match only those entities that are closed for the entire given time range.\n |
| $closedForAnyOf | \n\n\n {\n \"hours\": {\n \"$closedForAnyOf\": {\n \"start\":\n \"2019-01-06T13:45\",\n \"end\":\n \"2019-01-06T15:00\"\n }\n }\n }\n\n This filter will match any entities that are closed for at least a portion of the given time range.\n |
| Matcher | \nDetails | \n
|---|---|
| $anywhere | \n\n\n Matches if the argument text appears anywhere in the entity (including subfields, structs, and lists)\n\n {\n \"$anywhere\": \"hello\"\n }\n\n This filter will match all entities that contain the string \"hello\" or strings that begin with \"hello\".\n\n |
| Filter Type | \nSyntax | \nDescription | \n
|---|---|---|
| Full | \nfieldName: {contains: $search} | \n$search is the search string | \n
| Text | \nfieldName: {$type: [$search,...]} | \n$type is one of [contains,doesNotContain,startsWith,equalTo], $search is an array of search strings, combined with OR | \n
| Text | \nfieldName: $type | \n$type is one of [empty,notEmpty] | \n
| Number | \nfieldName: {$type: $value} | \n$type is one of [eq,lt,gt,le,ge], $value is the numeric value | \n
| Number | \nfieldName: {$type: [$value1, $value2]} | \n$type is one of [between], $value1 and $value2 are numeric values | \n
| Date | \nfieldName: {$type: $value} | \n$type is one of [eq,lt,gt,le,ge], $value is a string of \"YYYY-MM-DD\" formatted date | \n
| Date | \nfieldName: $type | \n$type is one of [empty,notEmpty] | \n
| Date | \nfieldName: {$type: [$value1, $value2]} | \n$type is one of [between], $value1 and $value2 are strings of \"YYYY-MM-DD\" formatted date | \n
| Categories | \nfieldName: {$type: [$id,...]} | \n$type is one of [includes,notIncludes], $id is an array of numeric category IDs, combined with OR | \n
| Categories | \nfieldName: $type | \n$type is one of [none] | \n
| Assets | \nfieldName: {$type: [$id,...]} | \n$type is one of [includes,notIncludes], $id is an array of numeric category IDs, combined with OR | \n
| Assets | \nfieldName: $type | \n$type is one of [none] | \n
| Country | \nfieldName: {$type: [$country,...]} | \n$type is one of [includes,notIncludes], $country is an array of country code strings, combined with OR | \n
| PrimaryLanguage | \nfieldName: {$type: [$language,...]} | \n$type is one of [is,isNot], $language is an array of language code strings, combined with OR | \n
| AlternateLanguage | \nfieldName: {$type: [$language,...]} | \n$type is one of [includes, notIncludes], $language is an array of language code strings, combined with OR | \n
| StringSingle | \nfieldName: {$type: [$string,...]} | \n$type is one of [is,isNot], $string is an array of strings, combined with OR | \n
| StringList | \nfieldName: {$type: [$string,...]} | \n$type is one of [includes,notIncludes], $string is an array of strings, combined with OR | \n
| LocationType | \nfieldName: {$type: [$id,...]} | \n$type is one of [is,isNot], $id is an array of location type IDs, combined with OR | \n
| Bool | \nfieldName: $type | \n$type is one of [true,false] | \n
| Option | \nfieldName: {$type: $id} | \n$type is one of [is,isNot], $id is an option ID (For single option custom fields) | \n
| Option | \nfieldName: {$type: [$id,...]} | \n$type is one of [includes,notIncludes], $id is an array of option IDs, combined with OR (For multi option custom fields) | \n
| Folder | \nfieldName: [$id,...] | \n$id is a numeric folder ID | \n
| Folder | \nfieldName: $id | \n$id is a numeric folder ID | \n
| Folder | \nfieldName: {$type: [$id,...]} | \n$id is a numeric folder ID, $type is one of ['isIn', 'isNotIn'] | \n
| Labels | \nfieldName: {$type: [$id,...]} | \n$type is one of [includes,notIncludes], $id is an array of label IDs, combined with OR | \n
| Field Name | \nFilter Type | \nExample(s) | \n
|---|---|---|
| location | \nFull | \n\"location\": {\"contains\": \"Atlanta\"} | \n
| name | \nText | \n\"name\": {\"startsWith\": [\"Guitar\"]}, \"name\": {\"contains\": [\"A\",\"B\"]} | \n
| address | \nText | \n\"address\": {\"startsWith\": [\"South\"]} | \n
| address2 | \nText | \n\"address2\": {\"contains\": [\"Suite\"]} | \n
| city | \nText | \n\"city\": {\"contains\": [\"Atlanta\"]} | \n
| state | \nText | \n\"state\": {\"contains\": [\"AK\",\"VA\"]} | \n
| zip | \nText | \n\"zip\": {\"contains\": [\"M5K 7QB\"]} | \n
| phones | \nText | \n\"phones\": {\"startsWith\": [\"703\",\"571\"]} | \n
| specialOffer | \nText | \n\"specialOffer\": \"notEmpty\" | \n
| emails | \nText | \n\"emails\": {\"doesNotContain\": [\"@yext.com\"]} | \n
| website | \nText | \n\"website\": {\"equalTo\": [\"https://www.yext.com/\"]} | \n
| categories | \nCategories | \n\"categories\": {\"includes\": [23,755,34]} | \n
| closed | \nBool | \n\"closed\": true | \n
| storeId | \nText | \n\"storeId\": {\"equalTo\": [\"MCD0001\"]} | \n
| countryCode | \nCountry | \n\"countryCode\": {\"notIncludes\": [\"US\"]} | \n
| products | \nText | \n\"products\": {\"startsWith\": [\"Burger\",\"Fries\"]} | \n
| services | \nText | \n\"services\": {\"contains\": [\"Manicures\"]} | \n
| specialities | \nText | \n\"services\": \"notEmpty\" | \n
| associations | \nText | \n\"associations\": \"empty\" | \n
| brands | \nText | \n\"brands\": {\"equalTo\": [\"North Face\"]} | \n
| languages | \nText | \n\"languages\": {\"equalTo\": [\"English\",\"Spanish\"]} | \n
| keywords | \nText | \n\"keywords\": {\"startsWith\": [\"Franchise\"]} | \n
| menuIds | \nIdList | \n\"menuIds\": {\"includes\": [\"m-23\",\"755\",\"menu34\"]} | \n
| productListIds | \nIdList | \n\"productListIds\": {\"notIncludes\": [\"pl-2\"]} | \n
| calendarIds | \nIdList | \n\"calendarIds\": {\"notIncludes\": [\"cal34\"]} | \n
| bioIds | \nIdList | \n\"bioIds\": {\"includes\": [\"b23\",\"34\"]} | \n
| custom### | \nText (for Multiline Text, URL, Text List, and Text Custom Fields), Number, Date, Bool, or Option | \n\"custom123\": {\"equalTo\": [\"asdf\"]} | \n
| folder | \nFolder | \n\"folder\": 123, \"folder\": [123,456] | \n
| primary_language | \nPrimaryLanguage | \n\"primary_language\": {\"is\": \"fr_CA\"} | \n
| alternateProfileLanguage | \nAlternateLanguage | \n\"alternateProfileLanguage\": {\"includes\": [\"en\", \"fr\"]} | \n
| npi | \nStringSingle | \n\"npi\": {\"is\": [\"1234567890\", \"1111111111\"]} | \n
| conditionsTreated | \nText | \n\"conditionsTreated\": {\"startsWith\": [\"Influenza\"]}, \"conditionsTreated\": {\"contains\": [\"A\",\"B\"]} | \n
| lastUpdated | \nDate | \n\"lastUpdated\": {\"eq\": \"2018-01-01\"}, \"lastUpdated\": {\"between\": [\"2017-01-01\", \"2018-01-01\"]} | \n
| fieldsWithData | \nFields | \n\"fieldsWithData\": [\"email\", \"hours\"] | \n
| fieldsWithoutData | \nFields | \n\"fieldsWithoutData\": [\"logo\", \"video\"] | \n
| reviewCount | \nNumber | \n\"review_count\": {\"gt\": 1}, \"review_count \": {\"lt\": 10} | \n
| averageRating | \nNumber | \n\"averageRating\": {\"lt\": 3} | \n
| locationType | \nLocationType | \n\"locationType\": {\"is\": [1]}, \"locationType\": {\"isNot\": [123]} | \n
| gender | \nStringSingle | \n\"gender\": {\"is\": [\"FEMALE\"]}, \"gender\": {\"isNot\": [\"MALE\"]} | \n
| degrees | \nStringList | \n\"degrees\": {\"includes\": [\"MD\"]}, \"degrees\": {\"notIncludes\": [\"PHD\"]} | \n
| experiences | \nStringList | \n\"experiences\": {\"includes\": [\"FELLOWSHIP\"]}, \"experiences\": {\"notIncludes\":[\"INTERNSHIP\"]} | \n
| yearCompleted | \nNumber | \n\"yearCompleted\": {\"gt\": 2000}, \"yearCompleted\": {\"lt\": 2015} | \n
| acceptingNewPatients | \nBool | \n\"acceptingNewPatients\": true | \n
| firstName | \nText | \n\"firstName\": {\"startsWith\": [\"David\"]}, \"firstName\": {\"contains\": [\"A\",\"B\"]} | \n
| middleName | \nText | \n\"middleName\": {\"startsWith\": [\"P\"]}, \"middleName\": {\"contains\": [\"N\",\"E\"]} | \n
| lastName | \nText | \n\"lastName\": {\"startsWith\": [\"Sm\"]}, \"lastName\": {\"contains\": [\"Y\",\"Z\"]} | \n
| officeName | \nText | \n\"officeName\": {\"startsWith\": [\"Chiropractic\"]}, \"officeName\": {\"contains\":[\"Center\",\"P\"]} | \n
| certifications | \nText | \n\"certifications\": {\"contains\": [\"Radiation Oncology\"]} | \n
| institutionName | \nText | \n\"institutionName\": {\"startsWith\": [\"New York\"]} | \n
| insuranceAccepted | \nText | \n\"insuranceAccepted\": {\"startsWith\": [\"United\"]}, \"insuranceAccepted\":{\"contains\": [\"C\",\"Health\"]} | \n
| admittingHospitals | \nText | \n\"admittingHospitals\": {\"startsWith\": [\"Children's\"]}, \"admittingHospitals\":{\"contains\": [\"Medical\",\"University\"]} | \n
| subscriptions | \nIdList | \n\"subscriptions\": {\"notIncludes\": [\"123\"]} | \n
| facebookAccounts | \nIdList | \n\"facebookAccounts\": {\"notIncludes\": [\"1111\"]} | \n
| foursquareAccounts | \nIdList | \n\"foursquareAccounts\": {\"notIncludes\": [\"1111\"]} | \n
| googleplusAccounts | \nIdList | \n\"googleplusAccounts\": {\"notIncludes\": [\"1111\"]} | \n
| labels | \nLabels | \n\"labels\": {\"includes\": [1, 100]} | \n