Yext Listings: Partner Documentation (2.0)

Download OpenAPI specification:Download

Integration Overview

This section helps you understand how your site becomes integrated with Yext and what we need from you during the implementation process. Depending on the type of integration you are setting up, some sections may not apply.

Integration Process

When you decide to become a Yext Listings publisher, you can expect the implementation process to unfold as follows: Yext sends you a pre-implementation questionnaire. After we receive your completed questionnaire, we set up a kick-off call with you to more thoroughly explain the implementation process and answer any questions you may have.

Your team builds the required APIs and delivers them to Yext one at time, along with other required materials, in this order:

  • Categories
  • SEARCH API
  • DETAILS API
  • ORDER API
  • UPDATE API
  • CANCEL API
  • SUPPRESS API
  • REVIEWS API
  • SUGGESTIONS API
  • CSS Selectors

Your team will also build around the following Yext APIs for accessing Enhanced Conent lists, sending webhook notifications, and providing analytics:

After Yext receives each API, we test it and give you feedback as soon as possible.

  • One of our engineers does cursory testing to determine if the API is functional.
  • A member of our Operations team then conducts more thorough testing to ensure the API is working correctly.
  • When all integration points are completed, Yext completes stress testing using real data, which helps to ensure that we can add many locations at once without issue.
  • After each launch, we share any issues we encountered. These issues must be resolved before attempting the next launch.
  • When all launches pass, we begin to add all Yext businesses to your site through the APIs.

For required API fields, please refer to the Data Formats section below.

Security Measures

To ensure the integrity of your integration, we have put the following security measures in place and are enforcing them for all API requests sent to or from Yext.

HTTPS

HTTPS connections are required when sending API requests or responses.

Secure IDs

You must provide Yext with at least one of the following methods to authenticate our connection to your system:

  • Basic authentication with login credentials that you specify
  • API keys

Authentication should be implemented so they can be easily updated/refreshed upon Yext’s request, as our team will refresh these credentials from time to time.

IP Filtering

Using IP address filtering as a security measure is required when integrating with Yext. Yext uses a static set of IP addresses when sending API requests to your system that you can use to configure our access to your databases. The full list of IP addresses will be provided by your TPM.

Rate Limits

In order to ensure an optimal user experience for both businesses and consumers, we ask all publishers to meet the requirements outlined in the table below.

Requirement Description

You must allow Yext to issue 700,000 queries per day and up to 12 QPS.

Three API endpoints in particular need to support high volume:

  • SEARCH and DETAILS
  • UPDATE, since large customers can generate many updates by bulk-editing their locations

You must not block Yext from scraping your property, including SERP and profile pages.

Yext takes screenshots of listings when they go live, which can result in many thousands of page views per day. You may want to filter those page views from other purposes (e.g., in order to not charge advertisers for Yext page views).

Our requests will always originate from the Yext IP addresses.

Volume

Yext will generally not send more than the following for each endpoint:

  • Search/Details/Reviews - 7 QPS or 500K requests per day collectively
  • Order/Update/Cancel - 5 QPS or 200K requests per day collectively

Each API is designed for a particular set of users.

Design Guidelines

Field Type Specifications
Business name

  • You should be able to accommodate at least 100 characters.
  • You should respect the spelling and capitalization that we pass to you (e.g., the first letter may not always be capitalized).

Business address

  • The business address fields should be displayed in the correct order based on the country of the location.
  • If a displayAddress value is provided for the address, it should be shown after address2 and before city.
  • If address.visible is false, hide only address and address2 on the listing and on the SERP.

Phone numbers

  • All phone numbers should be formatted according to local conventions, without the country code.
  • You should able to support all of the following types of phone numbers and label them as specified by Yext:
    • Main Phone
    • Alternate Phone
    • Fax
    • Mobile
    • Toll-Free
    • TTY
  • The Main Phone number must appear at the top of the listing and should not be repeated at the bottom of the listing in an "Additional Phone Numbers" section.
  • An "Additional Phone Numbers" section should only appear if we provide you with additional types of phone numbers (Alternate Phone, Fax, etc.).

Map marker

  • The location's map marker should be updated based on the latitude and longitude provided by Yext.
  • If address.visible is false, complete one of the following options both on the listing and on the SERP.
    • completely remove the map from the listing or SERP
    • hide the map marker
    • move the map marker to the center of the location's city
  • You must also ensure that the location's address is not in the listing page's source code and is not visible to search engines.

Featured Message

  • The Featured Message text should be highlighted in some way (i.e., a box around it, shaded background, or both).
  • The text should be preceded by a special icon. Yext can provide you with examples, but we encourage you to create your own.
  • The Featured Message, with its special formatting, should appear on both in the listing and on the search engine results page (SERP) under or as close to the business name as possible.
  • You should be able to create new listings that do not contain Feature Messages. If we pass a blank Featured Message, the special icon should not appear in the listing or on the SERP.

