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
# --- truncated at 32 KB (219 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yext/refs/heads/main/openapi/yext-listings-api-openapi.yml