Yext Social API

The Social API from Yext — 10 operation(s) for social.

Operations 15

GET /accounts/{accountId}/posts Posts: List #
POST /accounts/{accountId}/posts Post: Create #
GET /accounts/{accountId}/posts/{postId} Post: Get #
PUT /accounts/{accountId}/posts/{postId} Post: Update #
DELETE /accounts/{accountId}/posts/{postId} Post: Delete #
POST /accounts/{accountId}/posts/generatePostText Post: Generate Text #
DELETE /accounts/{accountId}/entityPosts/{entityPostId} Entity Post: Delete #
POST /accounts/{accountId}/entityPosts/{entityPostId}/comments Comment: Create #
GET /accounts/{accountId}/entityPosts/{entityPostId}/comments Entity Post: Comments #
DELETE /accounts/{accountId}/entityPosts/{entityPostId}/comments/{commentId} Comment: Delete #
POST /accounts/{accountId}/social/video Video: Upload #
GET /accounts/{accountId}/social/eligibility Eligibility: Get #
GET /accounts/{accountId}/social/conversation Conversation: Get #
GET /accounts/{accountId}/social/messages Messages: List #
POST /accounts/{accountId}/social/messages Messages: Create #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yext-social-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

yext-social-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yext Social API
  version: '2.0'
