GET
/
v1
/
teams
/
{teamId}
/
campaigns
/
{campaignId}
/
bandits
/
{banditId}
TypeScript client
import { OctosparkClient } from '@octospark/sdk'

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

const response = await client.campaignBandits.getCampaignBandit({
  teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
  campaignId: process.env.OCTOSPARK_CAMPAIGN_ID ?? "campaignId",
  banditId: process.env.OCTOSPARK_BANDIT_ID ?? "banditId",
})
{
  "id": "<string>",
  "campaignId": "<string>",
  "isPrimary": true,
  "policyVersion": "<string>",
  "warmupPicks": 123,
  "explorationShare": 123,
  "featureSchema": {
    "version": 123,
    "base": "base.v1",
    "payloadFields": [
      {
        "key": "<string>",
        "kind": "categorical",
        "values": [
          "<string>"
        ]
      }
    ]
  },
  "revision": 123,
  "warmingUp": true,
  "warmupRemaining": 123,
  "chosenDecisionsTotal": 123,
  "matureObservations": 123,
  "winnerSuggestedArmId": "<string>",
  "winnerSuggestedAt": "<string>",
  "createdAt": "<string>",
  "arms": [
    {
      "id": "<string>",
      "agentId": "<string>",
      "agentVersionId": "<string>",
      "parentArmId": "<string>",
      "dailyCap": 123,
      "excluded": true,
      "picksTotal": 123,
      "observationsTotal": 123,
      "posteriorMean": 123,
      "intervalLower": 123,
      "intervalUpper": 123,
      "winProbability": 123,
      "createdAt": "<string>",
      "frozenAt": "<string>",
      "retiredAt": "<string>",
      "historical": true,
      "choiceIdentity": {
        "agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "agentVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "promptRevision": 123,
        "prompt": "<string>",
        "targetSocialAccountIds": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ]
      }
    }
  ],
  "agentsWithoutArms": [
    {
      "agentId": "<string>",
      "agentName": "<string>",
      "currentVersionId": "<string>"
    }
  ]
}

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.

campaignId
string
required

Campaign id (UUID): a named group of managed agents and their workflow schedules.

banditId
string
required

Campaign bandit id (UUID), as returned by the list campaign bandits endpoint.

Response

Success

id
string
required
campaignId
string
required
platform
enum<string> | null
required
Available options:
x,
tiktok,
instagram,
facebook,
youtube,
linkedin,
threads,
pinterest
objective
enum<string>
required
Available options:
engagement,
conversion
isPrimary
boolean
required

Legacy platform selector. V2 campaign aggregates select with platform=null and isPrimary=false.

status
enum<string>
required
Available options:
active,
paused
policyVersion
string
required
warmupPicks
number
required
explorationShare
number
required
featureSchema
object
required
revision
number
required

Bumped by every configuration change; send it back as baseRevision to refuse a stale change (409).

warmingUp
boolean
required

True while picks are still uniform (the first warmupPicks chosen decisions).

warmupRemaining
number
required
chosenDecisionsTotal
number
required
matureObservations
number
required
winnerSuggestedArmId
string | null
required

UUID, or null.

winnerSuggestedAt
string | null
required

ISO-8601 instant, or null.

createdAt
string
required

ISO-8601 instant.

arms
object[]
required
agentsWithoutArms
object[]
required

Legacy agents needing manual enrolment. V2 configured campaign choices enrol automatically before selection.