posts

List posts

List posts for a business, newest first. Use cursor for pagination.

Pass view=summary for a lightweight payload (caption preview + media fingerprint, no publish_results/overrides/queue) when auditing or de-duping a big history — a full-view page of 100 posts can be too large for an agent's tool budget.

Errors: 400 invalid_value: The business_id is not a valid UUID. 401 authentication_required: API key or token is missing, invalid, or revoked. 403 permission_denied: Your plan does not include API access, or this business is not in your org. 404 resource_not_found: No business with that ID exists. 429 rate_limit_exceeded: You sent too many requests this minute.

get/api/businesses/{business_id}/posts

Request

  • Base URL: https://api.mymarky.ai
  • URL: https://api.mymarky.ai/api/businesses/{business_id}/posts
  • Auth: HTTP bearer

Path parameters

business_idstring required

A UUID identifier.

Query parameters

statusstring[] nullable

Filter by post status. Repeat it to get several at once (status=NEW&status=DRAFT returns both). NEW = draft awaiting your team's review (incl. freshly generated posts), DRAFT = approved by a reviewer on your team, REJECTED = declined by a reviewer, SCHEDULED = queued for a future time, PUBLISHED = already posted. DRAFT/REJECTED are your team's review verdicts — Marky does not gate publishing on them.

post_idsstring[] nullable

Return only these posts (up to 100; repeat the param). With the default view=full each item is exactly what get_post returns, so this is the way to read several posts in one call. Ids from another business are left out, not an error. Combines with status; cannot be combined with q.

limitinteger

Max results per page (1-100)

cursorstring nullable

The next value from the previous page's response, passed back verbatim. Leave it out for the first page. When next is null you have every result.

qstring nullable

Keyword search. Returns only posts whose caption, title, or attached media's description/transcript contains this text (case-insensitive). Searching the media description is what finds 'the post about my dog' when the dog is in the image and the caption never says 'dog'. Trashed (REJECTED) posts are left out — pass status=REJECTED to search them. Combines with status, and pages with cursor just like an unfiltered listing.

view'full' | 'summary'

Response detail. full (default) returns each post's whole caption plus publish_results, platform_overrides, and queue placement. summary returns a lean row — caption PREVIEW, media count + fingerprint, status, schedule, and metadata — with none of the heavy fields, for cheaply scanning or de-duping a large history without blowing your token budget.

Headers

Marky-Version'2026-04-08' | '2026-07-17' | '2026-08-02' | '2026-08-04' | '2026-08-06'
Example:2026-08-06

Opt into a dated API version. Omit to stay on the floor (2026-04-08) forever — unpinned clients never break. Pin to a newer date (e.g. 2026-08-06) to receive the newest response shapes. Unknown values fall back to the floor. See https://docs.mymarky.ai for the versioning model.

Response

Successful Response

OR

Changes

No recorded changes to this operation across all 1 revision of this API.