Featured Message URL

  • The Featured Message should only be clickable in the listing and on the SERP when a Featured Message URL is provided.
  • The capitalization in the URL should be reflected in the listing and on the SERP.

Website URLs

  • The capitalization in the URLs provided by Yext should be reflected in your listings.
  • You should be able to accommodate URLs of unlimited length.
  • You should be able display an unlimited number of websites in your listings.
  • The first URL that we pass you should be displayed as the "main" URL on the listing and appear at the top of the page.
  • If a displayURL is provided for a website, that URL should appear in the listing, but the link should redirect the consumer to the site specified by that URL's url.
  • When displaying links to websites, you should show each website's type followed by its clickable URL. For example:
    • Website: www.location.example.com
    • Reservation: www.location.example.com/reserve
    • Menu: www.location.example.com/menu
    • Order: www.location.example.com/order
  • You should be able to show more than one URL for each type of website.

Description

  • You should be able to accommodate at least 5,000 characters.
  • You should be able to support newline characters (i.e., separate text into paragraphs).
  • You should be able to support non-Latin characters.

Email addresses

  • All email addresses should be clickable.
  • You should be able to display an unlimited number of email addresses in your listings.

Hours

  • It is your choice whether to include the :00 at the end of hours.
  • Hours should be shown with the day they apply to (e.g., Friday: 8:00am - 5:00pm).
  • You should be able to accommodate the following types of hours:
    • Split hours (e.g., Thursday: 8:00am - 1:30pm, 4:00pm - 9:30pm)
    • Closed (e.g., Monday: Closed. If a business is closed on a certain day, do not omit that day from the listing.)
    • Open 24 hours (e.g., Tuesday: Open 24 hours. If is business is open all day on a certain day, do not list the day without any hours.)
  • You should be able to support and display some indicator for “temporarily closed” businesses

Business hours text

  • It is your choice whether to include the :00 at the end of hours.
  • Hours should be shown with the day they apply to (e.g., Friday: 8:00am - 5:00pm).
  • You should be able to accommodate the following types of hours:
    • Split hours (e.g., Thursday: 8:00am - 1:30pm, 4:00pm - 9:30pm)
    • Closed (e.g., Monday: Closed. If a business is closed on a certain day, do not omit that day from the listing.)
    • Open 24 hours (e.g., Tuesday: Open 24 hours. If is business is open all day on a certain day, do not list the day without any hours.)
  • You should be able to support and display some indicator for “temporarily closed” businesses

Logo

If you have any special placement for a business's logo in the listing or on the SERP, apply it to the image that has type set to logo.

Photos

  • The order of the photos in the listing should match the order given by Yext.
  • You should be able to support an up to 50 photos on your listings.
  • You must be able to remove outdated photos (i.e., those not included in the most recent update).

Photo captions

Each photo caption should appear directly under the photo it describes.

Videos

  • Ideally, videos should be embedded in the listing page.
  • You should be able to support an unlimited number of videos in your listings.
  • We will sometimes provide a description and type for each video:
    • description: a caption for the video
    • type: can be ignored

Categories

  • You should be able to support up to 10 categories on your listings.
  • You should be able to create a new listing without passing a category.
  • Listings should be searchable by all categories sent to you by Yext.
  • The category names in the listings should match those provided in the taxonomy you send to Yext.
  • The categories that Yext sends you must have the same functionality as the native categories on your site (e.g., if your category names are normally clickable and redirect the consumer to a "search by category" page, the categories that we send to you must have those same properties).

Attribution

  • The attribution logo should appear toward the bottom of your listings.
  • The attribution logo should be clickable and linked to the URL provided by Yext.

Payment Options

The table below lists the possible values for paymentOptions in our Listing Format, along with the countryCode values for which they are valid.

Payment Option Valid countryCode values
Alipay CN,DE,JP
American Express All
Apple Pay AE,AT,AU,CA,CH,CN,DE,DK,ES,FI,GB,GG,GU,HK,IE,IM,IT,JE
JP,MO,NZ,PL,PR,RU,SE,SG,SM,TW,US,VI
ATM AT
ATM Quick AT
BACS GB,IE
Bancontact BE only
Bank Deposit MX only
Banküberweisung CH,DE
Bank/Giro Overschrijving NL only
Bitcoin All
Bargeld AT, CH, DE
CartaSi IT only
Cash All
CCS CZ only
Check All except BE and DE
Contactloos betalen NL only
Cadeaubon/VVV bon NL only
Debit Note AT only
Diners Club All
Direct Debit AU, GB, and IE only
Discover All except AT, BE
Girokarte AT,CH,DE,IT
EcoCheque BE only
E-kena BE only
Elektronische Maaltijdcheques BE only
Financing All except AT
Google Pay All
GoPay CZ only
He-Bag CN only
iBOD CZ only
IC Cards JP only
ID JP only
iDeal NL only
Incasso NL only
Invoice All
JCB AT,BE,IT,JP
JKO Pay JP only
Klantenkaart NL only
Klarna SE only
LINE Pay JP only
Maestro AT,BE,CH, DE, GB, HR, IT, NL, PL, SI
MasterCard All
MI Pay CN only
Monizze BE only
Manuelle Lastschrift CH,DE
nanaco JP only
Nexi IT only
Onder Rembours NL only
Paybox Pay DE only
Paybox AT only
Payconiq BE,NL
PayPal All
PayPay JP only
PaySec CZ only
Postepay IT only
QR Code Payment JP only
QUICPay JP only
Rakuten Edy JP only
Samsung Pay CN, US
Sodexo AT, BE, CZ
Swish SE only
Ticket Restaurant IT, BE
Traveler's Check All except AT and BE
China UnionPay CN, JP
Via een verzekering NL only
Visa All
Visa Electron BE only
Vooruit betalen NL only
Voucher IT, MX
V Pay European countries
WAON JP only
WeChat Pay CN, JP
Wire Transfer MX only