servers:
- url: https://api.yextapis.com/v2
security:
- api_key: []
- api-key: []
tags:
- name: Social
paths:
  /accounts/{accountId}/posts:
    parameters:
    - $ref: '#/components/parameters/accountId'
    get:
      operationId: listPosts
      summary: 'Posts: List'
      tags:
      - Social
      description: 'Retrieve Social Posts matching the given criteria.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: pageToken
        in: query
        schema:
          type: string
        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.

          '
      - name: postIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: Only return posts with the postIDs in the specified list.
      - name: entityPostIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: Only return entityPosts with entityPostIds in the specified list.
      - name: entityIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: Only return posts for the specified entities.
      - name: publishers
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - INSTAGRAM
            - FACEBOOK
            - FIRSTPARTY
            - GOOGLEMYBUSINESS
        description: 'Only return posts on the specified publishers.

          '
      - name: text
        in: query
        schema:
          type: string
        description: Only return posts with the specified text.
      - name: status
        in: query
        schema:
          type: array
          items:
            type: string
        description: "Only include posts which match one of the specified statuses:\n  * `POST_SCHEDULED`\n  * `POST_AWAITING_APPROVAL`\n  * `POST_SUCCEEDED`\n  * `POST_PROCESSING`\n  * `DELETE_PROCESSING`\n  * `POST_FAILED`\n  * `DELETE_FAILED`\n  * `REJECTED_BY_APPROVER`\n"
      responses:
        '200':
          $ref: '#/components/responses/PostsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: createPosts
      summary: 'Post: Create'
      tags:
      - Social
      description: 'Create a new social post.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePost'
      responses:
        '200':
          $ref: '#/components/responses/PostResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/posts/{postId}:
    parameters:
    - $ref: '#/components/parameters/accountId'
    get:
      operationId: getPost
      summary: 'Post: Get'
      tags:
      - Social
      description: 'Retrieve a specific social post.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: postId
        in: path
        required: true
        schema:
          type: string
        description: The ID of a specific post.
      responses:
        '200':
          $ref: '#/components/responses/PostResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    put:
      operationId: updatePost
      summary: 'Post: Update'
      tags:
      - Social
      description: 'Update a social post.


        **NOTE:** Updates are only allowed for posts with no entity posts currently processing.

        Entity posts that failed to publish will not be updated by subsequent requests to the update endpoint.

        Updates to Google Posts may not be reflected immediately.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: postId
        in: path
        required: true
        schema:
          type: string
        description: 'The ID of a specific post.

          '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePost'
      responses:
        '200':
          $ref: '#/components/responses/PostResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    delete:
      operationId: deletePost
      summary: 'Post: Delete'
      tags:
      - Social
      description: 'Delete a social post.


        **NOTE:** Posts that have status `POST_PROCESSING` may not be deleted.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: postId
        in: path
        required: true
        schema:
          type: string
        description: 'The ID of a specific post.


          To delete individual entity posts, please use the

          [**Entity Post: Delete**](#operation/deleteEntityPost) endpoint.

          '
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/posts/generatePostText:
    post:
      operationId: generatePostText
      summary: 'Post: Generate Text'
      tags:
      - Social
      description: 'Generates caption, by using API, based on a set of criteria. The generated caption should then

        be provided as a value against the `text` field in the Post: Create call.


        Please note that this endpoint returns embedded fields using double brackets. You MUST use a

        **`v`** parameter of`20250514` or greater in the Post: Create call in order for the embedded

        fields to resolve correctly.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratePostText'
      responses:
        '200':
          description: Generate Post Text Response
          content:
            application/json:
              schema:
                title: GeneratePostTextResponse
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  response:
                    type: object
                    properties:
                      postText:
                        type: string
                        description: "The generated post text. Please note that the generated post text may contain embedded fields.\nPlease use a **`v`** parameter of`20250514` or greater in the Post: Create endpoint in order \nfor the embedded fields to resolve correctly.\n"
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/entityPosts/{entityPostId}:
    delete:
      operationId: deleteEntityPost
      summary: 'Entity Post: Delete'
      tags:
      - Social
      description: 'Delete a specific entity post

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/entityPostId'
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/entityPosts/{entityPostId}/comments:
    post:
      operationId: createEntityPostComment
      summary: 'Comment: Create'
      tags:
      - Social
      description: 'Comment on a specific entity post.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/entityPostId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  type: string
                  description: The text of the comment.
                parentCommentId:
                  type: string
                  description: 'If the comment is in response to another comment, this is the ID of the parent

                    comment. **Instagram and Facebook only**

                    '
      responses:
        '200':
          $ref: '#/components/responses/CreateCommentResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    get:
      operationId: getEntityPostComments
      summary: 'Entity Post: Comments'
      tags:
      - Social
      description: 'Provided an entityPostId, returns a list of comments with pagination support.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/entityPostId'
      - name: pageToken
        in: query
        schema:
          type: string
        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.

          '
      responses:
        '200':
          $ref: '#/components/responses/EntityPostCommentsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/entityPosts/{entityPostId}/comments/{commentId}:
    delete:
      operationId: deleteEntityPostComment
      summary: 'Comment: Delete'
      tags:
      - Social
      description: 'Delete a comment on a specific entity post.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/entityPostId'
      - $ref: '#/components/parameters/commentId'
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/social/video:
    post:
      operationId: uploadVideo
      summary: 'Video: Upload'
      tags:
      - Social
      description: 'Upload a video to be used in a post.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadVideo'
      responses:
        '200':
          $ref: '#/components/responses/UploadVideoResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/social/eligibility:
    get:
      operationId: socialEligibility
      summary: 'Eligibility: Get'
      tags:
      - Social
      description: 'Fetch publisher eligibility for a given set of entities. If a publisher is ELIGIBLE for an entity, that means it can be posted to. If a publisher is INELIGIBLE for an entity, that means that it cannot be posted to.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: publishers
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
            enum:
            - APPLE
            - INSTAGRAM
            - FACEBOOK
            - FIRSTPARTY
            - GOOGLEMYBUSINESS
          description: The publisher(s) for which to check for eligibility
      - name: entityIds
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
          description: ID(s) of the entities for which to check for eligibility
      responses:
        '200':
          $ref: '#/components/responses/SocialEligibilityResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/social/conversation:
    get:
      operationId: getSocialConversation
      summary: 'Conversation: Get'
      tags:
      - Social
      description: 'Fetches a full conversation for a `userId` \ `entityId` \ `publisher`. The `userId` can be retrieved from the

        Messages: List response.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/pageToken'
      - name: entityId
        in: query
        required: true
        schema:
          type: string
        description: ID of the entity to fetch a conversation for.
      - name: publisher
        in: query
        required: true
        schema:
          type: string
          enum:
          - INSTAGRAM
          - FACEBOOK
        description: The publisher(s) for which to fetch the conversation for
      - name: userId
        in: query
        required: true
        schema:
          type: string
        description: ID of the user to fetch the conversation for
      responses:
        '200':
          description: Get Conversation Response
          content:
            application/json:
              schema:
                title: GetConversationResponse
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  response:
                    type: object
                    properties:
                      nextPageToken:
                        $ref: '#/components/schemas/NextPageToken'
                      deadline:
                        type: string
                        format: date
                        description: 'The latest time to which you can send a message to the user. Formatted as datetime in YYYY-MM-DD HH:MM:SS. Ex: 2021-04-06 08:45:00. The timezone for the provided datetime will be UTC.

                          '
                      user:
                        type: object
                        properties:
                          id:
                            type: string
                            description: The ID of the user that you're having a conversation with
                          name:
                            type: string
                            description: The name of the user that you're having a conversation with
                      conversation:
                        type: array
                        items:
                          $ref: '#/components/schemas/ConversationMessageWithParent'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/social/messages:
    get:
      operationId: listSocialMessages
      summary: 'Messages: List'
      tags:
      - Social
      description: 'Fetches the latest message sent by a `user` on a `publisher` / `entityId`.


        To fetch the whole conversation for a specific `user` / `publisher` / `entityId`, provide the

        `user.id` that''s returned in the response against the Conversation: Get endpoint.


        To send a message to a specific `user` / `publisher` / `entityId`, provide the `user.id` that''s

        returned in the response against the Messages: Create endpoint.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/pageToken'
      - name: entityIds
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Filters messages that match the specified entityId(s)
      - name: publishers
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - INSTAGRAM
            - FACEBOOK
          description: Filters messages that match specified publisher(s)
      - name: userName
        in: query
        required: false
        schema:
          type: string
        description: Filters messages that match the user name (Facebook name or Instagram handle)
      - name: messageText
        in: query
        required: false
        schema:
          type: string
        description: Filters messages that match the specified text
      - name: sortBy
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - OLDEST_TO_NEWEST
            - NEWEST_TO_OLDEST
          description: Defaults to `NEWEST_TO_OLDEST`
      - name: readUnreadStatus
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - READ
            - UNREAD
          description: Filters messages that match the specified readUnreadStatus
      - name: minCreatedDate
        in: query
        schema:
          type: string
          format: date
        description: 'Formatted as datetime in YYYY-MM-DD HH:MM:SS. Ex: 2021-04-06 08:45:00. The timezone for the provided datetime will be UTC.

          '
      - name: maxCreatedDate
        in: query
        schema:
          type: string
          format: date
        description: 'Formatted as datetime in YYYY-MM-DD HH:MM:SS. Ex: 2021-04-06 08:45:00. The timezone for the provided datetime will be UTC.

          '
      responses:
        '200':
          description: List Messages Response
          content:
            application/json:
              schema:
                title: ListMessagesResponse
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  response:
                    type: object
                    properties:
                      nextPageToken:
                        $ref: '#/components/schemas/NextPageToken'
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/Message'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: createSocialMessages
      summary: 'Messages: Create'
      tags:
      - Social
      description: 'Sends a message to a specified `userId` \ `publisher` \ `entityId`. The `userId` can be retrieved from the

        Messages: List response.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/pageToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - entityId
              - publisher
              - userId
              - text
              properties:
                entityId:
                  type: string
                  description: ID of the entity to create a message for.
                publisher:
                  type: string
                  enum:
                  - INSTAGRAM
                  - FACEBOOK
                  description: The publisher the message should be sent to.
                userId:
                  type: string
                  description: The publisher user ID that the message should be sent to.
                text:
                  type: string
                  description: "The copy to be sent as the message. Character limits vary per publisher. Please refer to the following character limits: \nFacebook: 2000 \nInstagram: 1000\n"
      responses:
        '200':
          description: Create Message Response
          content:
            application/json:
              schema:
                title: CreateMessageResponse
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                  response:
                    type: object
                    properties:
                      message:
                        $ref: '#/components/schemas/Message'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    UploadVideo:
      type: object
      required:
      - publisher
      - videoUrl
      - videoPostType
      - uploadType
      properties:
        publisher:
          type: string
          enum:
          - INSTAGRAM
          - FACEBOOK
          description: 'Upload a video to Yext''s CDN to be used in a post. A video must be in Yext''s CDN in order to be used in a Create Post request.

            '
        videoUrl:
          type: string
          description: A non Yext-CDN URL of a video to be posted to the publisher.
        videoPostType:
          type: string
          description: The type of video post to be uploaded. Instagram only supports the `REEL` video post type.
          enum:
          - REEL
          - VIDEO
        uploadType:
          type: string
          description: The type of upload. Only `URL` is supported at this time.
          enum:
          - URL
    CreatePost:
      type: object
      required:
      - entityIds
      - publisher
      properties:
        entityIds:
          type: array
          items:
            type: string
          description: ID(s) of the entities to post for
        publisher:
          type: string
          enum:
          - INSTAGRAM
          - FACEBOOK
          - FIRSTPARTY
          - GOOGLEMYBUSINESS
          - LINKEDIN
          - TIKTOK
          description: 'The publisher the post should be sent to.

            '
        postTitle:
          type: string
          description: The title of the post. This does not get sent out to the publisher network and is for internal use only. The title cannot exceed 250 characters. If a title is not provided, we will use the first 40 characters of the post text or if no text is provided then the title will be "Media Only Post".
        text:
          type: string
          description: 'The copy to be featured on the post.


            Please note that you should use double brackets for embedded fields if your **`v`** parameter

            is on or after `20250514`. If you are using the response from a Post: Generate Post Text call,

            then your **`v`** parameter must be on or after `20250514`, since responses from that call

            use double brackets for embedded fields.


            Character limits vary per publisher. Please refer to the following character limits:

            * Google Business Profile: 1500

            * Facebook: 5000

            * First Party: 5000

            * LinkedIn: 3000

            * TikTok: 2200

            '
        clickthroughUrl:
          type: string
          description: 'Url included with the post. Required for Google posts that include a callToActionType except

            CALL

            '
        photoUrls:
          type: array
          items:
            type: string
          description: 'List of publicly accessible URLs where the photos can be retrieved from.


            **NOTE**: Currently supports up to 10 photo urls to create multi-image and carousel posts on Facebook and Instagram.

            TikTok also supports multi-photo posts via this field when used together with

            `tikTokPostFields.photoCoverIndex`.

            '
        videos:
          type: array
          description: Video to be posted to the publisher. Facebook, Instagram, and TikTok are supported and only one video can be uploaded per post.
          items:
            type: object
            required:
            - videoUrl
            - videoPostType
            properties:
              videoUrl:
                type: string
                description: A URL of a video to be posted to the publisher. The video must first be uploaded to Yext's CDN via the Upload Video endpoint.
              videoPostType:
                type: string
                description: The type of video post to be uploaded. Instagram only supports the `REEL` video post type. TikTok only supports the `VIDEO` video post type.
                enum:
                - REEL
                - VIDEO
              coverImageUrl:
                type: string
                description: The cover image URL of the video. The first frame of the video will be used if a cover image is not provided. This field is not used for TikTok video posts.
              videoTitle:
                type: string
                description: The title of the video. Facebook only supports this for the `VIDEO` video post type.
        tikTokPostFields:
          type: object
          description: 'TikTok-specific fields. This object is required when `publisher` is `TIKTOK`.


            For TikTok posts:

            * `privacyLevel` is required.

            * `complianceSetting` is required and must be `true`.

            * For multi-photo posts, `photoCoverIndex` is required and must reference one of the supplied `photoUrls`.

            * Private posts (`SELF_ONLY`) cannot enable comments, duet, or stitch, and cannot be branded content.

            * Multi-photo posts cannot enable duet or stitch.

            '
          properties:
            privacyLevel:
              type: string
              description: The TikTok privacy level for the post.
              enum:
              - PUBLIC_TO_EVERYONE
              - MUTUAL_FOLLOW_FRIENDS
              - SELF_ONLY
              - FOLLOWER_OF_CREATOR
            enableComment:
              type: boolean
              description: Whether comments are enabled for the TikTok post.
            isBrandedContent:
              type: boolean
              description: Whether the TikTok post is branded content.
            isOrganicContent:
              type: boolean
              description: Whether the TikTok post is marked as organic branded content.
            enableDuet:
              type: boolean
              description: Whether duet is enabled for the TikTok post. This cannot be `true` for multi-photo posts.
            enableStitch:
              type: boolean
              description: Whether stitch is enabled for the TikTok post. This cannot be `true` for multi-photo posts.
            photoCoverIndex:
              type: integer
              description: The zero-based index of the cover image within `photoUrls` for a TikTok multi-photo post.
            multiPhotoTitle:
              type: string
              description: The title for a TikTok multi-photo post. Maximum length is 90 characters.
            complianceSetting:
              type: boolean
              description: TikTok content disclosure acknowledgment. This field is required for TikTok posts and must be `true`.
        postDate:
          type: string
          description: 'If the post should be scheduled for some time in the future, specify a postDate in the

            future here. Formatted as datetime in `YYYY-MM-DD HH:MM:SS`. Ex: 2021-04-06 08:45:00.

            The timezone for the provided datetime will be UTC.

            '
        topicType:
          type: string
          enum:
          - ALERT
          - EVENT
          - OFFER
          - STANDARD
          description: The topicType of the post. Only supported on Google posts. Defaults to `STANDARD`.
        alertType:
          type: string
          enum:
          - ALERT_TYPE_UNSPECIFIED
          - COVID_19
          description: 'The type of alert the post is created for.


            **NOTE**: This field is only applicable for posts of

            topicType `ALERT`, and behaves as a sub-type of Alerts. Only supported on Google posts.

            '
        offer:
          $ref: '#/components/schemas/Offer'
        callToActionType:
          type: string
          enum:
          - BOOK
          - CALL
          - LEARN_MORE
          - ORDER
          - SIGN_UP
          description: 'The actionType of the post. Only supported on Google posts.

            '
        eventInfo:
          $ref: '#/components/schemas/EventInfo'
    Entity:
      type: object
      description: The entity which the post is for.
      properties:
        id:
          type: string
          description: The ID of the entity which the post is for.
    ResponseMetaWithError:
      allOf:
      - $ref: '#/components/schemas/ResponseMeta'
      - type: object
        properties:
          errors:
            type: array
            description: List of errors and warnings.
            items:
              $ref: '#/components/schemas/ResponseError'
    Offer:
      type: object
      description: 'Additional data for offer posts. Only supported on Google posts.

        '
      properties:
        couponCode:
          type: string
          description: Offer code that is usable in store or online. Limit 58 characters.
        redeemOnlineUrl:
          type: string
          description: Online link to redeem offer. Must be a valid URL.
        termsConditions:
          type: string
          description: Offer terms and conditions. Limit 5000 characters.
    Metrics:
      type: object
      description: The metrics for the entity post.
      properties:
        viewCount:
          type: number
          description: 'The number of times post was viewed.

            '
        uniqueViewCount:
          type: number
          description: 'The number of times the post was viewed by a unique user.

            '
        clickCount:
          type: number
          description: 'The number of times the post was clicked.

            '
        likeCount:
          type: number
          description: 'The number of times the post was liked.

            '
        loveCount:
          type: number
          description: Total "love" reactions of a post. Facebook only. Only present if the **`v`** parameter is on or after `20220728`.
        wowCount:
          type: number
          description: Total "wow" reactions of a post. Facebook only. Only present if the **`v`** parameter is on or after `20220728`.
        hahaCount:
          type: number
          description: Total "haha" reactions of a post. Facebook only. Only present if the **`v`** parameter is on or after `20220728`.
        sadCount:
          type: number
          description: Total "sad" reactions of a post. Facebook only. Only present if the **`v`** parameter is on or after `20220728`.
        angerCount:
          type: number
          description: Total "anger" reactions of a post. Facebook only. Only present if the **`v`** parameter is on or after `20220728`.
    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.
    EntityPost:
      type: object
      properties:
        entityPostId:
          type: string
          description: The ID of the individual post for a given entity on a given publisher.
        entity:
          $ref: '#/components/schemas/Entity'
        publisher:
          type: string
          enum:
          - INSTAGRAM
          - FACEBOOK
          - FIRSTPARTY
          - GOOGLEMYBUSINESS
          - LINKEDIN
          description: The publisher which the post was sent to.
        status:
          $ref: '#/components/schemas/EntityPostStatus'
        postUrl:
          type: string
          description: The URL where the post can be found
        metrics:
          $ref: '#/components/schemas/Metrics'
        comments:
          type: array
          items:
            $ref: '#/components/schemas/CommentWithReplies'
          description: Any comments on the post.
    ConversationMessageWithParent:
      type: object
      properties:
        messageId:
          type: string
          description: ID of the message that was created
        messageText:
          type: string
          description: Text of the message
        outbound:
          type: boolean
          description: true if the message was sent from

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