openapi: 3.0.0
info:
title: Yext Admin Account Settings Listings API
version: '2.0'
servers:
- url: https://api.yextapis.com/v2
security:
- api_key: []
- api-key: []
tags:
- name: Listings
paths:
/accounts/{accountId}/listings/publishers:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listPublishers
parameters:
- name: subset
in: query
schema:
type: string
default: RELEVANT_ONLY
description: 'One of the following:
- ALL - return all publishers
- RELEVANT_ONLY - only return publishers based on available subscriptions and supported countries
'
- name: entityType
in: query
schema:
type: array
items:
type: string
enum:
- LOCATION
- HEALTHCARE_PROFESSIONAL
- HEALTHCARE_FACILITY
- RESTAURANT
- ATM
- EVENT
- HOTEL
description: 'When specified, only publishers that support the specified entity types will be returned
**Example:** `LOCATION,EVENT`
'
tags:
- Listings
summary: 'Publishers: List'
description: 'Retrieve a list of publishers included in an account''s subscription
'
responses:
'200':
$ref: '#/components/responses/ListPublishersResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/accuracy:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listListingAccuracy
parameters:
- name: entityId
in: query
required: true
schema:
type: string
description: ID of the entity to retrieve listing accuracy results for.
- name: publisherIds
in: query
schema:
type: array
items:
type: string
description: 'List of publisher IDs. If no IDs are specified, the endpoint queries live publishers supported by Listings Accuracy and returns only publishers with a latest completed verifier result for the entity.
If a publisher ID is specified but is unknown or is not live and supported by Listings Accuracy, the request fails. If a specified publisher is valid but has no latest completed verifier data, that publisher is omitted from `listingAccuracy`.
To request multiple publishers, repeat this query parameter once per publisher.
'
example:
- MAPQUEST
- FACEBOOK
tags:
- Listings
summary: 'Listings Accuracy: List'
description: 'Retrieve the latest completed listing accuracy comparison results for an entity.
Results include field-level comparison data for each publisher with a latest completed verifier result. Requested publishers that are valid but have no latest completed verifier data are omitted from the response.
'
responses:
'200':
$ref: '#/components/responses/ListListingAccuracyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/listings:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listListings
parameters:
- name: limit
in: query
schema:
type: integer
default: 100
maximum: 100
description: Number of results to return
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/entitiesPageToken'
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
- name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- WAITING_ON_YEXT
- WAITING_ON_CUSTOMER
- WAITING_ON_PUBLISHER
- LIVE
- UNAVAILABLE
- OPTED_OUT
description: 'When specified, only Listings with the provided statuses will be returned
**Example:** `WAITING_ON_YEXT,WAITING_ON_CUSTOMER`
'
- name: language
in: query
schema:
type: string
default: en
description: 'One of the language codes that we support:
- cs - Czech
- da - Danish
- nl - Dutch
- en - English
- en_GB - English (UK)
- fi - Finnish
- fr - French (France)
- de - German (Germany)
- hu - Hungarian
- it - Italian
- ja - Japanese
- no - Norwegian
- pt - Portuguese (Portugal)
- sk - Slovak
- es - Spanish (Spain)
- sv - Swedish
- tr - Turkish
- zh_Hans - Chinese (Simplified)
- zh_Hant - Chinese (Traditional)
'
tags:
- Listings
summary: 'Listings: List'
description: 'Retrieve all Listings matching the given criteria including status and reasons why a Listing may be unavailable
The results will first be sorted by publisher and then by Location.
**Support for `all` macro:** If you would like to use this endpoint to take action on your account and all of its sub-accounts, you can use the `all` macro in place of your account ID in your request URLs. For more information, see the "Account ID" section of "Policies and Conventions" at the top of this page.
'
responses:
'200':
$ref: '#/components/responses/ListListingsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/listings/optin:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
put:
operationId: optInListings
parameters:
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
tags:
- Listings
summary: 'Listings: Opt In'
description: 'Opts designated locations into designated publishers
**NOTE:** The number of Location IDs multiplied by the number of Publisher IDs is capped at 100. If you exceed this, you will receive a 400 error response.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/listings/optout:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
put:
operationId: optOutListings
parameters:
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
tags:
- Listings
summary: 'Listings: Opt Out'
description: 'Opts designated locations out of designated publishers
**NOTE:** The number of Location IDs multiplied by the number of Publisher IDs is capped at 100. If you exceed this, you will receive a 400 error response.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/listings/confirmsync:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
put:
operationId: confirmSyncListings
parameters:
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
- name: pageToken
in: query
schema:
type: string
description: 'If the **`v`** param is after `20260401`, a **`pageToken`** will be returned if the result is over 1000 listings. This token can be used in the next request to process the next batch of listings.
'
style: simple
tags:
- Listings
summary: 'Listings: Confirm Sync'
description: 'Approves designated locations to sync to designated publishers. See [here](https://hitchhikers.yext.com/docs/listings/confirm-sync/) for more details about confirm sync.
**NOTE:** If the **`v`** param is after `20260401`, Yext will filter to all applicable listings in the provided filter. If the result is over 1000 listings, a **`pageToken`** will be provided to allow processing of the next batch.
'
responses:
'200':
$ref: '#/components/responses/ConfirmSyncResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/listings/forcesync:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
put:
operationId: forceSyncListings
parameters:
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
tags:
- Listings
summary: 'Listings: Force Sync'
description: 'Trigger designated locations to sync to designated publishers. See [here](https://help.yext.com/hc/en-us/articles/360020003051-Force-Sync-a-Listing) for more details about force sync.
**NOTE:** The number of Location IDs multiplied by the number of Publisher IDs is capped at 1000. If you exceed this, you will receive a 400 error response.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/publishersuggestions:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listPublisherSuggestions
parameters:
- name: limit
in: query
schema:
type: integer
default: 10
maximum: 50
description: Number of results to return
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
- name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- WAITING_ON_CUSTOMER
- ACCEPTED
- REJECTED
- EXPIRED
description: 'When specified, only Publisher Suggestions with the provided statuses will be returned
**Example:** WAITING_ON_CUSTOMER,EXPIRED
'
style: simple
tags:
- Listings
summary: 'Publisher Suggestions: List'
description: Retrieve suggestions publishers have submitted for the Locations in an account
responses:
'200':
$ref: '#/components/responses/ListPublisherSuggestionsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/publishersuggestions/{suggestionId}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- name: suggestionId
in: path
schema:
type: string
required: true
get:
operationId: getPublisherSuggestion
tags:
- Listings
summary: 'Publisher Suggestions: Get'
description: Fetches details of a specific Publisher Suggestion
responses:
'200':
$ref: '#/components/responses/PublisherSuggestionResponse'
default:
$ref: '#/components/responses/ErrorResponse'
put:
operationId: updatePublisherSuggestion
parameters:
- name: status
in: query
schema:
type: string
enum:
- ACCEPTED
- REJECTED
required: true
description: The status of the Publisher Suggestion
tags:
- Listings
summary: 'Publisher Suggestions: Update'
description: 'Accept or reject a Publisher Suggestion.
**NOTE:** When sending requests to this endpoint, you must provide your Yext user ID in the **`Yext-User-Id`** header.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/duplicates:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listDuplicates
parameters:
- name: limit
in: query
schema:
type: integer
default: 10
maximum: 50
description: Number of results to return
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/listingsLocationIds'
- $ref: '#/components/parameters/listingsPublisherIds'
- name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- POSSIBLE_DUPLICATE
- SUPPRESSION_REQUESTED
- SUPPRESSED
- UNAVAILABLE
description: 'When specified, only Duplicates with the provided statuses will be returned
**Example:** POSSIBLE_DUPLICATE,SUPPRESSION_REQUESTED
'
style: simple
tags:
- Listings
summary: 'Duplicates: List'
description: 'Retrieve Duplicates for an account
If the **`v`** parameter is `20180802` or later: only duplicates of live listings (**`status`**: `LIVE`) will be included
'
responses:
'200':
$ref: '#/components/responses/ListDuplicatesResponse'
default:
$ref: '#/components/responses/ErrorResponse'
post:
operationId: createDuplicate
parameters:
- $ref: '#/components/parameters/listingsLocationId'
- $ref: '#/components/parameters/listingsPublisherIdQuery'
- name: url
in: query
schema:
type: string
required: true
description: URL of the Duplicate listing
tags:
- Listings
summary: 'Duplicates: Create'
description: 'Creates a new Duplicate with **`status`** `SUPPRESSION_REQUESTED`.
**NOTE:** When sending requests to this endpoint, you must provide your Yext user ID in the **`Yext-User-Id`** header.
'
responses:
'201':
$ref: '#/components/responses/IdResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/duplicates/{duplicateId}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- name: duplicateId
in: path
schema:
type: string
required: true
delete:
operationId: deleteDuplicate
tags:
- Listings
summary: 'Duplicates: Delete'
description: 'Indicates that a Duplicate should be ignored.
**NOTE:** When sending requests to this endpoint, you must provide your Yext user ID in the **`Yext-User-Id`** header.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
put:
operationId: suppressDuplicate
tags:
- Listings
summary: 'Duplicates: Suppress'
description: 'Request suppression of a Duplicate.
**NOTE:** When sending requests to this endpoint, you must provide your Yext user ID in the **`Yext-User-Id`** header.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/verifications/{publisherId}/{locale}/methods:
get:
operationId: listMethods
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
- $ref: '#/components/parameters/locale'
- $ref: '#/components/parameters/listingsVerficationEntityIds'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/verificationLimit'
- $ref: '#/components/parameters/offset'
tags:
- Listings
summary: 'Verification Methods: List'
description: 'Retrieve verification methods for entities in an account
'
responses:
'200':
$ref: '#/components/responses/ListMethodsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/verifications/{publisherId}/statuses:
get:
operationId: listStatuses
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
- $ref: '#/components/parameters/listingsVerficationEntityIds'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/verificationLimit'
- $ref: '#/components/parameters/offset'
tags:
- Listings
summary: 'Verification Statuses: List'
description: 'Retrieve verification statuses for entities in an account
'
responses:
'200':
$ref: '#/components/responses/ListStatusesResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/verifications/{publisherId}/{locale}/initiate:
post:
operationId: InitiateVerification
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VerificationInitiation'
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
- $ref: '#/components/parameters/locale'
tags:
- Listings
summary: 'Verification: Initiate'
description: 'Initiate verification for entities in an account.
This request will trigger verification codes being sent to the specified addresses,
phone numbers, or email addresses.
'
responses:
'200':
$ref: '#/components/responses/InitiateVerificationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/verifications/{publisherId}/complete:
post:
operationId: CompleteVerification
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VerificationCompletion'
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
tags:
- Listings
summary: 'Verification: Complete'
description: 'Provides verification codes to complete the verification for entities in an account.
'
responses:
'200':
$ref: '#/components/responses/CompleteVerificationResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/admins/{publisherId}:
get:
operationId: listAdmins
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
- $ref: '#/components/parameters/listingsVerficationEntityIds'
- $ref: '#/components/parameters/pageToken'
- $ref: '#/components/parameters/verificationLimit'
- $ref: '#/components/parameters/offset'
tags:
- Listings
summary: 'Listing Admins: List'
description: 'Retrieve listing admins for entities in an account.
'
responses:
'200':
$ref: '#/components/responses/ListAdminsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/admins/{publisherId}/invite:
post:
operationId: InviteAdmins
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AdminInvite'
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/listingsPublisherId'
tags:
- Listings
summary: 'Listing Admin: Invite'
description: 'Sends invitations to new listing admins for entities in an account.
For Google Business Profile listings, the admins will be given owner-level access.
'
responses:
'200':
$ref: '#/components/responses/InviteAdminsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/entitylistings:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
get:
operationId: listEntityListings
parameters:
- $ref: '#/components/parameters/listingsEntityIds'
- $ref: '#/components/parameters/listingsEventPublisherIds'
- name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- NOT_SYNCED
- SYNC_IN_PROGRESS
- LIVE
- UPDATE_IN_PROGRESS
- CANCELING_SYNC
- NOT_APPLICABLE
- DELETE_PENDING
- DELETE_FAILED
- DELETED
- SYNC_STOPPED
description: 'Defaults to all Listings whose **`status`** is not `DELETED` or `SYNC_STOPPED`.
When specified, only Listings with the provided statuses will be returned.
'
- name: language
in: query
schema:
type: string
default: en
description: 'One of the following language codes:
- `cs` - Czech
- `da` - Danish
- `nl` - Dutch
- `en` - English
- `en_GB` - English (UK)
- `fi` - Finnish
- `fr` - French (France)
- `de` - German (Germany)
- `hu` - Hungarian
- `it` - Italian
- `ja` - Japanese
- `no` - Norwegian
- `pt` - Portuguese (Portugal)
- `sk` - Slovak
- `es` - Spanish (Spain)
- `sv` - Swedish
- `tr` - Turkish
- `zh_Hans` - Chinese (Simplified)
- `zh_Hant` - Chinese (Traditional)
'
- $ref: '#/components/parameters/pageToken'
- name: limit
in: query
schema:
type: integer
default: 100
maximum: 100
description: Number of results to return
- $ref: '#/components/parameters/offset'
tags:
- Listings
summary: 'Entity Listings: List'
description: 'Retrieve all Entity Listings matching the given criteria. Includes the status of each Listing and reasons why a Listing may not be live. This endpoint currently only supports Event Listings.
The results will first be sorted by publisher and then by Entity.
**Support for `all` macro:** If you would like to use this endpoint to take action on your account and all of its sub-accounts, you can use the `all` macro in place of your account ID in your request URLs. For more information, see the "Account ID" section of "Policies and Conventions" at the top of this page.
'
responses:
'200':
$ref: '#/components/responses/ListEntityListingsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/listings/delete:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
delete:
operationId: deleteListings
parameters:
- $ref: '#/components/parameters/listingsEntityIds'
- $ref: '#/components/parameters/listingsEventPublisherIds'
tags:
- Listings
summary: 'Entity Listings: Delete'
description: 'Deletes event listings from publishers. If deletion is not supported by the publisher, then service is removed instead.
**NOTE:** You can delete a maximum of 100 listings in a single request. If the number of Entity IDs multiplied by the number of Publisher IDs in your request exceeds 100, you will receive a 400 error response.
**Support for `all` macro:** If you would like to use this endpoint to take action on your account and all of its sub-accounts, you can use the `all` macro in place of your account ID in your request URLs. For more information, see the "Account ID" section of "Policies and Conventions" at the top of this page.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/questions:
parameters:
- $ref: '#/components/parameters/accountId'
get:
operationId: listQuestions
tags:
- Listings
summary: 'Questions: List
'
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/QuestionAnswerFilter'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/pageToken'
description: 'Retrieve a list of Questions within an account.
**NOTE**: The Google Q&A API was discontinued on November 3rd, 2025. This endpoint now only returns existing questions stored in Yext.
'
responses:
'201':
$ref: '#/components/responses/ListQuestionsResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/accounts/{accountId}/questions/{questionId}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/questionId'
get:
operationId: getQuestion
summary: 'Question: Get'
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/v'
- $ref: '#/components/parameters/questionId'
tags:
- Listings
description: 'Retrieve information for a Question
**NOTE**: The Google Q&A API was discontinued on November 3rd, 2025. This endpoint now only returns existing questions stored in Yext.
'
responses:
'201':
$ref: '#/components/responses/QuestionResponse'
default:
$ref: '#/components/responses/ErrorResponse'
/listings/search:
parameters:
- $ref: '#/components/parameters/name'
- $ref: '#/components/parameters/address'
- $ref: '#/components/parameters/address2'
- $ref: '#/components/parameters/sublocality'
- $ref: '#/components/parameters/locality'
- $ref: '#/components/parameters/region'
- $ref: '#/components/parameters/postal_code'
- $ref: '#/components/parameters/country'
- $ref: '#/components/parameters/phone'
- $ref: '#/components/parameters/latlng'
- $ref: '#/components/parameters/firstName'
- $ref: '#/components/parameters/lastName'
- $ref: '#/components/parameters/npi'
- $ref: '#/components/parameters/type'
get:
operationId: Search
tags:
- Listings
summary: Search
description: '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
'
responses:
'200':
$ref: '#/components/responses/SearchResponse'
'400':
$ref: '#/components/responses/ErrorResponseNew'
'500':
$ref: '#/components/responses/ServerError'
/listings/details:
parameters:
- name: id
in: query
required: true
schema:
type: string
description: 'The unique identifier of a listing on your site.
'
get:
operationId: Details
tags:
- Listings
summary: Details
description: '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.
'
responses:
'200':
$ref: '#/components/responses/DetailsResponse'
'400':
$ref: '#/components/responses/ErrorResponseNew'
'404':
$ref: '#/components/responses/404NotFoundResponse'
'500':
$ref: '#/components/responses/ServerError'
/listings/order:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ListingDelivery'
operationId: Order
tags:
- Listings
summary: Order
description: "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. \n* 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. \n* 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). \n* 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.\n* 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\n"
responses:
'200':
$ref: '#/components/responses/LiveResponse'
'409':
$ref: '#/components/responses/BlockedResponse'
'500':
$ref: '#/components/responses/ServerError'
/listings/{listingId}:
parameters:
- name: listingId
in: path
required: true
schema:
type: string
description: 'The unique identifier of a listing on your site is known as the listingId.
'
put:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ListingDelivery'
operationId: Update
tags:
- Listings
summary: Update
description: '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
'
responses:
'200':
$ref: '#/components/responses/LiveResponse'
'404':
$ref: '#/components/responses/404NotFoundResponse'
'409':
$ref: '#/components/responses/BlockedResponse'
'500':
$ref: '#/components/responses/ServerError'
delete:
operationId: Cancel
tags:
- Listings
summary: Cancel
description: '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.
'
responses:
'200':
$ref: '#/components/responses/EmptyResponseNew'
'400':
$ref: '#/components/responses/ErrorResponse'
/listings/suppress:
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SuppressionRequest'
operationId: Suppress
tags:
- Listings
summary: Suppress
description: "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.\n* 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:\n * The listing should be marked as suppressed in Search and Details API responses. Alternatively, the listing can be excluded from your Search API response.\n * The publisher must exclude the suppressed listing from their search index.\n * 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.\n* Conversely, Yext may indicate to the publisher that a listing suppression should be reverted.\n * The listing should have an AVAILABLE status in your Search and Details API response\n * The publisher should revert the listing back to its original state\n* 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.\n"
responses:
'200':
$ref: '#/components/responses/EmptyResponseNew'
'404':
$ref: '#/components/responses/404NotFoundResponse'
'409':
$ref: '#/components/responses/BlockedSuppression'
'500':
$ref: '#/components/responses/ServerError'
components:
schemas:
SuppressionRequest:
type: object
properties:
listingId:
type: string
description: The partner listing ID that should be suppressed (or unsuppressed)
supress:
type: boolean
description: '* true, if listing should be suppressed
* false, if listing should be unsupressed
'
canonicalListingId:
type: string
description: '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.
'
DetailsHours:
type: array
description: The hours associated with the listing.
items:
type: object
properties:
day:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
intervals:
type: array
description: A set of opening and closing times for the specified day
items:
type: object
properties:
start:
type: string
description: The starting time of the interval on the 24-hour clock (e.g., 09:00:00)
end:
type: string
description: The ending time of the interval on the 24-hour clock (e.g., 14:00:00)
PickupHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the pickup hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for pickup on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
GeoData:
type: object
description: Geolocation data describing where exactly the physical location is
required:
- displayLatitude
- displayLongitude
properties:
displayLatitude:
type: number
description: The latitude coordinate of the location's center
displayLongitude:
type: number
description: The longitude coordinate of the location's center
routableLatitude:
type: number
description: The latitude coordinate of where consumers should go to first when visiting the location (e.g., a parking lot, a particular building entrance)
routableLongitude:
type: number
description: The longitude coordinate of where consumers should go to first when visiting the location (e.g., a parking lot, a particular building entrance)
walkingLatitude:
type: number
description: The latitude coordinate of where consumers should go in order reach the location on foot (e.g., a particular entrance, the start of a walkway)
walkingLongitude:
type: number
description: The latitude coordinate of where consumers should go in order reach the location on foot (e.g., a particular entrance, the start of a walkway)
ListingAccuracyField:
type: object
properties:
fieldName:
type: string
description: Name of the compared field.
fieldType:
type: string
description: Type of the compared field.
entityData:
type: string
description: Entity value used by Verifier in the completed comparison.
publisherData:
type: string
description: Publisher listing data used in the comparison.
status:
type: string
description: Listing accuracy status for this field.
enum:
- LISTING_ACCURACY_STATUS_UNSPECIFIED
- MATCH
- MISMATCH
- NOT_SYNCED
- UNSUPPORTED
Details:
type: object
description: Base fields for any type of listing
required:
- id
- url
- status
- name
- address
- phone
- hours
- latitude
- longitude
- closedStatus
properties:
id:
type: string
description: The ID of this location, as assigned by you
example: xTydnfger
status:
$ref: '#/components/schemas/ListingStatus'
name:
type: string
description: The name to be displayed on the listing
address:
type: string
description: The building number and street address of the location
address2:
type: string
description: Second line of address (e.g., suite number)
sublocality:
type: string
description: The sublocality (e.g., neighborhood or district) of the location
city:
type: string
description: City
state:
type: string
description: The location's state, region, or province. Abbreviations are used for some countries.
zip:
type: string
description: The ZIP or postal code of the location
countryCode:
type: string
description: The ISO 3166-1 alpha-2 code of the location
phone:
type: string
description: The primary phone number of the listing. For international numbers, the number should match how a person within the country would dial it (i.e., no area code or punctuation).
url:
type: string
description: The URL where the listing’s details page can be viewed
rating:
type: number
description: The current rating for the listing (if your site has ratings). This is usually measured in “stars” and ranges from 0 to 5 in increments of 0.5.
totalReviews:
type: integer
description: The total number of reviews for the listing (if your site has reviews).
categories:
$ref: '#/components/schemas/Categories'
website:
type: string
description: The website associated with the result listing.
description:
type: string
description: The business description associated with the result listing.
hours:
$ref: '#/components/schemas/DetailsHours'
photos:
type: array
description: Array of urls of photos associated with the result listing.
items:
type: string
yearEstablished:
type: integer
description: The year that the business opened (e.g., 1982)
specialOfferMessage:
type: string
description: The "message" portion of the `specialOffer` that we send to you
specialOfferUrl:
type: string
description: The "URL" portion of the `specialOffer` that we send to you
contactEmail:
type: string
description: The email address that consumers can use to contact a representative of the business
latitude:
type: string
description: The latitude of the listing
longitude:
type: string
description: The longitude of the listing
video:
type: string
description: The URL of the business's YouTube video
paymentOptions:
type: array
description: A list of payment methods that the business accepts.
items:
type: string
twitter:
type: string
description: The Twitter username used by the business
facebook:
type: string
description: The URL of the business's Facebook Page
type:
$ref: '#/components/schemas/LocationType_2'
closedStatus:
$ref: '#/components/schemas/ClosedStatus'
HolidayHour:
type: array
description: A set of special hours that may vary from the standard business hours.
items:
type: object
properties:
date:
type: string
description: Date on which the holiday hours will be in effect. Will only provide future dates.
isClosed:
type: boolean
description: Indicates if the hours of operation are "closed" on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date.
intervals:
type: array
description: A set of opening and closing times for the specified date
items:
$ref: '#/components/schemas/Interval'
NextPageToken:
type: string
description: "This field is only included if there is an additional page of data to display. To retrieve the next page of data, pass this field's value as the **``pageToken``** parameter in a subsequent request. \n"
ECLID:
type: object
properties:
id:
type: number
description: The list’s ID (numeric, Yext-assigned)
type:
type: string
enum:
- MENU
- PRODUCTS
- EVENTS
- BIOS
description:
type: string
description: The text of the link for the List’s type within the listing. When consumers click the link, they see a set of tabs, one for each List of that type.
name:
type: string
description: Name of the List, which is shown on the List’s tab.
DeliveryHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the delivery hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is delivering on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
LocationType:
type: string
enum:
- LOCATION
- HEALTHCARE_PROFESSIONAL
- HEALTHCARE_FACILITY
- RESTAURANT
- ATM
TakeoutHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the takeout hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for takeout on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
Listing:
type: object
properties:
id:
type: string
description: ID of this listing
locationId:
type: string
description: ID of the location associated with this listing
accountId:
type: string
description: ID of the account associated with this listing
publisherId:
type: string
description: 'ID of publisher associated with this listing
'
status:
type: string
enum:
- WAITING_ON_YEXT
- WAITING_ON_CUSTOMER
- WAITING_ON_PUBLISHER
- LIVE
- UNAVAILABLE
- OPTED_OUT
additionalStatus:
type: string
enum:
- CONNECTED
- NOT_CONNECTED
listingUrl:
type: string
description: Listing URL
loginUrl:
type: string
description: URL where the user can log in to the publisher to manage this listing at that publisher (only returned for Google Business Profile)
screenshotUrl:
type: string
description: URL of a screenshot of the profile page that includes the Featured Message
statusDetails:
type: array
description: List of warnings, or reasons why the listing is unavailable
items:
$ref: '#/components/schemas/ListingStatusDetail'
alternateBrands:
type: array
description: '*(only present if the **v** parameter is `20170420` or later)*
List of Publisher''s alternate brands where the listing is syndicated
'
items:
type: object
properties:
brandName:
type: string
description: Alternate brand name
listingUrl:
type: string
description: The listing's URL on the alternate brand's site
Publisher:
type: object
properties:
id:
type: string
description: Publisher ID
name:
type: string
description: Publisher name
url:
type: string
description: Publisher home page. Will link to Apple App Store for mobile-only apps
alternateBrands:
type: array
description: List of Publisher's alternate brands where listings are syndicated
items:
type: object
properties:
name:
type: string
description: Alternate brand name
url:
type: string
description: Alternate brand's home page
supportedCountries:
type: array
description: List of countries where this Publisher publishes listings. Countries are denoted by ISO 3166 2-letter country codes
items:
type: string
supportedLocationTypes:
type: array
description: 'List of Location types that are supported by this Publisher
Only present if the **`v`** parameter is before `20190111`
'
items:
$ref: '#/components/schemas/LocationType'
supportedEntityTypes:
type: array
description: 'List of Entity types that are supported by this Publisher
Only present if the **`v`** parameter is `20190111` or later
'
items:
$ref: '#/components/schemas/EntityType'
features:
type: array
description: List of features supported by this Publisher
items:
type: string
enum:
- DUAL_SYNC
- SUBMISSION
- SUPPRESSION
- SUPPRESSION_BY_URL
- REVIEW_MONITORING
- PUBLISHER_SUGGESTIONS
- ANALYTICS
- SOCIAL
- MENU_SYNC
typicalUpdateSpeed:
type: string
description: Typical speed for updates to go live, in seconds
ListingAccuracy:
type: object
properties:
entityId:
type: string
description: ID of the entity associated with this listing accuracy result.
publisherId:
type: string
description: ID of the publisher associated with this listing accuracy result.
verificationTimestamp:
type: string
format: date-time
description: Time when the listing accuracy comparison was completed.
fields:
type: array
description: Field-level listing accuracy comparison results.
items:
$ref: '#/components/schemas/ListingAccuracyField'
Admin:
type: object
properties:
entityId:
type: string
description: ID of the entity that the admin belongs to.
publisherId:
type: string
description: ID of the publisher for which the verification is happening.
adminName:
type: string
description: 'If the invitation to this admin is still pending, the email of the admin.
If the admin has accepted the invitation and been successfully added, the name of the admin.
'
role:
type: string
enum:
- ADMIN_ROLE_UNSPECIFIED
- OWNER
- CO_OWNER
- MANAGER
- COMMUNITY_MANAGER
- PRIMARY_OWNER
pendingInvitation:
type: boolean
description: Indicates whether there is a pending invitation for this admin.
ClosedStatus:
type: string
description: The closed status of the listing
enum:
- OPEN
- TEMPORARILY_CLOSED
- PERMANENTLY_CLOSED
PartnerCategories:
type: array
description: List of business categories, in your taxonomy, ordered by importance / relevance
items:
type: object
required:
- id
- name
properties:
id:
type: string
description: Category ID in your taxonomy
name:
type: string
description: Category name
BrunchHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the brunch hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity is open for brunch on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
Question:
type: object
properties:
id:
type: string
description: ID of this question.
entityIds:
type: array
description: IDs of the entities associated to this question.
items:
type: string
accountId:
type: string
description: ID of the account associated with this question.
publisherId:
type: string
description: 'ID of the publisher associated with this question. For first-party Q&A, this will be FIRSTPARTY.
'
authorName:
type: string
description: The name of the person that asked the question.
authorEmail:
type: string
description: 'The email of the person that asked the question. Only supported for FIRSTPARTY Q&A.
'
authorPhotoUrl:
type: string
description: The photo URL of the person that asked the question.
authorType:
type: string
enum:
- REGULAR_USER
- LOCAL_GUIDE
- MERCHANT
- AUTHOR_TYPE_UNSPECIFIED
language:
type: string
description: The language of the question. Only supported for FIRSTPARTY Q&A.
upvoteCount:
type: integer
description: Number of upvotes the question has.
content:
type: string
description: The question text.
description:
type: string
description: Additional description text. Only supported for FIRSTPARTY Q&A.
createTime:
type: integer
description: Timestamp the question was created on the publisher.
updateTime:
type: integer
description: Timestamp the question was last updated on the publisher.
answerCount:
type: integer
description: Number of answers the question has.
answers:
type: array
items:
$ref: '#/components/schemas/Answer'
ResponseError:
type: object
properties:
name:
type: string
code:
type: integer
description: 'Code that uniquely identifies the error or warning.
'
type:
type: string
enum:
- FATAL_ERROR
- NON_FATAL_ERROR
- WARNING
message:
type: string
description: Message explaining the problem.
ResponseMetaWithError:
allOf:
- $ref: '#/components/schemas/ResponseMeta'
- type: object
properties:
errors:
type: array
description: List of errors and warnings.
items:
$ref: '#/components/schemas/ResponseError'
EntityType:
type: string
enum:
- LOCATION
- HEALTHCARE_PROFESSIONAL
- HEALTHCARE_FACILITY
- EVENT
- RESTAURANT
- ATM
- HOTEL
Image:
type: object
description: '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. '
properties:
url:
type: string
description: URL where the image can be viewed. We encourage you to use this URL directly on your sites.
type:
type: string
enum:
- LOGO
- STOREFRONT
- GALLERY
- HEADSHOT
width:
type: integer
description: The width of the image, in pixels.
height:
type: integer
description: The height of the image, in pixels.
description:
type: string
description: A caption for the image.
Phones:
type: array
description: 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).
items:
type: object
required:
- number
properties:
description:
type: string
description: A description of the phone number, e.g. “Main”.
number:
type: object
properties:
countryCode:
type: string
description: The ITU-T code of the location’s phone number. Note that this may not match the country code of the location address.
number:
type: string
description: Area code and phone number. How the number would be dialed in the location’s country (with no punctuation or country code).
type:
type: string
enum:
- MAIN
- ALTERNATE
- FAX
- LOCAL
- MOBILE
- TOLL_FREE
- TTY
Categories:
type: array
description: List of business categories, in your taxonomy, ordered by importance / relevance
items:
type: object
required:
- id
- name
properties:
id:
type: string
description: Category ID in your taxonomy
name:
type: string
description: Category name
ListingDelivery:
type: object
properties:
yextId:
type: string
description: Yext’s ID for the location
partnerId:
type: string
description: 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:
type: string
description: The name to be displayed on the listing
address:
$ref: '#/components/schemas/Address'
geomodifier:
type: string
description: Provides additional information on where the entity can be found (e.g. Times Square, Global Center Mall)
phones:
type: array
description: 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)
items:
$ref: '#/components/schemas/Phones'
categories:
type: array
description: List of business categories, in your taxonomy, ordered by importance / relevance
items:
$ref: '#/components/schemas/PartnerCategories'
description:
type: string
description: 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
emails:
type: array
description: List of emails associated with the listing
items:
$ref: '#/components/schemas/Emails'
geodata:
$ref: '#/components/schemas/GeoData'
hours:
type: array
description: 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.
items:
$ref: '#/components/schemas/Hours'
accessHours:
$ref: '#/components/schemas/AccessHours'
brunchHours:
$ref: '#/components/schemas/BrunchHours'
deliveryHours:
$ref: '#/components/schemas/DeliveryHours'
driveThroughHours:
$ref: '#/components/schemas/DriveThroughHours'
happyHours:
$ref: '#/components/schemas/HappyHours'
kitchenHours:
$ref: '#/components/schemas/KitchenHours'
onlineServiceHours:
$ref: '#/components/schemas/OnlineServiceHours'
pickupHours:
$ref: '#/components/schemas/PickupHours'
seniorHours:
$ref: '#/components/schemas/SeniorHours'
takeoutHours:
$ref: '#/components/schemas/TakeoutHours'
images:
type: array
description: 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.
items:
$ref: '#/components/schemas/Image'
videos:
type: array
description: YouTube videos specified by the business
items:
$ref: '#/components/schemas/Video'
featuredMessage:
$ref: '#/components/schemas/FeaturedMessage'
paymentOptions:
type: array
description: A list of payment methods accepted at the location
items:
type: string
description: Payment Options in string format
urls:
type: array
description: A list of URLs (e.g., the location's website and reservation page). There will be at most one URL of each type.
items:
$ref: '#/components/schemas/URL'
twitterHandle:
type: string
description: The location’s Twitter username, without the leading '@'
facebookPageUrl:
type: string
description: The location’s Facebook Page URL (e.g., http://www.facebook.com/YextInc)
instagramHandle:
type: string
description: Valid Instagram username for the entity without the leading '@'
attribution:
$ref: '#/components/schemas/Attribution'
keywords:
type: array
description: Keywords by which the business wants to be searchable (e.g., Sears wants to be searchable by Craftsman, their brand of tools)
items:
type: string
lists:
type: array
description: 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.
items:
$ref: '#/components/schemas/ECLID'
closed:
type: boolean
description: 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:
type: string
description: '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:
type: string
description: 'If present, indicates the business is temporarily closed and the day that the store will open
* (YYYY-MM-DD format)
'
pickupAndDeliveryOptions:
type: array
items:
type: string
enum:
- INSTORE_PICKUP
- CURBSIDE_PICKUP
- DELIVERY
- SAME_DAY_DELIVERY
- NO_CONTACT_DELIVERY
specialties:
type: array
description: A list of the location's specialties (e.g., Pizza)
items:
type: string
brands:
type: array
description: A list of brands that the location sells (e.g., Toshiba, Samsung, Sony)
items:
type: string
products:
type: array
description: A list of products or product groups provided at this location (e.g., Optical, Hardware)
items:
type: string
services:
type: array
description: A list of services (e.g., Gift Registry, Store Pickup, Eye Exams, Spinal Decompression)
items:
type: string
yearEstablished:
type: string
description: The year the location opened
associations:
type: array
description: Any association memberships relevant to the location (e.g., New York Doctors Association)
items:
type: string
languages:
type: array
description: Languages spoken at this location
items:
type: string
frequentlyAskedQuestions:
type: array
description: 'A list of Frequently Asked Questions about the business. '
items:
$ref: '#/components/schemas/FrequentlyAskedQuestion'
blackOwnedBusiness:
type: boolean
description: Used to indicate whether a business is black-owned or not
priceRange:
type: string
enum:
- $
- $$
- $$$
- $$$$
neighborhood:
type: string
description: Used to indicate the neighborhood of a business
Hours:
type: object
description: 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.
properties:
day:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
intervals:
type: array
description: A set of opening and closing times for the specified day
items:
$ref: '#/components/schemas/Interval'
reopenDate:
type: string
description: If populated, indicates that the business is temporarily closed and provides the date that the business is planning to reopen.
holidayHours:
type: array
description: A set of special hours that may vary from the standard business hours.
items:
$ref: '#/components/schemas/HolidayHour'
Duplicate:
type: object
properties:
id:
type: string
description: ID of this duplicate listing
publisherId:
type: string
description: ID of the publisher site where the duplicate listing appears
locationId:
type: string
description: ID of the location the duplicate listing is for
url:
type: string
description: URL of the duplicate listing
name:
type: string
description: The business name that appears on the duplicate listing
address:
type: string
description: The address that appears on the duplicate listing
phone:
type: string
description: The phone number that appears on the duplicate listing
latitude:
type: string
description: The latitude of the location, as shown on the duplicate listing (e.g., in a map view)
longitude:
type: string
description: The longitude of the location, as shown on the duplicate listing (e.g., in a map view)
status:
type: string
description: 'The status of the duplicate. Note: the `DELETED` status is only available in webhook responses.'
enum:
- POSSIBLE_DUPLICATE
- SUPPRESSION_REQUESTED
- SUPPRESSED
- UNAVAILABLE
- DELETED
suppressionType:
type: string
description: The publisher's suppression type
enum:
- REDIRECT
- ERROR
- MERGE
- REMOVE_FROM_SEARCH
- MOBILE
- SEARCH_PAGE
unavailableReasons:
type: array
description: List of reasons why suppression is unavailable for this duplicate listing (will be empty unless **`status`** is `UNAVAILABLE`)
items:
$ref: '#/components/schemas/DuplicateUnavailableReason'
Video:
type: object
description: YouTube videos specified by the business
properties:
url:
type: string
description: Youtube URL for the video
description:
type: string
description: A caption for the video.
Answer:
type: object
properties:
id:
type: integer
description: ID of this answer.
authorName:
type: string
description: The name of the person that created this answer.
authorPhotoUrl:
type: string
description: The photo URL of the person that created this answer.
authorType:
type: string
enum:
- REGULAR_USER
- LOCAL_GUIDE
- MERCHANT
- AUTHOR_TYPE_UNSPECIFIED
upvoteCount:
type: integer
description: Number of upvotes the answer has.
content:
type: string
description: The answer text.
createTime:
type: integer
description: Timestamp the answer was created on the publisher.
updateTime:
type: integer
description: Timestamp the answer was last updated on the publisher.
VerificationCompletion:
type: object
properties:
entityId:
type: string
description: ID of the entity being verified.
verificationCode:
type: string
description: The verification code received from the publisher.
OnlineServiceHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the online service hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's online service hours on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
HealthcareFacility:
type: object
description: The following additional fields are available if `type` is `HealthcareFacility`.
required:
- npi
properties:
npi:
type: string
description: National Provider Identifier (NPI) of the healthcare facility.
conditionsTreated:
type: array
description: A list of the conditions treated by the healthcare professional.
items:
type: string
acceptingNewPatients:
type: boolean
description: Indicates whether the healthcare professional is accepting new patients.
default: true
VerificationStatus:
type: object
properties:
entityId:
type: string
description: ID of the entity being verified.
state:
type: string
enum:
- VERIFICATION_STATE_UNSPECIFIED
- PENDING
- COMPLETED
- FAILED
createTime:
type: string
description: The time that the verification was created.
PublisherSuggestion:
type: object
properties:
id:
type: string
description: ID of this Publisher Suggestion
publisherId:
type: string
description: ID of the publisher who submitted the suggestion
locationId:
type: string
description: ID of the location the suggestion is for
dateCreated:
type: string
format: date
description: The date Yext received the suggestion
dateResolved:
type: string
format: date
description: The date the suggestion expired or was accepted or rejected
fieldName:
type: string
description: The location field the suggestion is for
status:
type: string
description: The status of the suggestion
enum:
- WAITING_ON_CUSTOMER
- ACCEPTED
- REJECTED
- EXPIRED
resolvedBy:
type: string
description: Resolver of the Publisher Suggestion
originalContent:
type: string
description: 'The content that the publisher suggested to change
'
suggestedContent:
type: string
description: 'The content suggested as a replacement of the `originalContent`
'
LocationType_2:
type: string
description: The kind of listing
enum:
- Location
- HealthcareFacility
- HealthcareProfessional
ListingStatus:
type: string
description: The status of the listing
enum:
- AVAILABLE
- ACTIVE
- CLAIMED
- SUPPRESSED
- BLOCKED
URL:
type: object
properties:
url:
type: string
description: URL where the image can be viewed. We encourage you to use this URL directly on your sites.
type:
type: string
description: A key describing what the URL references.
enum:
- WEBSITE
- RESERVATION
- MENU
- ORDER
displayUrl:
type: string
description: If provided, the URL shown in the link text for url. Since consumers are still taken to the URL specified in url, businesses are still able to track click-throughs.
DuplicateUnavailableReason:
type: object
properties:
code:
type: string
description: Unique code for the unavailable reason
reason:
type: string
description: Explanation for why the listing is unavailable
FeaturedMessage:
type: object
description: The featured message of the location
properties:
message:
type: string
description: The featured message text to be displayed.
url:
type: string
description: The featured message should be clickable when the featured message URL is provided
AdminInvite:
type: object
properties:
entityId:
type: string
description: ID of the entity that the admin will be associated with.
adminEmail:
type: string
description: Email of the admin to be invited.
VerificationMethod:
type: object
properties:
entityId:
type: string
description: ID of the entity being verified.
publisherId:
type: string
description: ID of the publisher for which the verification is happening.
addressData:
type: array
items:
type: object
properties:
businessName:
type: string
description: The business name that appears on the requested postcard that contains the verification code.
address:
type: string
description: The address where the postcard containing the verification code will be sent.
phoneData:
type: array
items:
type: object
properties:
number:
type: string
description: The phone number that will receive the call or text message containing the verification code.
emailData:
type: array
items:
type: object
properties:
domainName:
type: string
description: 'The domain name of the email address where the verification code will be sent.
Ex: “@yext.com” in “test@yext.com”
'
userName:
type: string
description: 'The username portion of the email address where the verification code will be sent.
Ex: “test” in “test@yext.com”
'
userNameEditable:
type: boolean
description: If true, a verification may be initiated using a different username on the same email domain.
SearchResult:
type: object
required:
- id
- name
- status
- address
- phone
- url
- city
- latitude
- longitude
- countryCode
- categories
- type
properties:
id:
type: string
description: The ID of this location, as assigned by you
example: '567482'
status:
$ref: '#/components/schemas/ListingStatus'
name:
type: string
example: Yext
description: 'The name of the result listing
For sites that track offices and professionals separately (e.g., a doctor’s office vs. individual doctors), please return both the office name and the individual professionals’ names.
'
address:
type: string
example: 75 9th Avenue
description: 'The street address of the result listing
In cases where the business sets address.visible to false, hide the address on your page, but still return its value in the API response.
'
address2:
type: string
example: 7th Floor
description: 'Address line 2 for the result listing
'
sublocality:
type: string
example: 'null'
description: 'The sublocality (e.g., neighborhood or district) of the result listing
'
city:
type: string
example: New York
description: 'The city of the result listing
'
state:
type: string
example: NY
description: '`required` for US, CA and some other countries.
The state, region, or province of the result listing
'
zip:
type: string
example: '10011'
description: '`required` for most countries.
The ZIP or postal code of the result listing. Contact the Implementation team for valid formats.
'
countryCode:
type: string
example: US
description: 'The ISO 3166-1 alpha-2 code of the area of the result listing
'
latitude:
type: number
example: 40.741959
description: The latidude of the result listing
longitude:
type: number
example: -74.004855
description: The longitude of the result listing
phone:
type: string
example: '2126518966'
description: The primary phone number of the listing. For international numbers, the number should match how a person within the country would dial it (i.e., no area code or punctuation).
url:
type: string
example: http://www.example.publisher.com/profile/567482
description: The URL where the listing’s details page can be viewed
categories:
$ref: '#/components/schemas/Categories'
type:
$ref: '#/components/schemas/LocationType_2'
websiteUrl:
type: string
description: 'The business''s website URL on the listing
'
reviewCount:
type: integer
description: 'The number of reviews posted on the listing
'
averageReviewScore:
type: number
description: 'The average of the ratings (e.g., 4.3 for an average of 4.3 stars) posted on the listing
'
listingCreationDate:
type: string
description: 'The date the listing was created (YYYY-MM-DD)
'
ResponseErrorNew:
type: object
properties:
code:
type: integer
description: 'Code that uniquely identifies the error or warning.
'
message:
type: string
description: Message explaining the problem.
SeniorHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the senior hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's senior hours on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
Address:
type: object
description: The structured address for the location
required:
- address
- address2
- city
- state
- postalCode
- countryCode
properties:
address:
type: string
description: The building number and street address of the location
address2:
type: string
description: Second line of address (e.g., suite number)
displayAddress:
type: string
description: Additional information to help consumers find the location. This string should be presented in addition to the address (e.g., In Menlo Mall, 3rd Floor). It may also be used in conjunction with a hidden address (address.visible = false) e.g., Servicing the New York Area
visible:
type: boolean
description: Defaults to true. When present and false, the street address (address, address2,address3) should not be shown to consumers, but displayAddress should still appear, along with sublocality, city, state, and postalCode.
sublocality:
type: string
description: The sublocality (e.g., neighborhood or district) of the location
city:
type: string
description: City
state:
type: string
description: The location's state, region, or province. Abbreviations are used for some countries.
postalCode:
type: string
description: The ZIP or postal code of the location
countryCode:
type: string
description: The ISO 3166-1 alpha-2 code of the location
Emails:
type: array
description: A list of contact email addresses that consumers can use to reach someone who represents the location
items:
type: object
properties:
address:
type: string
description: Email Address
description:
type: string
description: Description
EntityListing:
type: object
properties:
id:
type: string
description: ID of this listing
entityId:
type: string
description: ID of the entity associated with this listing
accountId:
type: string
description: ID of the account associated with this listing
publisherId:
type: string
description: ID of publisher associated with this listing
status:
type: string
enum:
- NOT_SYNCED
- SYNC_IN_PROGRESS
- LIVE
- UPDATE_IN_PROGRESS
- CANCELING_SYNC
- NOT_APPLICABLE
- DELETE_PENDING
- DELETE_FAILED
- DELETED
- SYNC_STOPPED
description: The status of this listing
listingUrl:
type: string
description: The URL of this listing
statusDetails:
type: array
description: List of warning messages or reasons why the listing is unavailable. Only included if the listing has a warning message or is unavailable.
items:
$ref: '#/components/schemas/ListingStatusDetail'
DriveThroughHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the drive-through hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's drive-through is open on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
KitchenHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen open on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the kitchen hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's kitchen is open on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
Interval:
type: array
description: A set of opening and closing times for the specified date.
items:
type: object
properties:
start:
type: string
description: The starting time of the interval on the 24-hour clock (e.g., 09:00:00)
end:
type: string
description: The end time of the interval on the 24-hour clock (e.g., 14:00:00)
ListingStatusDetail:
type: object
properties:
code:
type: string
description: Unique code for the warning/unavailable reason
type:
type: string
enum:
- UNAVAILABLE_REASON
- WARNING
message:
type: string
description: Explanation of the warning, or why the listing is unavailable
actionable:
type: boolean
description: Indicates whether the customer can take action to resolve the issue
unavailableReasonType:
type: string
description: The type of unavailable reason
HappyHours:
additionalProperties: false
type: object
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Friday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for which the Entity's happy hours on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on on the given date.
isRegularHours:
type: boolean
description: Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date's day of the week.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on the specified date.
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Monday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Saturday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Sunday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Thursday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Tuesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: Indicates if the happy hours are "closed" on Wednesday.
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
start:
format: time
type: string
description: The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
description: Contains the time intervals for the Entity's happy hours on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
description: '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.'
FrequentlyAskedQuestion:
type: object
properties:
question:
type: string
description: The question of the FAQ
answer:
type: string
description: The answer to the question
VerificationInitiation:
type: object
properties:
entityId:
type: string
description: ID of the entity being verified.
method:
type: string
enum:
- POSTCARD
- EMAIL
- PHONE
- SMS
alternateEmail:
type: string
description: 'Provides a user-specified email address that the verification code should be sent to
when **`userNameEditable`** is `true` in the VerificationMethod response.
'
recipientName:
type: string
description: 'Contact name the mail should be addressed to.
Only applies if the verification **`method`** is `POSTCARD`.
'
AccessHours:
additionalProperties: false
type: object
description: "Contains the daily access hours, holiday access hours, and reopen date for the Entity.\n\nEach 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.\nSimilarly, holiday access hours are represented by the `holidayHours` sub-field.\nSetting the `reopenDate` sub-field indicates that the business is temporarily closed and will reopen on the specified date.\nSPECIAL CASES:\n* 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.\n* 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.\n* If you are providing `openIntervals`, you may not set `isClosed` to true for that day.\n\nFiltering Type: `hours`\n\n```\nEligible For:\n * atm\n * healthcareFacility\n * hotel\n * location\n * restaurant\n```"
properties:
friday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Friday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
description: 'Contains the time intervals for which the Entity is open on Friday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Filtering Type: `object`'
holidayHours:
description: '
**NOTE:** The list of Holiday Hours that you send us must be comprehensive. For example, if you send us a list of Holiday Hours that does not include Holiday Hours that you sent in your last update, Yext considers the missing Holiday Hours to be deleted, and we remove them.
Array must be ordered.
Filtering Type: `list of object`'
uniqueItems: true
type: array
items:
required:
- date
additionalProperties: false
type: object
properties:
date:
format: date
type: string
description: 'Date on which the holiday hours will be in effect. Cannot be in the past.
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01
Filtering Type: `date`'
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on on the given date.
Filtering Type: `boolean`'
isRegularHours:
type: boolean
description: 'Indicates whether the holiday hours are the same as the regular business hours for the given date. If set to true, we will update the holiday hours if the regular business hours change for the date''s day of the week.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on the specified date.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
monday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Monday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Monday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
reopenDate:
format: date
type: string
description: '
Date must be on or after 1970-01-01
Date must be before or on 2038-01-01
Filtering Type: `date`'
saturday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Saturday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Saturday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
sunday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Sunday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Sunday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
thursday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Thursday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Thursday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
tuesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Tuesday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Tuesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
wednesday:
additionalProperties: false
type: object
properties:
isClosed:
type: boolean
description: 'Indicates if the access hours are "closed" on Wednesday.
Filtering Type: `boolean`'
openIntervals:
uniqueItems: false
type: array
items:
additionalProperties: false
type: object
properties:
end:
format: time
type: string
description: 'The end time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
start:
format: time
type: string
description: 'The start time of the interval in `hh:mm` format (e.g., `"06:30"`, `"17:00"`).
Filtering Type: `time`'
description: 'Filtering Type: `object`'
description: 'Contains the time intervals for which the Entity is open on Wednesday. Note that if isClosed is set to true, "openIntervals" cannot be provided in an update.
Filtering Type: `list of object`'
description: 'Filtering Type: `object`'
HealthcareProfessional:
type: object
description: The following additional fields are available if `type` is `HealthcareProfessional`.
required:
- npi
- firstName
- middleName
- lastName
- officeName
- gender
properties:
npi:
type: string
description: National Provider Identifier (NPI) of the healthcare professional.
firstName:
type: string
description: The first name of the healthcare professional.
middleName:
type: string
description: The middle name of the healthcare professional.
lastName:
type: string
description: The last name of the healthcare professional.
officeName:
type: string
description: The name of the office where the healthcare professional works.
gender:
type: string
description: The gender of the healthcare professional.
conditionsTreated:
type: array
description: A list of the conditions treated by the healthcare professional.
items:
type: string
acceptingNewPatients:
type: boolean
description: Indicates whether the healthcare professional is accepting new patients.
default: true
ResponseMeta:
type: object
properties:
uuid:
type: string
example: 4f72b877-e2d0-4de4-9324-b9cf2c03e1a0
description: Unique ID for this request / response.
Attribution:
type: object
description: Listing attribution to whomever the business bought Listings from (i.e., Yext or one of Yext's partners)
properties:
image:
type: object
description: Details for the attribution image.
properties:
url:
type: string
description: URL where the image can be viewed.
description:
type: string
description: A brief description of the attribution image.
width:
type: integer
description: The width of the image, in pixels.
height:
type: integer
description: The height of the image, in pixels.
parameters:
listingsVerficationEntityIds:
name: entityIds
in: query
schema:
type: string
required: false
description: '
A comma-separated list of Entity IDs.
If no IDs are specified, defaults to all entities with a listings subscription.
'
country:
in: query
name: countryCode
description: 'The ISO 3166-1 alpha-2 code of the country in which to search.
e.g. `GB`, `NL`, `GB`
'
schema:
type: string
questionId:
name: questionId
in: path
required: true
schema:
type: integer
description: ID of this Question.
pageToken:
name: pageToken
in: query
schema:
type: string
required: false
description: 'If a response to a previous request contained the **`nextPageToken`** field, pass that field''s value as the **`pageToken`** parameter to retrieve the next page of data.
'
phone:
in: query
name: phone
description: '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`
'
schema:
type: string
name:
in: query
name: name
description: 'Business name.
e.g. `Yext`
'
schema:
type: string
listingsLocationId:
name: locationId
in: query
schema:
type: string
description: An account location ID with a Listings subscription.
address2:
in: query
name: address2
description: 'Address line 2 to search.
e.g. `7th floor`
'
schema:
type: string
postal_code:
in: query
name: zip
description: 'ZIP or postal code in which to search.
e.g. `10011`, `212-0011`, `4841 EP`
'
schema:
type: string
address:
in: query
name: address
description: 'Street address, including house numbers, to search.
e.g `75 9th Ave`, `Bismarckstraße 35`
'
schema:
type: string
listingsEntityIds:
name: entityIds
in: query
schema:
type: array
items:
type: string
description: 'Defaults to all account events with a subscription.
**Example:** entity123,entity456,entity789
'
style: simple
offset:
name: offset
in: query
required: false
schema:
type: integer
default: 0
description: '
Number of results to skip. Used to page through results.
Cannot be used together with **`pageToken`**.
'
npi:
in: query
name: npi
description: '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.
'
schema:
type: string
firstName:
in: query
name: firstName
description: '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.
'
schema:
type: string
verificationLimit:
name: limit
in: query
schema:
type: integer
default: 100
description: Number of results to return.
listingsEventPublisherIds:
name: publisherIds
in: query
schema:
type: array
items:
type: string
description: 'List of publisher IDs. If no IDs are specified, defaults to all publishers subscribed by the account.
**Example:** FACEBOOKEVENTS,EVENTBRITE
'
style: simple
locale:
name: locale
in: path
schema:
type: string
required: true
description: Locale code.
listingsPublisherIdQuery:
name: publisherId
in: query
schema:
type: string
required: true
sublocality:
in: query
name: sublocality
description: 'Sublocality (e.g., neighborhood, ward or district) in which to search.
e.g. `pos. Lesnoe` (Russia), `Saiwai-ku` (Japan)
'
schema:
type: string
listingsPublisherIds:
name: publisherIds
in: query
schema:
type: array
items:
type: string
description: 'List of publisher IDs. If no IDs are specified, defaults to all publishers subscribed by the account.
**Example:** MAPQUEST,FACEBOOK
'
style: simple
QuestionAnswerFilter:
name: filter
required: false
schema:
type: string
in: query
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 `{\"entityId\":{\"$eq\":\"location123\"}}`, then the filter param after URL-encoding will be: `filter=%7B%22entityId%22%3A%7B%22%24eq%22%3A%22location123%22%7D%7D`\n\n**Supported filters**\n* **`id`**\n* **`entityId`**\n* **`publisherId`**\n* **`authorType`**\n* **`language`**\n* **`createTime`**\n* **`updateTime`**\n* **`answerCount`**\n* **`ownerAnswer`**\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 \"entityId\":{\n \"$eq\":\"location123\"\n }\n}\n```\n\n`$eq` is the *matcher*, or filtering operation (equals, in this example),\n\n`entityId` is the *field* being filtered by, and\n\n`location123` is *value* to be matched against.\n\n**Combining Multiple Filters**\n\nMultiple filters can be combined into one object using *combinators*. For example, the following filter JSON combines multiple filters using the combinator `$and`. `$or` is also supported.\n```\n{\n \"$and\":[\n {\n \"entityId\":{\n \"$eq\":\"location123\"\n }\n },\n {\n \"authorType\":{\n \"$in\":[\n \"LOCAL_GUIDE\",\n \"MERCHANT\"\n ]\n }\n }\n ]\n}\n```\n\n**Filter Negation**\n\nCertain filter types may be negated. For example:\n\n```\n{\n \"$not\": {\n \"entityId\": {\n \"$eq\": \"location123\"\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 \"entityId\":{\n \"!$eq\":\"location123\"\n }\n}\n```\n\n**TEXT**\n\nThe `TEXT` filter type is supported for text fields. (e.g., **`entityId`**, **`authorType`**)\n\n
\n \n | Matcher | \n Details | \n
\n \n | $eq (equals) | \n \n\n {\n \"entityId\":{\n \"$eq\":\"location123\"\n }\n },\n {\n \"authorType\":{\n \"!$eq\":\"REGULAR_USER\"\n }\n }\n\n Supports negation. Case insensitive.\n |
\n
\n\n**BOOLEAN**\n\nThe BOOLEAN filter type is supported for boolean fields and Yes / No fields.\n\n \n | Matcher | \n Details | \n
\n \n | $eq | \n \n\n {\n \"ownerAnswer\": {\n \"$eq\": true\n }\n }\n\n For booleans, the filter takes a boolean value, not a string.\n Supports negation.\n |
\n
\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\n \n | Matcher | \n Details | \n
\n \n | $eq | \n \n\n Equals\n\n {\n \"answerCount\": {\n \"$eq\": 3\n }\n }\n\n Supports negation.\n\n |
\n \n | $lt | \n \n\n Less than\n\n {\n \"updateTime\": {\n \"$lt\": 1579711121392\n }\n }\n\n |
\n \n | $gt | \n \n\n Greater than\n\n {\n \"answerCount\": {\n \"$gt\": 3\n }\n }\n\n |
\n \n | $le | \n \n\n Less than or equal to\n\n {\n \"answerCount\": {\n \"$le\": 3\n }\n }\n\n |
\n \n | $ge | \n \n\n Greater than or equal to\n\n {\n \"answerCount\": {\n \"$ge\": 3\n }\n }\n\n |
\n \n | Combinations | \n \n\n While we do not support \"between\" in our filtering syntax, it is possible to combine multiple matchers for a result similar to an \"and\" operation:\n\n {\n \"answerCount : {\n \"$gt\" : 1,\n \"$lt\": 3\n }\n }\n\n |
\n
\n"
listingsPublisherId:
name: publisherId
in: path
schema:
type: string
required: true
locality:
in: query
name: city
description: 'City in which to search
e.g. `New York`
'
schema:
type: string
latlng:
in: query
name: latlng
description: 'latitude and longitude coordinates, separated by a comma.
e.g. `-27.1259105,-109.4789002`
'
schema:
type: string
region:
in: query
name: state
description: 'State, region, or province in which to search. Abbreviations are used for some countries.
e.g. `NY`, `Kanagawa`
'
schema:
type: string
v:
name: v
in: query
required: true
schema:
type: string
description: A date in `YYYYMMDD` format.
entitiesPageToken:
name: pageToken
in: query
schema:
type: string
required: false
description: 'If a response to a previous request contained the **`pageToken`** field, pass that field''s value as the **`pageToken`** parameter to retrieve the next page of data.
'
limit:
name: limit
in: query
schema:
type: integer
default: 10
maximum: 50
description: Number of results to return.
lastName:
in: query
name: lastName
description: '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.
'
schema:
type: string
type:
in: query
name: type
description: 'The kind of records that should be returned.
NOTE: This parameter will only be used if you support more than just the `Location` type.
'
schema:
type: string
enum:
- Location
- HealthcareFacility
- HealthcareProfessional
listingsLocationIds:
name: locationIds
in: query
schema:
type: array
items:
type: string
description: 'Defaults to all account locations with a Listings subscription.
**Example:** loc123,loc456,loc789
'
style: simple
accountId:
name: accountId
in: path
required: true
schema:
type: string
responses:
ListAdminsResponse:
description: List Admins Response
content:
application/json:
schema:
title: ListAdminsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of admins that meet the filter criteria.
admins:
type: array
items:
$ref: '#/components/schemas/Admin'
nextPageToken:
$ref: '#/components/schemas/NextPageToken'
ListPublisherSuggestionsResponse:
description: Publisher Suggestions Response
content:
application/json:
schema:
title: PublisherSuggestionsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of Publisher Suggestions that meet filter criteria (ignores limit/offset)
suggestions:
type: array
items:
$ref: '#/components/schemas/PublisherSuggestion'
ErrorResponseNew:
description: Bad Request
content:
application/json:
schema:
title: ErrorResponseNew
type: object
properties:
error:
$ref: '#/components/schemas/ResponseErrorNew'
ListMethodsResponse:
description: Methods Response
content:
application/json:
schema:
title: ListMethodsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of verification methods that meet the filter criteria.
verificationMethods:
type: array
items:
$ref: '#/components/schemas/VerificationMethod'
nextPageToken:
$ref: '#/components/schemas/NextPageToken'
PublisherSuggestionResponse:
description: Publisher Suggestion Response
content:
application/json:
schema:
title: PublisherSuggestionResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
$ref: '#/components/schemas/PublisherSuggestion'
EmptyResponseNew:
description: OK
IdResponse:
description: ID Response.
content:
application/json:
schema:
title: IdResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
id:
type: string
EmptyResponse:
description: Empty Response.
content:
application/json:
schema:
title: EmptyResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
CompleteVerificationResponse:
description: Complete Verification Response
content:
application/json:
schema:
title: CompleteVerificationResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of successful requests.
entityIds:
type: array
description: IDs of entities that were successfully verified.
items:
type: string
ListListingAccuracyResponse:
description: Listings Accuracy Response
content:
application/json:
schema:
title: ListListingAccuracyResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
listingAccuracy:
type: array
items:
$ref: '#/components/schemas/ListingAccuracy'
404NotFoundResponse:
description: Not Found
content:
application/json:
schema:
title: 404NotFoundResponse
type: object
properties:
error:
properties:
message:
type: string
description: Not Found
example: Not Found
InviteAdminsResponse:
description: Invite Admins Response
content:
application/json:
schema:
title: InviteAdminsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: '
Total number of Admins created.
'
admins:
type: array
items:
$ref: '#/components/schemas/Admin'
InitiateVerificationResponse:
description: Initiate Verification Response
content:
application/json:
schema:
title: InitiateVerificationResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of successful requests.
entityIds:
type: array
description: IDs of entities that were successfully verified.
items:
type: string
ListStatusesResponse:
description: Statuses Response
content:
application/json:
schema:
title: ListStatusesResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of verification statuses that meet the filter criteria.
verifications:
type: array
items:
$ref: '#/components/schemas/VerificationStatus'
nextPageToken:
$ref: '#/components/schemas/NextPageToken'
LiveResponse:
description: OK
content:
application/json:
schema:
title: LiveResponse
type: object
properties:
status:
type: string
description: In the case of a 200 response, should always be 'LIVE'
example: LIVE
id:
type: string
description: Your ID for the Listing. If the listing already exists on your site, id must match that listing's ID in your system.
example: 73ghf90jd0
url:
type: string
description: The URL where the listing can be seen on your site
example: http://partner.com/places/73ghf90jd0.html
SearchResponse:
description: OK
content:
application/json:
schema:
title: SearchSuccess
type: array
description: A list of search results; empty if no matching listings could be found.
items:
$ref: '#/components/schemas/SearchResult'
ErrorResponse:
description: Error Response
content:
application/json:
schema:
title: ErrorResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMetaWithError'
response:
type: object
ListPublishersResponse:
description: Publishers Response
content:
application/json:
schema:
title: PublishersResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
publishers:
type: array
items:
$ref: '#/components/schemas/Publisher'
ListDuplicatesResponse:
description: Duplicates Response
content:
application/json:
schema:
title: DuplicatesResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: Total number of locations that meet filter criteria (ignores limit/offset)
duplicates:
type: array
items:
$ref: '#/components/schemas/Duplicate'
DetailsResponse:
description: OK
content:
application/json:
schema:
title: DetailsResponse
type: object
anyOf:
- $ref: '#/components/schemas/Details'
- $ref: '#/components/schemas/HealthcareProfessional'
- $ref: '#/components/schemas/HealthcareFacility'
ListListingsResponse:
description: Listings Response
content:
application/json:
schema:
title: ListingsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: 'If the **`v`** parameter is before `20170420`: the Listings count, including alternate brands
If the **`v`** parameter is `20170420` or later: the Listings count, excluding alternate brands
Total number of Listings that meet the filter criteria (ignores **`limit`** and **`offset`**)
'
listings:
type: array
items:
$ref: '#/components/schemas/Listing'
pageToken:
type: string
description: 'This field is only included if there is an additional page of data to display.
To retrieve the next page of data, pass this field''s value as the **`pageToken`**
parameter in a subsequent request.
**`pageToken`** is only returned with the inclusion of a **`v`** parameter of
`20210915` or later when there is no **`offset`** in the query parameter.
'
BlockedResponse:
description: Blocked
content:
application/json:
schema:
title: BlockedResponse
type: object
properties:
status:
type: string
description: The current status of the Listing.
enum:
- REJECTED
- BLOCKED
issues:
type: array
description: List of issues that are causing the status to be REJECTED or BLOCKED
items:
type: object
properties:
description:
type: string
description: Describes the issue
example: Country not supported
field:
type: string
description: '(Optional) Specifies which field (as named in the JSON Listing Format body) is causing the issue. If the field is part of an array, its array index should be included. This value should be omitted if the issue does not apply to a specific field.
* If we send more than one location in a request, this value should identify which location the field is part of by the location''s yextId (e.g., if the postalCode field of the location with yextId 3524 is causing the issue: location[3524].address.postalCode)
'
suggestedValue:
type: string
description: (Optional) contains a value for the field that you would accept
ListEntityListingsResponse:
description: Entity Listings Response
content:
application/json:
schema:
title: EntityListingsResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: 'Total number of Listings that meet the filter criteria (ignores **`limit`** and **`offset`**)
'
nextPageToken:
type: string
description: 'This field is only included if there is an additional page of data to display. To retrieve the next page of data, pass this field''s value as the **`pageToken`** parameter in a subsequent request.
'
listings:
type: array
items:
$ref: '#/components/schemas/EntityListing'
BlockedSuppression:
description: Blocked
content:
application/json:
schema:
title: BlockedSuppression
type: object
properties:
issue:
type: string
description: Issue that is causing the suppression to be blocked
example: Listing is managed by another partner
ServerError:
description: Server Error
content:
application/json:
schema:
title: ServerError
type: object
properties:
error:
$ref: '#/components/schemas/ResponseErrorNew'
ConfirmSyncResponse:
description: Confirm Sync Response
content:
application/json:
schema:
title: ConfirmSyncResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
pageToken:
type: string
description: 'Token used for pagination to continue confirm sync in a subsequent request.
**`pageToken`** is returned only when the **`v`** parameter is `20260401` or later.
'
ListQuestionsResponse:
description: List Questions Response
content:
application/json:
schema:
title: ListQuestionsReponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
type: object
properties:
count:
type: integer
description: 'Total number of questions that meet the filter criteria (ignores **`limit`** and **`offset`**)
'
pageToken:
type: string
description: 'This field is only included if there is an additional page of data to display. To retrieve the next page of data, pass this field''s value as the **`pageToken`** parameter in a subsequent request.
'
questions:
type: array
items:
$ref: '#/components/schemas/Question'
QuestionResponse:
description: Question Response
content:
application/json:
schema:
title: QuestionResponse
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMeta'
response:
$ref: '#/components/schemas/Question'
securitySchemes:
api_key:
type: apiKey
name: api_key
in: query
api-key:
type: apiKey
name: api-key
in: header