The Items API lets you create, publish, schedule, and manage social media posts on a site's connected channels. In this API, a post is called an item. Items you create through the API appear on the site's Social Media Marketing page in the dashboard, alongside posts created there manually.
With the Items API, you can:
Before publishing or scheduling, check that the target channel is connected with the Accounts API and that the site has remaining quota with the Premium Features API. You can optionally generate post content with the Generated Content API before creating a draft.
An item moves through statuses as you work with it:
scheduledDate. The post is published automatically at that time unless you cancel or reschedule it.The recommended flow is to create a draft first, then publish or schedule it with Publish Item By ID. You can also call Publish Item with a complete item in one step.
A story item holds one media item per frame. A story draft with more than one media item can only be published with Publish Multi Story Draft, which splits the draft into one story item per frame and publishes them in media order, stopping at the first failure. Publishing such a draft with any other method fails with MULTI_STORY_PUBLISH_NOT_SUPPORTED, because the channel would publish only its first frame. Frames already published by an earlier call are skipped, so the call can be safely retried after a partial failure, and the draft is deleted only once all of its frames are published. Each published frame carries the original draft's ID in originItemId, so you can match the new items to whatever you recorded against the draft.
Multi-frame story drafts are typically generated for a site by the Marketing Plan API, which decides which of a plan's activities carry a story and how many frames each one has.
Query Items supports a fixed set of filterable and sortable fields, listed in that method's description. Two behaviors are worth knowing before you rely on a query:
SCHEDULED and scheduled are equivalent.Deleted items are never returned, with or without a filter. Sorting on one of the analytics fields requires the site to have post insights. Without them, the items are sorted by date instead, in whichever direction you asked for.
Every item records what created it, in consumerInfo.name. Specify it whenever you create or publish an item, using one stable name for whatever is making the call, whether that's an app, an AI agent, or a service of your own. The name is stored with the item and returned every time the item is read, so the items your integration created can be told apart from items created in the site's dashboard or by something else.
Set it at creation. Create Draft Item, Publish Item, and Bulk Publish Items accept it. Update Item doesn't change it, so an item created without a name can't be identified later.
It's important to note the following points before starting to code:
type and content must match a combination that channel supports.static.wixstatic.com for images, video.wixstatic.com for videos) are the supported option and are what the site's dashboard produces. The API doesn't validate the URL's host, so a non-Media-Manager URL is accepted, but it must be publicly reachable by the target channel, and channels differ in how they handle such a URL. To use an image or video that isn't in the Media Manager yet, add it first with the Media Manager.PUBLISH_POST or SCHEDULE_POST before you publish or schedule.external set to true and may take up to a day to show up.Last updated: 10 September 2026