Yext Accounts API

The Accounts API from Yext — 8 operation(s) for accounts.

OpenAPI Specification

yext-accounts-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Yext Admin Account Settings Accounts API
  version: '2.0'
servers:
- url: https://api.yextapis.com/v2
security:
- api_key: []
- api-key: []
tags:
- name: Accounts
paths:
  /accounts/{accountId}/search/autocomplete:
    get:
      operationId: autocomplete
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/autocompleteInput'
      - $ref: '#/components/parameters/autocompleteLimit'
      - $ref: '#/components/parameters/version'
      summary: 'Universal Search: Autocomplete'
      description: Retrieve a list of suggested queries across all verticals in the experience based on the characters already typed by the user. This API is meant to be hit after each keystroke.
      responses:
        '200':
          $ref: '#/components/responses/AutocompleteResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/search/query:
    get:
      operationId: query
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/queryLocale'
      - $ref: '#/components/parameters/requiredInput'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/location'
      - $ref: '#/components/parameters/session_id'
      - $ref: '#/components/parameters/universalLimit'
      - $ref: '#/components/parameters/queryTrigger'
      - $ref: '#/components/parameters/context'
      - $ref: '#/components/parameters/referrerPageUrl'
      - $ref: '#/components/parameters/skipSpellCheck'
      - $ref: '#/components/parameters/restrictVerticals'
      - $ref: '#/components/parameters/ignoreQueryRules'
      - $ref: '#/components/parameters/queryId'
      - $ref: '#/components/parameters/source'
      - $ref: '#/components/parameters/jsLibVersion'
      summary: 'Universal Search: Query'
      description: 'Search for entities across all verticals within a Search experience.  Modules are returned for all verticals with relevant entities. Further fine tuning and filtering of the results can then be done using the vertical query endpoint. A maximum of 50 verticals can be queried with this endpoint.


        In order prevent bot traffic from using Search API Capacity, you must integrate with the Search API from the front end of your application.  The Search API''s Bot Detection feature requires the API to be called directly from the end-user''s web browser.  If you must integrate with the Search API via another mechanism, all traffic will be charged against your search capacity and some features of Search Analytics, such as Search Terms and Search Term Clustering may not work.

        '
      responses:
        '200':
          $ref: '#/components/responses/UniversalQueryResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/search/vertical/autocomplete:
    get:
      operationId: verticalAutocomplete
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/verticalKey'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/autocompleteInput'
      - $ref: '#/components/parameters/autocompleteLimit'
      - $ref: '#/components/parameters/version'
      summary: 'Vertical Search: Autocomplete'
      description: Retrieve a list of suggested queries for the selected vertical based on the characters already typed by the user or the most popular queries when no user input is given.
      responses:
        '200':
          $ref: '#/components/responses/AutocompleteResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/search/vertical/query:
    get:
      operationId: verticalQuery
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/verticalKey'
      - $ref: '#/components/parameters/queryLocale'
      - $ref: '#/components/parameters/verticalInput'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/location'
      - $ref: '#/components/parameters/locationRadius'
      - $ref: '#/components/parameters/session_id'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/queryTrigger'
      - $ref: '#/components/parameters/context'
      - $ref: '#/components/parameters/referrerPageUrl'
      - $ref: '#/components/parameters/skipSpellCheck'
      - $ref: '#/components/parameters/Filters'
      - $ref: '#/components/parameters/FacetFilters'
      - $ref: '#/components/parameters/retrieveFacets'
      - $ref: '#/components/parameters/SortBys'
      - $ref: '#/components/parameters/ignoreQueryRules'
      - $ref: '#/components/parameters/queryId'
      - $ref: '#/components/parameters/source'
      - $ref: '#/components/parameters/jsLibVersion'
      summary: 'Vertical Search: Query'
      description: 'Search for entities within the selected vertical.  Vertical query allows for fine tuning of the search using filters, facets and sorts passed in through the API.


        In order prevent bot traffic from using Search API Capacity, you must integrate with the Search API from the front end of your application.  The Search API''s Bot Detection feature requires the API to be called directly from the end-user''s web browser.  If you must integrate with the Search API via another mechanism, all traffic will be charged against your search capacity and some features of Search Analytics, such as Search Terms and Search Term Clustering may not work.

        '
      responses:
        '200':
          $ref: '#/components/responses/VerticalQueryResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/search/filtersearch:
    get:
      operationId: filtersearch
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/filterSearchVerticalKey'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/requiredInput'
      - $ref: '#/components/parameters/SearchParameters'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/excluded'
      summary: 'Vertical Search: Filter Search'
      description: Retrieve a list of potential filters that match the user's input up to that point.  This differs from query suggest by only returning the names of filters that can be searched rather than the broader corpus of suggested queries.
      responses:
        '200':
          $ref: '#/components/responses/FilterSearchResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/search/generateAnswer:
    post:
      operationId: generateAnswer
      summary: 'Answer: Generate

        '
      description: 'Leverages large language models (LLMs) to deliver generated summaries based on search results.


        This endpoint works with the Universal/Vertical Search endpoint, which provides the search results for the LLM to analyze and generate direct answers.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/experienceKey'
      - $ref: '#/components/parameters/queryLocale'
      requestBody:
        description: JSON object containing the search results and user query to generate an answer.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateAnswerRequest'
      responses:
        '200':
          $ref: '#/components/responses/GenerateAnswerResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
      tags:
      - Accounts
  /accounts/{accountId}/chat/{botId}/message:
    post:
      operationId: message
      description: Send messages and receive responses from a Yext Chat bot.
      summary: 'Chat: Message Endpoint'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/botId'
      responses:
        '200':
          description: Message Response
          content:
            application/json:
              schema:
                title: MessageResponse
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  response:
                    type: object
                    properties:
                      conversationId:
                        $ref: '#/components/schemas/conversationId'
                      message:
                        $ref: '#/components/schemas/Message'
                      notes:
                        $ref: '#/components/schemas/Notes'
        default:
          description: Error Response
          content:
            application/json:
              schema:
                title: Message Response
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  error:
                    $ref: '#/components/schemas/Error'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                messages:
                  description: List of messages representing the full conversation history.
                  type: array
                  items:
                    $ref: '#/components/schemas/Message'
                conversationId:
                  $ref: '#/components/schemas/conversationId'
                notes:
                  $ref: '#/components/schemas/Notes'
                context:
                  type: object
                  description: Additional, user-defined information that is passed to the chatbot, and can be referenced in the instruction flow.
                version:
                  type: string
                  enum:
                  - LATEST
                  - STAGING
                  - PRODUCTION
                  description: The version of chatbot. Defaults to `LATEST`.
      tags:
      - Accounts
  /accounts/me/events:
    post:
      operationId: sendEvents
      summary: Analytics Events
      description: "Send user events from your Yext digital experiences to Yext Analytics in near real-time.\n\nThis documentation is for version `1.0.0` of the Events API. If you are still using version\n`0.6`, refer to the documentation in the yext/analytics Github repository \n[here](https://github.com/yext/analytics/blob/release/v0.6.8/src/models/EventPayload.ts).\n"
      requestBody:
        description: JSON object containing the events to be sent to Yext Analytics
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendEventsRequestBody'
      responses:
        '202':
          description: Successful request, return analytics event ID that related to this event
          content:
            application/json:
              schema:
                title: SendEventsResponse
                type: object
                properties:
                  id:
                    type: string
                    description: The ID of the event.
        '429':
          description: Exceeded the limit of requests in the last minute
          content:
            application/json:
              schema:
                title: SendEventsResponse
                type: object
                properties:
                  id:
                    type: string
                    description: The ID of the event.
                  errors:
                    type: array
                    description: Array of error messages that occurred during the request.
        default:
          description: Error response
          content:
            application/json:
              schema:
                title: SendEventsResponse
                type: object
                properties:
                  id:
                    type: string
                    description: The ID of the event.
                  errors:
                    type: array
                    description: Array of error messages that occurred during the request.
      tags:
      - Accounts