CSS Selectors

After the integration process, we will need to periodically scan, or scrape, your listings to ensure that you are displaying the most up-to-date data. In order for us to successfully scan your site's listings, we ask that you assign specific CSS selector names to each field you support.

You may choose different names for each field, but please inform us of the selector names. In addition, you may use CSS selectors that already exist as long as they are unique. Please use the same set of CSS selector names for both Yext-powered listings and listings that are in your site’s default format.

Listings

Search

Yext uses SEARCH to search your site for existing listings. We expect the SEARCH API response to match the search results on your website or mobile app. You should support at least the following search requests:

  • Phone and Country Code
  • Name and Lat/Lng OR Name and Address
query Parameters
name
string

Business name.

e.g. Yext

address
string

Street address, including house numbers, to search.

e.g 75 9th Ave, Bismarckstraße 35

address2
string

Address line 2 to search.

e.g. 7th floor

sublocality
string

Sublocality (e.g., neighborhood, ward or district) in which to search.

e.g. pos. Lesnoe (Russia), Saiwai-ku (Japan)

city
string

City in which to search

e.g. New York

state
string

State, region, or province in which to search. Abbreviations are used for some countries.

e.g. NY, Kanagawa

zip
string

ZIP or postal code in which to search.

e.g. 10011, 212-0011, 4841 EP

countryCode
string

The ISO 3166-1 alpha-2 code of the country in which to search.

e.g. GB, NL, GB

phone
string

Location's phone number. For international numbers, this number reflects how the number is dialed within the country (i.e., no country code or punctuation).

e.g. 2126518966

latlng
string

latitude and longitude coordinates, separated by a comma.

e.g. -27.1259105,-109.4789002

firstName
string

The first name of the healthcare professional whose records should be returned.

NOTE: You only need to support this parameter if your site supports first/last name search.

lastName
string

The last name of the healthcare professional whose records should be returned.

NOTE: You only need to support this parameter if your site supports first/last name search.

npi
string

National Provider Identifier (NPI) of the healthcare professional or facility whose records should be returned.

NOTE: This parameter will only be used if you have NPI data.

type
string
Enum: "Location" "HealthcareFacility" "HealthcareProfessional"

The kind of records that should be returned.

NOTE: This parameter will only be used if you support more than just the Location type.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Details

Yext uses DETAILS to retrieve listings details from your site using a known existing listing ID. The Details API should be able to retrieve data for both Yext-powered listings and listings that are in your site’s native format.

NB For any of the array fields, if there are no items, please default to an empty array, instead of omitting the field, or returning null.

If the type of the listing is HealthcareProfessional or HealthcareFacility, additional fields are required.

query Parameters
id
required
string

The unique identifier of a listing on your site.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "xTydnfger",
  • "status": "AVAILABLE",
  • "name": "string",
  • "address": "string",
  • "address2": "string",
  • "sublocality": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "countryCode": "string",
  • "phone": "string",
  • "url": "string",
  • "rating": 0,
  • "totalReviews": 0,
  • "categories": [
    ],
  • "website": "string",
  • "description": "string",
  • "hours": [
    ],
  • "photos": [
    ],
  • "yearEstablished": 0,
  • "specialOfferMessage": "string",
  • "specialOfferUrl": "string",
  • "contactEmail": "string",
  • "latitude": "string",
  • "longitude": "string",
  • "video": "string",
  • "paymentOptions": [
    ],
  • "twitter": "string",
  • "facebook": "string",
  • "type": "Location",
  • "closedStatus": "OPEN"
}

Order

