POST
/
v1
/
teams
/
{teamId}
/
captions
/
lint
TypeScript client
import { OctosparkClient } from '@octospark/sdk'

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

const response = await client.captions.lintCaption({
  teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
  body: {},
})
{
  "warnings": [
    {
      "severity": "warning",
      "message": "<string>",
      "fixable": true,
      "provider": "instagram",
      "socialAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "linkPlacement": "first_comment"
}

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.

Body

application/json
text
string
required

The caption to check.

provider
enum<string> | null

The channel the caption is for. Omit or null for channel-neutral checks only.

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

"instagram"

scheduledAt
string

ISO 8601 publish time used for the stale-date check; defaults to now.

Example:

"2026-11-02T09:00:00Z"

firstComment
string

The first comment the post already sets, if any. Scheduling appends moved links to it, and a link stays in the body when the result would pass the channel comment limit.

Response

Success

warnings
object[]
required

Caption-quality warnings per destination channel (never blocking). Fix them before scheduling.

The team's effective link placement for the channel, or null without a channel.

Available options:
first_comment,
body
Example:

"first_comment"