Skip to Content
API ReferenceList Posts API

List Posts

Fetch posts that belong to your app. The response is paginated. Use filters to narrow results by date range, post status, or specific client users.

This API is used for:

  • Calendar views (filter by date range)
  • Post list/management views (filter by status)
  • Client-specific post history (filter by external user IDs)

Endpoint

GET /api/v1/posts

Requires authentication using your Bearer access token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Quick Example

Fetch all posts for April 2026:

curl -X GET "https://api.palactix.com/v1/posts?date_from=2026-04-01&date_to=2026-04-30" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Query Parameters

All parameters are optional. You may combine any of them.


date_from

Filter posts on or after this date.

DetailValue
Typestring
FormatY-m-d (e.g. 2026-04-01)
RequiredNo
date_from=2026-04-01

If combined with date_to, returns posts scheduled within the range (inclusive on both ends).


date_to

Filter posts on or before this date.

DetailValue
Typestring
FormatY-m-d (e.g. 2026-04-30)
RequiredNo
ConstraintMust be equal to or after date_from
date_to=2026-04-30

status

Filter by post status.

DetailValue
Typestring
Allowed valuespending, scheduled, published, failed
RequiredNo
status=scheduled
ValueMeaning
pendingPost is created but not yet dispatched
scheduledPost is queued and will publish at scheduled_at
publishedPost has been published successfully
failedPublishing failed on one or more accounts

external_user_ids[]

Filter posts to specific client users by their external user IDs.

An external user ID is the ID of the user in your system — the same value you used when connecting an account via OAuth.

DetailValue
Typearray of strings
RequiredNo
external_user_ids[]=user_001&external_user_ids[]=user_002

Use this to show posts only for a specific client.


page

The page number to retrieve.

DetailValue
Typeinteger
Default1
Minimum1
page=2

per_page

Number of posts per page.

DetailValue
Typeinteger
Default20
Minimum1
Maximum100
per_page=50

Response

{ "data": [ { "id": "019d529f-e495-72aa-94ec-ff4268e61973", "request_id": "req_abc123", "external_user_id": "user_001", "status": "scheduled", "mode": "basic", "scheduled_at": "2026-04-10T09:00:00Z", "created_at": "2026-04-06T14:00:00Z", "containers": [ { "content": "Hello from Palactix!", "media": [] } ], "platform_posts": [ { "id": "019d529f-f123-72aa-94ec-ab8900000011", "account_id": "019ce4b8-57d1-70a6-b0dd-79c6fb99d2d9", "platform": "instagram", "handle": "@example_handle", "status": "scheduled", "scheduled_at": "2026-04-10T09:00:00Z" } ], "tags": [] } ], "meta": { "current_page": 1, "per_page": 20, "total": 42, "last_page": 3 } }

Response Fields

Top Level

FieldTypeDescription
dataarrayArray of post objects
metaobjectPagination metadata

meta Object

FieldTypeDescription
current_pageintegerThe current page number
per_pageintegerNumber of results per page
totalintegerTotal number of matching posts
last_pageintegerLast available page number

Post Object (data[])

FieldTypeDescription
idstring (UUID)Unique post identifier
request_idstringIdempotency key provided at publish time
external_user_idstringThe client’s external user ID from your system
statusstringCurrent post status: pending, scheduled, published, or failed
modestringPublish mode: basic (single content block) or advanced (containers with comments)
scheduled_atstring (ISO 8601)UTC datetime when the post is scheduled to publish
created_atstring (ISO 8601)UTC datetime when the post record was created
containersarrayContent blocks. First item is the post body; additional items are comments
platform_postsarrayPer-account publish records (see below)
tagsarrayReserved for future use. Always returns an empty array

Container Object (containers[])

FieldTypeDescription
contentstringText content of this container
mediaarrayMedia attachments for this container

Platform Post Object (platform_posts[])

FieldTypeDescription
idstring (UUID)Unique identifier for this platform publish record
account_idstring (UUID)The connected account this post targets
platformstringPlatform slug, e.g. instagram, twitter, facebook
handlestringThe account’s username or handle on the platform
statusstringStatus of this specific account’s publish: pending, scheduled, published, or failed
scheduled_atstring (ISO 8601)Scheduled publish time for this account

Error Responses

422 Unprocessable Entity

Returned when a query parameter fails validation.

{ "message": "The date_to must be a date after or equal to date_from.", "errors": { "date_to": ["The date_to must be a date after or equal to date_from."] } }

401 Unauthorized

{ "message": "Unauthenticated." }
Last updated on