Yext uses ORDER to establish a relationship between an entity in our system with a listing in your system. By sending the ORDER request, Yext will either create a new Listing on your site or claim and update an existing listing that represents the entity. You should include all fields that we pass to you in your listing. Once Yext has successfully sent an ORDER request, the listing content should be “locked”, preventing non-Yext updates to the Yext-updated fields.

  • Like all of the other real-time API methods, while the ORDER operation uses the POST method, it actually needs to be idempotent for a given yextId.
  • In the event that a ORDER acknowledgment gets lost, Yext will retry the ORDER operation, which may create duplicates in your index. Therefore, if Yext sends two consecutive ORDER commands using the same yextId, you should re-use the generated id from the first ORDER operation (i.e., you must not create a duplicate listing).
  • If we send an ORDER request for a listing that has already been claimed by Yext (i.e., the listing's yextId is associated with an id in your system), you should treat the ORDER as an UPDATE and respond accordingly.
  • For a full list of fields available, including those specific to healthcare and hotels, please reach out to your Yext partner manager or pubops-team@yext.com
Request Body schema: application/json
yextId
string

Yext’s ID for the location

partnerId
string

The ID of this location, as assigned by you. This value will be present in all instances except when Yext is issuing an ORDER request (e.g., it does not yet exist in your system)

name
string

The name to be displayed on the listing

object (Address)

The structured address for the location

geomodifier
string

Provides additional information on where the entity can be found (e.g. Times Square, Global Center Mall)

Array of objects (Phones) [ items ]

A list of the location’s phone numbers. There will be exactly one MAIN phone number and optionally some non-MAIN phone numbers (at most one of each type)

Array of objects (PartnerCategories) [ items ]

List of business categories, in your taxonomy, ordered by importance / relevance

description
string

A description of the location. The description might be quite long (i.e., thousands of characters). It is the publisher’s responsibility to HTML-escape it. As part of display, the publisher should convert newline characters to break tags in order to maintain the structure of paragraphs and lists

Array of objects (Emails) [ items ]

List of emails associated with the listing

object (GeoData)

Geolocation data describing where exactly the physical location is

Array of objects (Hours)

Contains structured business-hours information. Any days that are unspecified should be interpreted as 'we don't have information for this day'. Days that are specified, but contain no times, should be interpreted as 'Closed'. This is not a required field in Yext but should be displayed if provided.

object (AccessHours)

Contains the daily access hours, holiday access hours, and reopen date for the Entity.

Each day is represented by a sub-field of accessHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday access hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.

Filtering Type: hours

Eligible For:
   * atm
   * healthcareFacility
   * hotel
   * location
   * restaurant
object (BrunchHours)

Contains the daily brunch hours, holiday brunch hours, and reopen date for the Entity.

Each day is represented by a sub-field of brunchHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday brunch hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (DeliveryHours)

Contains the daily delivery hours, holiday delivery hours, and reopen date for the Entity.

Each day is represented by a sub-field of deliveryHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday delivery hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (DriveThroughHours)

Contains the daily drive-through hours, holiday drive-through hours, and reopen date for the Entity.

Each day is represented by a sub-field of driveThroughHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday drive-through hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (HappyHours)

Contains the daily happy hours, holiday happy hours, and reopen date for the Entity.

Each day is represented by a sub-field of happyHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday happy hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (KitchenHours)

Contains the daily kitchen hours, holiday kitchen hours, and reopen date for the Entity.

Each day is represented by a sub-field of kitchenHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday kitchen hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (OnlineServiceHours)

Contains the daily online service hours, holiday online service hours, and reopen date for the Entity.

Each day is represented by a sub-field of onlineServiceHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday online service hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (PickupHours)

Contains the daily pickup hours, holiday pickup hours, and reopen date for the Entity.

Each day is represented by a sub-field of pickupHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday pickup hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (SeniorHours)

Contains the daily senior hours, holiday senior hours, and reopen date for the Entity.

Each day is represented by a sub-field of seniorHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday senior hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (TakeoutHours)

Contains the daily takeout hours, holiday takeout hours, and reopen date for the Entity.

Each day is represented by a sub-field of takeoutHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday takeout hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
Array of objects (Image)

Photos of the location (e.g., storefront, logo). You should be able to support and maintain the image size of the photo passed by Yext. We will not send you photos greater than 5MB.

Array of objects (Video)

YouTube videos specified by the business

object (FeaturedMessage)

The featured message of the location

paymentOptions
Array of strings

A list of payment methods accepted at the location

Array of objects (URL)

A list of URLs (e.g., the location's website and reservation page). There will be at most one URL of each type.

twitterHandle
string

The location’s Twitter username, without the leading '@'

facebookPageUrl
string

The location’s Facebook Page URL (e.g., http://www.facebook.com/YextInc)

instagramHandle
string

Valid Instagram username for the entity without the leading '@'

object (Attribution)

Listing attribution to whomever the business bought Listings from (i.e., Yext or one of Yext's partners)

keywords
Array of strings

Keywords by which the business wants to be searchable (e.g., Sears wants to be searchable by Craftsman, their brand of tools)

Array of objects (ECLID)

The Enhanced Content Lists (ECLs) for this listing. This field provides the information about the Lists that are associated with this location (if any), but it does not include the item data, since it may be quite large and change frequently. You can call Get List to retrieve that data / HTML.

closed
boolean

The value is true if the business has indicated that this location is closed. They may still have an active PowerListing to direct customers to the nearest store in their chain. Defaults to false.

closeDate
string

If present, indicates the last day that the store was, or will be, open.

  • Since the date may be in the future, the mere presence of closeDate does not imply that the location is already closed.
  • (YYYY-MM-DD format)
reopenDate
string

If present, indicates the business is temporarily closed and the day that the store will open

  • (YYYY-MM-DD format)
pickupAndDeliveryOptions
Array of strings
Items Enum: "INSTORE_PICKUP" "CURBSIDE_PICKUP" "DELIVERY" "SAME_DAY_DELIVERY" "NO_CONTACT_DELIVERY"
specialties
Array of strings

A list of the location's specialties (e.g., Pizza)

brands
Array of strings

A list of brands that the location sells (e.g., Toshiba, Samsung, Sony)

products
Array of strings

A list of products or product groups provided at this location (e.g., Optical, Hardware)

services
Array of strings

A list of services (e.g., Gift Registry, Store Pickup, Eye Exams, Spinal Decompression)

yearEstablished
string

The year the location opened

associations
Array of strings

Any association memberships relevant to the location (e.g., New York Doctors Association)

languages
Array of strings

Languages spoken at this location

Array of objects (FrequentlyAskedQuestion)

A list of Frequently Asked Questions about the business.

blackOwnedBusiness
boolean

Used to indicate whether a business is black-owned or not

priceRange
string
Enum: "$" "$$" "$$$" "$$$$"
neighborhood
string

Used to indicate the neighborhood of a business

Responses

Request samples

Content type
application/json
{
  • "yextId": "string",
  • "partnerId": "string",
  • "name": "string",
  • "address": {
    },
  • "geomodifier": "string",
  • "phones": [
    ],
  • "categories": [
    ],
  • "description": "string",
  • "emails": [
    ],
  • "geodata": {
    },
  • "hours": [
    ],
  • "accessHours": {
    },
  • "brunchHours": {
    },
  • "deliveryHours": {
    },
  • "driveThroughHours": {
    },
  • "happyHours": {
    },
  • "kitchenHours": {
    },
  • "onlineServiceHours": {
    },
  • "pickupHours": {
    },
  • "seniorHours": {
    },
  • "takeoutHours": {
    },
  • "images": [
    ],
  • "videos": [
    ],
  • "featuredMessage": {
    },
  • "paymentOptions": [
    ],
  • "urls": [
    ],
  • "twitterHandle": "string",
  • "facebookPageUrl": "string",
  • "instagramHandle": "string",
  • "attribution": {
    },
  • "keywords": [
    ],
  • "lists": [
    ],
  • "closed": true,
  • "closeDate": "string",
  • "reopenDate": "string",
  • "pickupAndDeliveryOptions": [
    ],
  • "specialties": [
    ],
  • "brands": [
    ],
  • "products": [
    ],
  • "services": [
    ],
  • "yearEstablished": "string",
  • "associations": [
    ],
  • "languages": [
    ],
  • "frequentlyAskedQuestions": [
    ],
  • "blackOwnedBusiness": true,
  • "priceRange": "$",
  • "neighborhood": "string"
}

Response samples

Content type
application/json
{}

Update

Yext uses UPDATE to update existing Listings on your site.

  • For a full list of fields available, including those specific to healthcare and hotels, please reach out to your Yext partner manager or pubops-team@yext.com
path Parameters
listingId
required
string

The unique identifier of a listing on your site is known as the listingId.

Request Body schema: application/json
yextId
string

Yext’s ID for the location

partnerId
string

The ID of this location, as assigned by you. This value will be present in all instances except when Yext is issuing an ORDER request (e.g., it does not yet exist in your system)

name
string

The name to be displayed on the listing

object (Address)

The structured address for the location

geomodifier
string

Provides additional information on where the entity can be found (e.g. Times Square, Global Center Mall)

Array of objects (Phones) [ items ]

A list of the location’s phone numbers. There will be exactly one MAIN phone number and optionally some non-MAIN phone numbers (at most one of each type)

Array of objects (PartnerCategories) [ items ]

List of business categories, in your taxonomy, ordered by importance / relevance

description
string

A description of the location. The description might be quite long (i.e., thousands of characters). It is the publisher’s responsibility to HTML-escape it. As part of display, the publisher should convert newline characters to break tags in order to maintain the structure of paragraphs and lists

Array of objects (Emails) [ items ]

List of emails associated with the listing

object (GeoData)

Geolocation data describing where exactly the physical location is

Array of objects (Hours)

Contains structured business-hours information. Any days that are unspecified should be interpreted as 'we don't have information for this day'. Days that are specified, but contain no times, should be interpreted as 'Closed'. This is not a required field in Yext but should be displayed if provided.

object (AccessHours)

Contains the daily access hours, holiday access hours, and reopen date for the Entity.

Each day is represented by a sub-field of accessHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday access hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.

Filtering Type: hours

Eligible For:
   * atm
   * healthcareFacility
   * hotel
   * location
   * restaurant
object (BrunchHours)

Contains the daily brunch hours, holiday brunch hours, and reopen date for the Entity.

Each day is represented by a sub-field of brunchHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday brunch hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (DeliveryHours)

Contains the daily delivery hours, holiday delivery hours, and reopen date for the Entity.

Each day is represented by a sub-field of deliveryHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday delivery hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (DriveThroughHours)

Contains the daily drive-through hours, holiday drive-through hours, and reopen date for the Entity.

Each day is represented by a sub-field of driveThroughHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday drive-through hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (HappyHours)

Contains the daily happy hours, holiday happy hours, and reopen date for the Entity.

Each day is represented by a sub-field of happyHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday happy hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (KitchenHours)

Contains the daily kitchen hours, holiday kitchen hours, and reopen date for the Entity.

Each day is represented by a sub-field of kitchenHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday kitchen hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (OnlineServiceHours)

Contains the daily online service hours, holiday online service hours, and reopen date for the Entity.

Each day is represented by a sub-field of onlineServiceHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday online service hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (PickupHours)

Contains the daily pickup hours, holiday pickup hours, and reopen date for the Entity.

Each day is represented by a sub-field of pickupHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday pickup hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (SeniorHours)

Contains the daily senior hours, holiday senior hours, and reopen date for the Entity.

Each day is represented by a sub-field of seniorHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday senior hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
object (TakeoutHours)

Contains the daily takeout hours, holiday takeout hours, and reopen date for the Entity.

Each day is represented by a sub-field of takeoutHours. (e.g. monday, tuesday, etc.) Open times can be specified per day through the openIntervals field and the isClosed flag. Similarly, holiday takeout hours are represented by the holidayHours sub-field. Setting the reopenDate sub-field indicates that the business is temporarily closed and will reopen on the specified date. SPECIAL CASES:

  • To indicate that an Entity is open 24 hours on a specific day, set start to 00:00 and end to 23:59 in openIntervals for that day.
  • To indicate that an Entity has split hours on a specific day (e.g., open from 9:00 AM to 12:00 PM and again from 1:00 PM to 5:00 PM), supply two or more openIntervals values with non-overlapping sets of hours.
  • If you are providing openIntervals, you may not set isClosed to true for that day.
Array of objects (Image)

Photos of the location (e.g., storefront, logo). You should be able to support and maintain the image size of the photo passed by Yext. We will not send you photos greater than 5MB.

Array of objects (Video)

YouTube videos specified by the business

object (FeaturedMessage)

The featured message of the location

paymentOptions
Array of strings

A list of payment methods accepted at the location

Array of objects (URL)

A list of URLs (e.g., the location's website and reservation page). There will be at most one URL of each type.

twitterHandle
string

The location’s Twitter username, without the leading '@'

facebookPageUrl
string

The location’s Facebook Page URL (e.g., http://www.facebook.com/YextInc)

instagramHandle
string

Valid Instagram username for the entity without the leading '@'

object (Attribution)

Listing attribution to whomever the business bought Listings from (i.e., Yext or one of Yext's partners)

keywords
Array of strings

Keywords by which the business wants to be searchable (e.g., Sears wants to be searchable by Craftsman, their brand of tools)

Array of objects (ECLID)

The Enhanced Content Lists (ECLs) for this listing. This field provides the information about the Lists that are associated with this location (if any), but it does not include the item data, since it may be quite large and change frequently. You can call Get List to retrieve that data / HTML.

closed
boolean

The value is true if the business has indicated that this location is closed. They may still have an active PowerListing to direct customers to the nearest store in their chain. Defaults to false.

closeDate
string

If present, indicates the last day that the store was, or will be, open.

  • Since the date may be in the future, the mere presence of closeDate does not imply that the location is already closed.
  • (YYYY-MM-DD format)
reopenDate
string

If present, indicates the business is temporarily closed and the day that the store will open

  • (YYYY-MM-DD format)
pickupAndDeliveryOptions
Array of strings
Items Enum: "INSTORE_PICKUP" "CURBSIDE_PICKUP" "DELIVERY" "SAME_DAY_DELIVERY" "NO_CONTACT_DELIVERY"
specialties
Array of strings

A list of the location's specialties (e.g., Pizza)

brands
Array of strings

A list of brands that the location sells (e.g., Toshiba, Samsung, Sony)

products
Array of strings

A list of products or product groups provided at this location (e.g., Optical, Hardware)

services
Array of strings

A list of services (e.g., Gift Registry, Store Pickup, Eye Exams, Spinal Decompression)

yearEstablished
string

The year the location opened

associations
Array of strings

Any association memberships relevant to the location (e.g., New York Doctors Association)

languages
Array of strings

Languages spoken at this location

Array of objects (FrequentlyAskedQuestion)

A list of Frequently Asked Questions about the business.

blackOwnedBusiness
boolean

Used to indicate whether a business is black-owned or not

priceRange
string
Enum: "$" "$$" "$$$" "$$$$"
neighborhood
string

Used to indicate the neighborhood of a business

Responses

Request samples

Content type
application/json
{
  • "yextId": "string",
  • "partnerId": "string",
  • "name": "string",
  • "address": {
    },
  • "geomodifier": "string",
  • "phones": [
    ],
  • "categories": [
    ],
  • "description": "string",
  • "emails": [
    ],
  • "geodata": {
    },
  • "hours": [
    ],
  • "accessHours": {
    },
  • "brunchHours": {
    },
  • "deliveryHours": {
    },
  • "driveThroughHours": {
    },
  • "happyHours": {
    },
  • "kitchenHours": {
    },
  • "onlineServiceHours": {
    },
  • "pickupHours": {
    },
  • "seniorHours": {
    },
  • "takeoutHours": {
    },
  • "images": [
    ],
  • "videos": [
    ],
  • "featuredMessage": {
    },
  • "paymentOptions": [
    ],
  • "urls": [
    ],
  • "twitterHandle": "string",
  • "facebookPageUrl": "string",
  • "instagramHandle": "string",
  • "attribution": {
    },
  • "keywords": [
    ],
  • "lists": [
    ],
  • "closed": true,
  • "closeDate": "string",
  • "reopenDate": "string",
  • "pickupAndDeliveryOptions": [
    ],
  • "specialties": [
    ],
  • "brands": [
    ],
  • "products": [
    ],
  • "services": [
    ],
  • "yearEstablished": "string",
  • "associations": [
    ],
  • "languages": [
    ],
  • "frequentlyAskedQuestions": [
    ],
  • "blackOwnedBusiness": true,
  • "priceRange": "$",
  • "neighborhood": "string"
}

Response samples

Content type
application/json
{}

Cancel

The CANCEL request is used to notify you when a business cancels their Yext subscription for a given location. This API call effectively undoes an ORDER request. When a listing is CANCELed, we expect you to remove all Yext-specific fields: e.g. Featured Message, attribution logo, Enhanced Content Lists, and pixel tracking from the SERP and profile page. To the extent that the listing was locked for editing / claiming by other data sources, you should remove those restrictions and open the listing for claiming and updates in accordance with your policies. If Yext sends a CANCEL, this should not remove, delete, or revert the listing.

path Parameters
listingId
required
string

The unique identifier of a listing on your site is known as the listingId.

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "response": { }
}

Suppress

This call allows Yext to suppress duplicate or invalid listings. If a listing is SUPPRESSed, we expect you to exclude the listing from your site's search results. Going to the SUPPRESSed listing's URL should result in either a 404 error, redirect to the SERP, or a redirect to the listing specified in canonicalListingId. Only non-Yext listings are suppressed: We only suppress listings that are not powered by Yext. We do not suppress listings that we sync data to.

  • Yext will indicate to the publisher that a listing must be suppressed, optionally providing the id of a listing that it duplicates (the “canonical” listing). The publisher must comply within 24 hours by taking the following actions:
    • The listing should be marked as suppressed in Search and Details API responses. Alternatively, the listing can be excluded from your Search API response.
    • The publisher must exclude the suppressed listing from their search index.
    • If a canonical listing ID is provided, the publisher must place a redirect to send users that access the suppressed listing’s profile page to the canonical listing’s profile page.
  • Conversely, Yext may indicate to the publisher that a listing suppression should be reverted.
    • The listing should have an AVAILABLE status in your Search and Details API response
    • The publisher should revert the listing back to its original state
  • Calls should be idempotent; for example, the publisher should report success and do nothing if Yext attempts to suppress a listing that is already suppressed.
Request Body schema: application/json
listingId
string

The partner listing ID that should be suppressed (or unsuppressed)

supress
boolean
  • true, if listing should be suppressed
  • false, if listing should be unsupressed
canonicalListingId
string

A partner listing ID.

  • When suppressing a listing, this value may be provided. If it is provided, the partner is expected to redirect the profile page specified in listingId to the one specified in canonicalListingId.

Responses

Request samples

Content type
application/json
{
  • "listingId": "string",
  • "supress": true,
  • "canonicalListingId": "string"
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Reviews

Review List

Yext uses REVIEWS to retrieve review data for business owners. You should provide access to all organic reviews displayed on your properties (i.e., no third-party reviews).

Requirements

When Yext customers sign in to their Listings dashboard, Yext shows them all their reviews from across the Yext Knowledge Network. In order to support this, we have the following requirements for any publisher that supports customer reviews on their listings.

  • Publisher must provide access to all review data.
  • Publisher’s system must notify Yext when new reviews are added, updated, or deleted from Yext-powered listings.
  • Publisher must provide a direct link to each individual review.
  • If the publisher allows users to respond to reviews, the publisher must allow Yext to do so (on behalf of the business owner).
  • If the publisher allows users to flag reviews as abuse, the publisher must allow Yext to do so (on behalf of the business owner).
query Parameters
listingId
required
string

The unique identifier of a listing on your site is known as the listingId.

num
required
string

The number of reviews to return

before
string

An ISO-8601 date-time that filters results to those reviews posted before this time (exclusive). If not specified, no filter should be applied. NOTE: This parameter is used to page through results. For example, Yext may fetch the newest 10 reviews and make a subsequent request with before set to the last review's timestamp in order to fetch the second page.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "rating": 0,
  • "maxRating": 0,
  • "reviews": [
    ]
}

Get Review

Get the review object for a specific review ID.

path Parameters
reviewId
required
integer

ID of this Review.

Responses

Response samples

Content type
application/json
{
  • "reviewId": "5382",
  • "status": "ACTIVE",
  • "timestamp": "2020-01-01T13:15:53Z",
  • "authorName": "Dana Smith",
  • "title": "Great falafel",
  • "content": "Went there for lunch and had the best sandwich of my life.",
  • "rating": "4.5",
  • "maxRating": "string",
  • "flagReason": "INAPPROPRIATE_CONTENT",
  • "comments": [
    ],
  • "generated": true
}

Create Comment

Yext uses RESPOND to allow business owners to interact with reviews left by consumers. The endpoint supports review response by a business owner and the capability to flag reviews for inappropriate content. You should support any capabilities you already have on your site.

Requirements

Yext's customers would like to be able to manage all their reviews from one platform. To that end, they should be able to use the Yext platform to take advantage of the review-management features you have on your site.

Specifically:

  • Publishers who support review response from business owners must provide that capability via this endpoint.
  • Publishers who support flagging reviews for inappropriate content must provide that capability via this endpoint.
path Parameters
reviewId
required
integer

ID of this Review.

Request Body schema: application/json
reviewId
string

The review's ID on your site

flagReason
string
Enum: "INAPPROPRIATE_CONTENT" "SPAM" "NOT_LOCATION_RELATED"

If present, the business owner is flagging the review for the specified reason.

comment
string

If present, the business owner's response to the review

Responses

Request samples

Content type
application/json
{
  • "reviewId": "string",
  • "flagReason": "INAPPROPRIATE_CONTENT",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "commentId": "f3j94g8h3"
}

Update Comment

Yext uses the PUT operation to update a review comment from the business owner on a specific review.

path Parameters
reviewId
required
integer

ID of this Review.

commentId
required
string

The review comment’s ID on your site

Request Body schema: application/json
reviewId
string

The review's ID on your site

flagReason
string
Enum: "INAPPROPRIATE_CONTENT" "SPAM" "NOT_LOCATION_RELATED"

If present, the business owner is flaggint the review for the specified reason.

commentId
string

The review comment's Id on your site

comment
string

If present, the business owner's response to the review

Responses

Request samples

Content type
application/json
{
  • "reviewId": "string",
  • "flagReason": "INAPPROPRIATE_CONTENT",
  • "commentId": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Delete Comment

Yext uses the DELETE operation to remove a review comment from the business owner on a specific review.

path Parameters
reviewId
required
integer

ID of this Review.

commentId
required
string

The review comment’s ID on your site

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Suggestions

Suggestion List

Yext uses Suggestions: List to retrieve all active suggestions data for business owners. You should provide access to all suggestions in status “PENDING”.

query Parameters
listingId
required
string

The unique identifier of a listing on your site is known as the listingId.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "suggestions": [
    ]
}

Single Suggestion

Yext uses Suggestions: Get to retrieve the suggestion object for a specific suggestion ID.

path Parameters
suggestionId
required
string

The unique identifier of a suggestion on your site is known as the suggestionId.

Responses

Response samples

Content type
application/json
{
  • "id": "5382",
  • "field": "name",
  • "status": "ACCEPTED",
  • "timestamp": "2020-01-04T13:15:53Z",
  • "currentValue": "DeeDee’s Doughnuts",
  • "proposedValue": "Dee's Doughnuts"
}

Suggestion Accept

Yext uses Accept/Reject to indicate whether a suggestion object has been accepted or rejected by the user.

path Parameters
suggestionId
required
string

The unique identifier of a suggestion on your site is known as the suggestionId.

Request Body schema: application/json
suggestionId
required
string

The unique suggestion Id

accept
required
string
Enum: "ACTIVE" "SUPPRESSED"

Responses

Request samples

Content type
application/json
{
  • "suggestionId": "string",
  • "accept": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "error": {
    }
}