Prerequisites
Before using the Posts API, ensure you have:- Active subscription to Posts plan
- API key with appropriate role (Business Manager, Group Manager, Organization Manager, or Organization Admin)
-
Platform Integrations: Businesses must be connected to target platforms
- Google My Business
- Facebook
- Instagram
- Store Locator
- Businesses have a
google_location_idconnected DIFFUSIONfeature enabled
Understanding Post Types
Different post types serve different purposes and have specific requirements:- News Posts
- Event Posts
- Offer Posts
summary: Main content (max 1500 chars for Google, 10000 for Facebook, 2200 for Instagram)
- ✅ Instagram (requires at least 1 image)
- ✅ Store Locator
"post_type": "news" to create news posts.Creating Posts
All roles can create posts for the businesses they have access to. Each business gets its own individual post.- Organization Admin & Organization Manager: All businesses in the organization
- Group Manager: All businesses in their assigned groups
- Business Manager: Their assigned businesses (can be one or multiple)
bulk_id to group them together. However, only Organization Admin and Organization Manager can use the bulk management endpoints to update/delete all posts in a bulk at once.Single Business Post
Single Business Post
Creating a post for one business
All roles (Business Manager, Group Manager, Organization Manager, Organization Admin) can create posts for individual businesses they have access to.Multiple Businesses Post (Bulk Post)
Multiple Businesses Post (Bulk Post)
Creating posts for multiple businesses
Each business gets its own individual post. When targeting more than one business, all posts share abulk_id for grouping purposes.- By Group
- By Organization
- Each business gets its own separate Post record
- All posts share the same
bulk_id(assigned internally) - To get the
bulk_id, query one of the created posts using itspost_id - Only ORG_ADMIN/ORG_MANAGER can use bulk management endpoints to update/delete all posts at once
Create an Event Post
Create an Event Post
Publishing event posts with time constraints
Event posts are perfect for promoting time-specific events at your business locations.Define event details
- Event title (max 58 characters)
- Start and end dates/times
- Event description (optional)
- Media files (optional)
Create the event post
pending and will transition to live once published. This process is asynchronous and may take a few minutes.Create an Offer Post
Create an Offer Post
Publishing promotional offers with validity periods
Offer posts help you promote special deals, discounts, and limited-time promotions.Prepare offer details
- Offer title (max 58 characters)
- Validity period (start and end dates/times)
- Offer description (optional)
- Coupon code (optional, max 58 characters)
- Terms and conditions (optional, max 5000 characters)
Create the offer post
Schedule Posts for Future Publishing
Schedule Posts for Future Publishing
Publishing posts at a specific future time
Scheduled posts allow you to prepare content in advance and have it automatically published at a specific time.Understand scheduling vs validity
schedule_time: When the post should be published to the platformsstart_at/end_at: The validity period of the post content (for events and offers)
schedule_time must be at least 2 hours in the future from the current time.
You can schedule a news post, event post, or offer post. The schedule_time controls publication, while start_at/end_at control content validity.Create a scheduled post
scheduled and will automatically transition to pending at the scheduled time, then to live once published.Create Draft Posts for Validation
Create Draft Posts for Validation
Creating drafts requiring approval before publishing
Draft posts allow organization admins to create posts that require validation from Business Managers or Group Managers before being published.- User must have
ORG_ADMINrole - Organization must have
DRAFT_POSTfeature enabled - Organization must have more than 1 business
- Local users (Business Managers or Group Managers) must exist to validate drafts
Check if you can create drafts
Create a draft post
send_notifications: true, all Business Managers and Group Managers with access to the businesses will receive an email notification about the draft post requiring validation.Validate and publish draft
to_validate to pending and will be published to the selected platforms.Add Images to Posts
Add Images to Posts
Including images in your posts
Images make your posts more engaging and increase visibility on platforms.Understand image requirements
- Google My Business
- Facebook
- Instagram
- Store Locator
- Limit: 1 image
- Min size: 250 × 250px
- Max size: 10000 × 10000px
- Max weight: 5MB
- Formats: JPEG, JPG, PNG
Create post with images
image_url field:Add multiple images
Managing Existing Bulks
Once you’ve created posts for multiple businesses (which automatically generates abulk_id internally), Organization Admins and Organization Managers can use bulk management endpoints to search, update, or delete all posts in a bulk at once.
Search Bulk Posts
Search Bulk Posts
Finding and tracking posts in a bulk
Use the bulk search endpoint to retrieve all posts in a specific bulk. You can use thebulk_id if you know it, or search by business/group to find your posts.Count Posts in a Bulk
Count Posts in a Bulk
Update Bulk Posts
Update Bulk Posts
Modifying content across multiple posts
You can update all posts in a bulk simultaneously, which is useful for correcting errors or updating information.- Google & Facebook: Updates propagate asynchronously (a few minutes delay)
- Store Locator: Updates apply instantly
- Instagram: Cannot be edited once live (API limitation)
Delete Bulk Posts
Delete Bulk Posts
Removing multiple posts at once
Delete all posts in a bulk when content is no longer relevant or needs to be removed.- Published posts transition through
pending_deleted(asynchronous, a few minutes) - Unpublished posts are deleted immediately
- Instagram: Only removes Partoo records, not the actual Instagram post (manual deletion required)
Platform-Specific Guidelines
Quick reference for key differences between platforms:- Google My Business
- Facebook
- Instagram
- Store Locator
- Summary: 1500 characters
- Title: 58 characters (events/offers)
- Offer terms: 5000 characters
- Images: 1 per post
Post Lifecycle and States
Understanding post states helps you track the publishing process and troubleshoot issues:Post States
Post States
-
to_validate: draft post awaiting validation from a Business Manager or Group Manager -
scheduled: scheduled for future publishing at the specifiedschedule_time -
pending: queued for publishing -
live: successfully published -
to_configure: configuration error -
error: publisher error -
pending_deleted: queued for deletion -
deleted: successfully deleted from platforms and Partoo -
expired: draft post expired before validation, or post passed itsend_atdate
State Transitions
State Transitions
- Draft posts:
to_validate→pending(after validation) →live - Scheduled posts:
scheduled→pending(at schedule time) →live - Immediate posts:
pending→live(orerror/to_configureon failure) - Deletions: →
pending_deleted→deleted
Monitoring Post Progress
State transitions are asynchronous. To monitor post status:Use the search endpointGET /api/v2/posts with filters like state__in=live or state__in=pending to check if posts are published successfully.Troubleshooting Failed Posts
If your post entersto_configure state, use the state diagnostics endpoint to understand what configuration is missing./state endpoint only returns publishers in to_configure state. An empty response {} means no configuration errors were detected (posts may be pending, scheduled, live, or in other error states).