---
title: "Create social posts for multiple locations."
method: POST
path: "/api/v4/bulk-posts"
tags: ["Posts"]
---

# Create social posts for multiple locations.

`POST /api/v4/bulk-posts`

Creates one social post and publishes it across many locations in a single request.

## Request body

- object
  - `input` CreateSocialPostMutationInput, required
    - `postName` string, required
    - `locationIds` string[], required
    - `postType` 'EVENT' | 'OFFER' | 'ANNOUNCEMENT' | 'COVID19' | 'PRODUCT', required — Social Post types.
    - `postSites` SitesType[], required
    - `postMessage` PostMessageInput[]
      - `site` 'GOOGLE' | 'FACEBOOK', required — Sites a post can be published to.
      - `message` string, required
    - `postCta` PostCtaInput[]
      - `site` 'GOOGLE' | 'FACEBOOK', required — Sites a post can be published to.
      - `type` string, required
      - `url` string, required
    - `postMediaUrl` SocialPostMediaInput[]
      - `site` 'GOOGLE' | 'FACEBOOK', required — Sites a post can be published to.
      - `url` string, required
      - `type` 'IMAGE' | 'VIDEO' — Media type for social posts.
    - `postScheduledDates` PostScheduledDatesInput
      - `startDatetime` string, required — Custom scalar Datetime
      - `endDatetime` string, required — Custom scalar Datetime
      - `removalSites` SitesType[]
    - `postContextInfo` PostContextInfoInput — Additional details for post based on post_type.
      - `couponCode` string
      - `redeemUrl` string
      - `termsConditions` string
      - `title` string
      - `discount` string
      - `locationType` string
      - `startDay` string, date
      - `startTime` string
      - `endDay` string, date
      - `endTime` string
    - `componentIdentifier` string
    - `componentType` string
    - `products` ProductInfoInput[]
      - `productId` string
      - `name` string
      - `category` string
      - `price` string
      - `minPrice` string
      - `maxPrice` string
      - `description` string
      - `photo` string
      - `cta` PostCtaInput[]
        - `site` 'GOOGLE' | 'FACEBOOK', required — Sites a post can be published to.
        - `type` string, required
        - `url` string, required
      - `sites` SitesType[]
    - `clientMutationId` string

## Response `200`

Successful response

- SocialPostMutation — Result of a social post create/edit mutation.
  - `clientMutationId` string
  - `success` boolean, required
  - `errors` MutationError[]
    - `message` string
    - `code` string
    - `contextInfo` ContextError[]
      - `key` string
      - `value` string
  - `socialPost` SocialPost — A newer multi-site/multi-location post campaign.
    - `id` string, required
    - `name` string, required
    - `status` 'INPROGRESS' | 'SCHEDULED' | 'SUCCESS' | 'ERROR' | 'DELETED' | 'EXPIRED', required — Social Post lifecycle statuses.
    - `type` 'EVENT' | 'OFFER' | 'ANNOUNCEMENT' | 'COVID19' | 'PRODUCT', required — Social Post types.
    - `createdAt` string, date, required
    - `deletedAt` string, date
    - `expiredAt` string, date
    - `scheduledStartDate` string, date
    - `scheduledEndDate` string, date
    - `views` integer
    - `clicks` integer
    - `shares` integer
    - `reactions` integer
    - `comments` integer
    - `sites` SitesType[], required
    - `message` PostMessage[]
      - `message` string
      - `site` 'GOOGLE' | 'FACEBOOK' — Sites a post can be published to.
    - `cta` PostCta[]
      - `type` SiteCtaTypes
        - `value` string
        - `label` string
      - `url` string
      - `site` 'GOOGLE' | 'FACEBOOK' — Sites a post can be published to.
      - `tinyUrl` string
    - `contextInfo` PostContextInfo
      - `couponCode` string
      - `redeemUrl` string
      - `termsConditions` string
      - `title` string
      - `discount` string
      - `locationType` string
      - `startDay` string, date
      - `startTime` string
      - `endDay` string, date
      - `endTime` string
    - `mediaUrl` SocialPostMedia[]
      - `url` string
      - `site` 'GOOGLE' | 'FACEBOOK' — Sites a post can be published to.
      - `type` 'IMAGE' | 'VIDEO' — Media type for social posts.
    - `publishDetails` SocialPostPublishDetail[]
      - `site` 'GOOGLE' | 'FACEBOOK' — Sites a post can be published to.
      - `status` 'PUBLISHING' | 'PUBLISHED' | 'DELETED' | 'EXPIRED' | 'ERROR' — Publish statuses per site.
      - `createdDate` string, date
      - `publishedDate` string, date
      - `deletedDate` string, date
      - `expiredDate` string, date
      - `submissionError` string
    - `postLinks` SocialPostPublishedLink[]
      - `site` 'GOOGLE' | 'FACEBOOK' — Sites a post can be published to.
      - `link` string
    - `locationIds` integer[], required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Server error

---

[API](https://skmtc.net/listingsapi/apis/listings-api.md) · [All operations](https://skmtc.net/listingsapi/apis/listings-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/listingsapi/listings-api/versions/9274a1eac380/schema)
