Identifying Yext Objects
Every Yext object has an identifier that you can use to operate on the object and cache it for your app’s use. Depending on the object, certain identifiers will not be applicable.

Accounts

To persistently, uniquely identify a Yext account in the platform, use the appSpecificAccountId found in the OAuth access token response. These IDs are used in webhook payloads to identify the account associated with the event. You can also store the appSpecificAccountId as the primary key for the Yext account.

App-specific account IDs cannot be used in the resource path for API calls. They are also intentionally unique per app, so different apps cannot share state between each other.

Do not use the accountId values found in meta objects, as these values are customer-settable and may not be unique in the Knowledge Engine.

Locations

Locations have a customer-settable id on the object that is unique within an account. This ID is analogous to the “corporate code” or “store ID” of a location and is generally the location’s primary key in other customer systems, both internal and external.

Please note that id can be changed by the customer (e.g., in the Yext Knowledge Engine platform or through the API).

Menus, Bios, Products, Events

Menus, Bios, Products, and Events each have a customer-settable id on the object that is unique within an account. An id can also be auto-generated by the system if the customer does not set an id.

Please note that id can be changed by the customer (e.g., in the Yext Knowledge Engine platform or through the API).

Note that id values must be 32 characters or less.

Folders, Labels, Custom Fields

Folders, Labels, and Custom Fields each have a system-generated, non-customer-settable id on the object that is unique within an account.