GET
/
v1
/
teams
/
{teamId}
/
posts
/
performance
TypeScript client
import { OctosparkClient } from '@octospark/sdk'

const client = new OctosparkClient({
  token: process.env.OCTOSPARK_TOKEN
})

const response = await client.social.listPostPerformance({
  teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
  query: {},
})
{
  "data": [
    {
      "scheduledPostId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "current": {
        "likeCount": 123,
        "commentCount": 123,
        "shareCount": 123,
        "saveCount": 123,
        "impressionCount": 123,
        "viewCount": 123,
        "reachCount": 123,
        "linkClickCount": 123
      },
      "engagementRate": 123,
      "performanceScore": 50,
      "content": {
        "isThread": true,
        "caption": "<string>",
        "title": "<string>",
        "assetCount": 123,
        "assetTypes": [
          "<string>"
        ],
        "assetCategories": [
          "<string>"
        ],
        "aiTags": [
          "<string>"
        ],
        "categories": [
          "<string>"
        ],
        "emotions": [
          "<string>"
        ],
        "purposes": [
          "<string>"
        ],
        "titles": [
          "<string>"
        ],
        "descriptions": [
          "<string>"
        ],
        "durationSecondsMax": 123,
        "durationSecondsTotal": 123,
        "widthMax": 123,
        "heightMax": 123,
        "fps": 123,
        "assets": [
          {
            "assetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "assetType": "<string>",
            "aiTitle": "<string>",
            "aiDescription": "<string>",
            "aiTags": [
              "<string>"
            ],
            "contentCategory": "<string>",
            "emotion": {},
            "purpose": [
              "<string>"
            ],
            "durationSeconds": 123,
            "width": 123,
            "height": 123,
            "fps": 123,
            "analysis": {}
          }
        ]
      },
      "publishedAt": "<string>",
      "userTags": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "name": "<string>",
          "colour": "<string>"
        }
      ],
      "lastCollectedAt": "<string>"
    }
  ],
  "total": 123,
  "nextCursor": "<string>",
  "prevCursor": "<string>",
  "pageOffset": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

teamId
string
required

Team (workspace) id (UUID). Discover ids via the list teams endpoint or the agent context.

Query Parameters

cursor
string

Opaque pagination cursor from the previous page response (nextCursor/prevCursor); omit to start at the first page.

offset
string

Zero-based row offset to jump to (numbered pages), 0 to 10000. With a cursor, the jump starts from that cursor; without one it is a plain offset. Lists not yet on the signed cursor standard ignore it.

Examples:

"0"

"25"

limit
string
default:25

Page size as a positive integer string; defaults to 25, capped at 100.

Examples:

"25"

"100"

sortBy
enum<string>

Performance sort key, one of: engagement_rate, impression_count, like_count, comment_count, share_count, link_click_count, performance_score, virality_score. Empty or omitted falls back to the default ordering.

Available options:
engagement_rate,
impression_count,
like_count,
comment_count,
share_count,
link_click_count,
performance_score,
virality_score,
sortOrder
enum<string>

Sort direction, asc or desc (default desc). Empty behaves as omitted.

Available options:
asc,
desc,
from
string

Start of the published-at window, ISO 8601 timestamp (inclusive).

Example:

"2026-05-01T00:00:00.000Z"

to
string

End of the published-at window, ISO 8601 timestamp (inclusive).

Example:

"2026-05-31T23:59:59.000Z"

platform

Restrict results to one provider; empty or omitted includes all connected providers.

Available options:
x,
tiktok,
instagram,
facebook,
youtube,
linkedin,
threads,
pinterest
Example:

"x"

postType
enum<string>

Restrict results to one content format; empty or omitted includes all formats.

Available options:
text_post,
text_image,
text_video,
carousel,
thread,
tagIds
string

CSV of user-tag UUIDs; restricts results to posts assigned ANY of these tags.

filter[from]
string

Alias of from using the filter[...] convention; ISO 8601 timestamp.

Example:

"2026-05-01T00:00:00.000Z"

filter[to]
string

Alias of to using the filter[...] convention; ISO 8601 timestamp.

Example:

"2026-05-31T23:59:59.000Z"

filter[platform]

Alias of platform using the filter[...] convention.

Available options:
x,
tiktok,
instagram,
facebook,
youtube,
linkedin,
threads,
pinterest
Example:

"x"

filter[postType]
enum<string>

Alias of postType using the filter[...] convention.

Available options:
text_post,
text_image,
text_video,
carousel,
thread,
filter[tagIds]
string

Alias of tagIds using the filter[...] convention; CSV of user-tag UUIDs.

filter[tags]
string

Comma-separated AI tags; matches posts whose assets carry any of the listed tags (OR).

Example:

"launch,product"

filter[category]
string

Comma-separated AI content categories; matches posts in any of the listed categories (OR).

Example:

"education"

filter[purpose]
string

Comma-separated AI purposes; matches posts whose assets carry any of the listed purposes (OR).

Example:

"promotion"

filter[emotion]
string

Comma-separated AI emotions; matches posts tagged with any of the listed emotions (OR).

Example:

"joy"

filter[mediaType]
string

Comma-separated media types; each value one of: image, video, audio, gif, document.

Example:

"image,video"

filter[enrichmentStatus]
string

Comma-separated AI enrichment statuses; each value one of: pending, processing, completed, failed.

Example:

"completed"

Response

Success

data
object[]
required
total
number
required
nextCursor
string | null
required

Opaque cursor for the page after this one; null on the last page.

prevCursor
string | null
required

Opaque cursor for the page before this one; null on the first page. Lists on the signed cursor standard return a real backwards cursor; older lists echo the request cursor.

pageOffset
number | null

Zero-based position of the first row of this page within total (for "Showing 26-50 of 268" and page numbers); null when unknown.