components:
  parameters:
    context:
      name: context
      in: query
      required: false
      schema:
        type: string
      description: Context is an arbitrary JSON object that is passed to query rules to be used for triggering rules as well as passing data to those rules. This parameter should be provided as a URL-encoded string containing a JSON object.
    jsLibVersion:
      name: jsLibVersion
      in: query
      required: false
      schema:
        type: string
      description: The version of the Search UI used for this request. Deprecated.
    filterSearchVerticalKey:
      name: verticalKey
      in: query
      required: true
      schema:
        type: string
      description: String key that uniquely identifies the vertical to scope the filter search request to.
    queryTrigger:
      name: queryTrigger
      in: query
      required: false
      schema:
        type: string
      description: 'String value that is logged to analytics denoting the trigger for the query.

        Options include:

        * `suggest`, sent if the query is triggered from a spelling correction.

        * `initialize`, sent if the query is being triggered by a default initial search (in other words, the user did not enter query).

        '
    referrerPageUrl:
      name: referrerPageUrl
      in: query
      required: false
      schema:
        type: string
      description: The URL of the webpage that directed to the page this request was made from.
    requiredInput:
      name: input
      in: query
      required: true
      schema:
        type: string
      description: The search term of the user.
    SortBys:
      name: sortBys
      in: query
      required: false
      schema:
        type: string
      description: "This parameter overrides the sort options that are configured on the experience configuration.  This parameter should be provided as a URL-encoded string containing a JSON array.\n\nThe input is a JSON array containing each of the sort options in the order in which they should be applied.\n\nEach sort options must contain a `type`\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Type</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>RELEVANCE</th>\n    <th>Sorts based on relevance according to the algorithm and, when relevant, location bias</th>\n  </tr>\n  <tr>\n    <th>ENTITY_DISTANCE</th>\n    <th>Sorts based on entity distance alone</th>\n  </tr>\n  <tr>\n    <th>FIELD</th>\n    <th>sorts based on a field with the direction specified</th>\n  </tr>\n</table>\n\n</br>\n\nIf the `type` is `FIELD` the sort options must also specify `field` which is the api name of the field to sort on.\n\nFinally, if the `type` is `FIELD` the sort options must also specify the `direction`.\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Direction</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>ASC</th>\n    <th>Sorts in ascending order.  For numbers this is low to high. For text this is alphabetical.  For dates this is chronological order.</th>\n  </tr>\n  <tr>\n    <th>DESC</th>\n    <th>Sorts in ascending order.  For numbers this is high to low. For text this is reverse alphabetical.  For dates this is reverse chronological order.</th>\n  </tr>\n</table>\n\n</br>\n\n**Examples**\n```\n[\n  {\n    \"type\": \"FIELD\",\n    \"direction\": \"ASC\",\n    \"field\": \"startDate\"\n  },\n  {\n    \"type\": \"RELEVANCE\",\n    \"direction\": \"ASC\"\n  }\n]\n```\n"
    experienceKey:
      name: experienceKey
      in: query
      required: true
      schema:
        type: string
      description: String key that uniquely identifies the Search experience.
    locationRadius:
      name: locationRadius
      in: query
      required: false
      schema:
        type: string
      description: Radius (in meters) that should be applied to any location filter that does not already have an explicit radius.
    excluded:
      name: excluded
      in: query
      required: false
      schema:
        type: string
      description: "This parameter represents any values which should not be returned. This parameter should be provided as a URL-encoded string containing a JSON array, where each entry of the array is a JSON object representing a field and an excluded value for that field. For example:\n```\n[\n  {\n    \"name\": {\n      \"$eq\": \"John\"\n    }\n  },\n  {\n    \"c_jobCategory\": {\n      \"$eq\": \"Engineering\"\n    }\n  }\n]\n```\n"
    location:
      name: location
      in: query
      required: false
      schema:
        type: string
      description: The user's location as a comma separated latitude and longitude (e.g. `"40.740957,-73.987565"`).
    locale:
      name: locale
      in: query
      required: true
      schema:
        type: string
      description: The locale code of the experience (e.g. `en_GB`).
    session_id:
      name: session_id
      in: query
      required: false
      schema:
        type: string
      description: UUID used to track session state when cookies are blocked.
    accountId:
      name: accountId
      in: path
      required: true
      schema:
        type: string
    skipSpellCheck:
      name: skipSpellCheck
      in: query
      required: false
      schema:
        type: boolean
      description: If true the query will skip spell checking.
    verticalKey:
      name: verticalKey
      in: query
      required: true
      schema:
        type: string
      description: String key that uniquely identifies the vertical.
    source:
      name: source
      in: query
      required: false
      schema:
        type: string
      description: Indicates where the query is coming from (e.g. `"HOME_HEADER"` or `"TICKET_FORM"`). Can be used in Analytics reports via the `Integration Source` dimension. Defaults to `"STANDARD"`.
    universalLimit:
      name: limit
      in: query
      required: false
      schema:
        type: string
      description: JSON object specifying the limit for each vertical.  Each key is a vertical key and the value for each of those keys is a number 1-50 that denotes the limit for that vertical. This parameter should be provided as a URL-encoded string containing a JSON object.
    Filters:
      name: filters
      in: query
      required: false
      schema:
        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 filters param after URL-encoding will be: `filters=%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 to form a conjunction (AND) of disjunctions (ORs) using the *combinators* `$and` and `$or`.  For example:\n```\n{\n  \"$and\": [\n    {\n      \"$or\": [\n        {\n          \"firstName\": {\n            \"$eq\": \"Jane\"\n          }\n        },\n        {\n          \"firstName\": {\n            \"$eq\": \"John\"\n          }\n        }\n      ]\n    },\n    {\n      \"lastName\": {\n        \"$eq\": \"Smith\"\n      }\n    }\n  ]\n}\n```\nAny filter that is the only item in its respective combinator may omit the combinator as is done with the lastName above.\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**TEXT**\n\nThe `TEXT` filter type is supported for text fields. (e.g., **`name`**, **`countryCode`**)\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Matcher</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>$eq (equals)</th>\n    <th>\n\n    {\n      \"countryCode\":{\n        \"$eq\":\"US\"\n      }\n    },\n    {\n      \"countryCode\":{\n        \"!$eq\":\"US\"\n      }\n    }\n\n  Supports negation. Case insensitive.\n  </tr>\n  <tr>\n</table>\n\n**BOOLEAN**\n\n\nThe BOOLEAN filter type is supported for boolean fields and Yes / No custom fields.\n<table style=\"width:100%\">\n  <tr>\n    <th>Matcher</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>$eq</th>\n    <th>\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  </tr>\n</table>\n\n**OPTION**\n\nThe OPTION filter type is supported for option custom fields and fields that have a predetermined list of valid values.\n\n *e.g., **`eventStatus`**, **`gender`**, `SINGLE_OPTION` and `MULTI_OPTION` types of custom fields.*\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Matcher</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>$eq</th>\n    <th>\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</table>\n\n**INTEGER, FLOAT, DATE, DATETIME, and TIME**\n\nThese filter types are strictly ordered -- therefore, they support the following matchers:\n- Equals\n- Less Than / Less Than or Equal To\n- Greater Than / Greater Than or Equal To\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Matcher</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>$eq</th>\n    <th>\n\n  Equals\n\n    {\n      \"ageRange.maxValue\": {\n        \"$eq\": \"80\"\n      }\n    }\n\n  Supports negation.\n\n  </tr>\n  <tr>\n    <th>$lt</th>\n    <th>\n\n  Less than\n\n    {\n      \"time.start\": {\n        \"$lt\": \"2018-08-28T05:56\"\n      }\n    }\n\n  </tr>\n  <tr>\n    <th>$gt</th>\n    <th>\n\n  Greater than\n\n    {\n      \"ageRange.maxValue\": {\n        \"$gt\": \"50\"\n      }\n    }\n\n  </tr>\n  <tr>\n    <th>$le</th>\n    <th>\n\n  Less than or equal to\n\n    {\n      \"ageRange.maxValue\": {\n        \"$le\": \"40\"\n      }\n    }\n\n  </tr>\n  <tr>\n    <th>$ge</th>\n    <th>\n\n  Greater than or equal to\n\n    {\n      \"time.end\": {\n        \"$ge\":  \"2018-08-28T05:56\"\n      }\n    }\n\n  </tr>\n  <tr>\n    <th>$between</th>\n    <th>\n\n  An array that must contain exactly two elements with which the result is between.\n\n    {\n      \"time.end\": {\n        \"$between\":  [\"2018-08-28T05:56\", \"2018-08-29T05:56\"]\n      }\n    }\n\n  </tr>\n  <tr>\n    <th>Combinations</th>\n    <th>\n\n  In addition to between, 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  </tr>\n</table>\n"
    v:
      name: v
      in: query
      required: true
      schema:
        type: string
      description: A date in `YYYYMMDD` format.
    ignoreQueryRules:
      name: ignoreQueryRules
      in: query
      required: false
      schema:
        type: boolean
      description: When set to true, ignores any Query Rules that would otherwise affect the results. Defaults to false.
    autocompleteLimit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        default: 10
        maximum: 100
        minimum: 1
      description: Number of autocomplete results to return.
    queryLocale:
      name: locale
      in: query
      required: true
      schema:
        type: string
      description: The locale code of the experience (e.g. `en_GB`). Only returns entities that have an entity profile associated with this locale.
    FacetFilters:
      name: facetFilters
      in: query
      required: false
      schema:
        type: string
      description: "This parameter represents the state of the currently checked facet options. This parameter should be provided as a URL-encoded string containing a JSON object.\n\nThe JSON object contains a key for each facet category that has a checked facet option.  The value for each of these keys is an array of Filter objects that describe the filter that is applied by the facet option.\n\nAt the moment, facet options only support `$eq`.\n\nFor example, if `Engineering` was checked under the `Category` facet and `Chicago` and `New York` are checked under the `Job Location` facet, the `facetFilters` would look like:\n```\n{\n  \"c_jobCategory\": [\n    {\n      \"c_jobCategory\": {\n        \"$eq\": \"Engineering\"\n      }\n    }\n  ],\n  \"c_jobLocation\": [\n    {\n      \"c_jobLocation\": {\n        \"$eq\": \"Chicago\"\n      }\n    },\n    {\n      \"c_jobLocation\": {\n        \"$eq\": \"New York\"\n      }\n    }\n  ]\n}\n```\n"
    retrieveFacets:
      name: retrieveFacets
      in: query
      required: false
      schema:
        type: boolean
      description: Whether facets should be computed for this vertical query.
    queryId:
      name: queryId
      in: query
      required: false
      schema:
        type: string
      description: UUID of the query; recommended when moving through results, to associate multiple requests to the same query.
    botId:
      name: botId
      in: path
      required: true
      schema:
        type: string
      description: The ID of the chatbot.
    SearchParameters:
      name: search_parameters
      in: query
      required: true
      schema:
        type: string
      description: "This parameter represents the parameters that should be used for filter search. This parameter should be provided as a URL-encoded string containing a JSON object.\n\nFilter search uses the user's input string to find a set of existing filters that match the user's input query for the fields provided in the parameters.\n\nThe JSON object must have a `fields` property made up of a list of `FilterField` objects that have the following properties:\n\n<table style=\"width:100%\">\n  <tr>\n    <th>Property</th>\n    <th>Details</th>\n  </tr>\n  <tr>\n    <th>fieldId</th>\n    <th>The api name of the field.</th>\n  </tr>\n  <tr>\n    <th>entityTypeId</th>\n    <th>The api name for the entity type the filter belongs to.</th>\n  </tr>\n  <tr>\n    <th>shouldFetchEntities</th>\n    <th>Optional boolean.  If true, entities matching each filter will be returned inline with the filter.</th>\n  </tr>\n</table>\n\n</br>\n\nAdditionally, there is an optional boolean property `sectioned`.  If set to true, the matching filters will be returned in a separate section per field.  By default, they are all returned in the same section.\n"
    autocompleteInput:
      name: input
      in: query
      required: false
      schema:
        type: string
      description: The partial search term from the user.
    restrictVerticals:
      name: restrictVerticals
      in: query
      required: false
      schema:
        type: string
      description: A comma-separated list of verticals (e.g. `"people,locations"`). If specified, only results from these verticals will be returned.
    version:
      name: version
      in: query
      required: false
      schema:
        type: string
      description: The label or version number of the experience configuration to use. Label options are `STAGING` or `PRODUCTION`. `STAGING` uses the Latest version of the configuration. If omitted the `PRODUCTION` label will be used.
    offset:
      name: offset
      in: query
      required: false
      schema:
        type: integer
        minimum: 0
        maximum: 9949
        default: 0
      description: Number of results to skip. Used to move through results.
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 10
        maximum: 50
      description: Number of results to return.
    verticalInput:
      name: input
      in: query
      required: false
      schema:
        type: string
      description: The search term of the user.
  schemas:
    Entity:
      type: object
      properties:
        data:
          type: object
          description: 'The data containing the main content of the entity. The format of the data is dependent on the entity type.

            '
        highlightedFields:
          type: object
          description: 'A map from fieldId to highlighted element.

            '
        distance:
          type: integer
          description: 'The distance in meters between the entity and the query''s location bias.

            '
        distanceFromFilter:
          type: integer
          description: 'The distance in meters between the entity and the filter applied to the query.

            '
    SearchIntents:
      type: array
      description: 'Items in array each represent a particular intent expressed in the user''s query. Example: `NEAR_ME`

        '
      items:
        type: string
    Facets:
      type: object
      properties:
        fieldId:
          type: string
          description: The field identifier for the field being searched.
        displayName:
          type: string
          description: The display name for the field being searched.
        options:
          type: array
          items:
            type: object
            properties:
              displayName:
                type: string
                description: The display name for the Facet option.
              count:
                type: integer
                description: The number of entities within the vertical that are relevant to this Facet option.
              isSelected:
                type: boolean
                description: A boolean indicator of whether this Facet option was used to filter results in the response.
              filter:
                $ref: '#/components/schemas/filter'
    filter:
      type: object
      description: 'The filter, in the filter format, that was applied.

        <br><br>

        For example: `"c_exampleFieldId": { $eq": "Search" }`

        '
      example: 'c_exampleFieldId: { $eq": "Search" }

        '
    Message:
      type: object
      properties:
        timestamp:
          type: string
          description: Timestamp when the message was received, in ISO 8601 format.
        source:
          type: string
          enum:
          - USER
          - BOT
          description: Either `USER` if the message was sent by the human user, or `BOT` if the message was sent by the chatbot.
        text:
          type: string
          description: The text of the message.
    ResponseMetaWithError:
      allOf:
      - $ref: '#/components/schemas/ResponseMeta'
      - type: object
        properties:
          errors:
            type: array
            description: List of errors and warnings.
            items:
              $ref: '#/components/schemas/ResponseError'
    FailedVertical:
      type: object
      properties:
        verticalConfigId:
          $ref: '#/components/schemas/verticalConfigId'
        errorType:
          type: string
          description: 'An identifier for the type of error causing the failure.

            '
          enum:
          - TIMEOUT
          - BACKE

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yext/refs/heads/main/openapi/yext-accounts-api-openapi.yml