POST
/
v1
/
trace-learn
/
content-generation
/
jobs
TypeScript client
import { TxAgentKitClient } from '@tx-agent-kit/sdk'

const client = new TxAgentKitClient({
  token: process.env.TX_AGENT_KIT_TOKEN
})

const response = await client.traceLearn.createTraceLearnContentGenerationJob({
  body: {},
})
{
  "id": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "requestedBy": "<string>",
  "dryRun": true,
  "allowPaidModelCall": true,
  "model": "<string>",
  "requestedItemCount": 123,
  "scope": {
    "curriculumId": "<string>",
    "examFamilyId": "<string>",
    "domainId": "<string>",
    "subdomainId": "<string>",
    "objective": "<string>",
    "coverageBlueprintId": "<string>"
  },
  "configSnapshot": {
    "id": "<string>",
    "model": "<string>",
    "sdkModelId": "<string>",
    "promptProfiles": [
      {
        "version": "<string>",
        "label": "<string>",
        "temperature": 123,
        "maxOutputTokens": 123
      }
    ],
    "globalBudgetCapCents": 123,
    "perJobBudgetCapCents": 123,
    "cacheTtlHours": 123,
    "humanReviewRequired": true,
    "paidModelCallsBlocked": true
  },
  "structuredOutputSchema": {
    "name": "<string>",
    "version": "<string>",
    "requiredFields": [
      "<string>"
    ]
  },
  "catalogContext": {
    "source": "catalog",
    "hash": "<string>",
    "generatedAt": "<string>",
    "widgetCount": 123,
    "widgets": [
      {
        "id": "<string>",
        "reactName": "<string>",
        "propsTypeName": "<string>"
      }
    ]
  },
  "cacheKey": "<string>",
  "resumabilityKey": "<string>",
  "budget": {
    "currency": "USD",
    "maxBudgetCents": 123,
    "spentBudgetCents": 123,
    "remainingBudgetCents": 123,
    "budgetCapReached": true
  },
  "targetDistribution": [
    {
      "domainId": "<string>",
      "subdomainId": "<string>",
      "weightPercent": 123,
      "itemCount": 123
    }
  ],
  "realisedDistribution": [
    {
      "domainId": "<string>",
      "subdomainId": "<string>",
      "weightPercent": 123,
      "itemCount": 123
    }
  ],
  "runs": [
    {
      "id": "<string>",
      "model": "<string>",
      "startedAt": "<string>",
      "completedAt": "<string>",
      "costCents": 123,
      "cached": true,
      "cacheKey": "<string>",
      "providerRunId": "<string>"
    }
  ],
  "draftBundle": {
    "id": "<string>",
    "title": "<string>",
    "objective": "<string>",
    "lessonBlockCount": 123,
    "questionCount": 123,
    "widgetIds": [
      "<string>"
    ],
    "previewPath": "<string>",
    "alignment": {
      "objectiveLinked": true,
      "answerKeyIncluded": true,
      "widgetCompatible": true,
      "reviewGateIncluded": true
    }
  },
  "reviewGate": {
    "requiredChecks": [],
    "completedChecks": [],
    "reviewedBy": "<string>",
    "reviewedAt": "<string>",
    "notes": "<string>"
  },
  "metricSnapshot": {
    "model": "<string>",
    "targetCoverageItems": 123,
    "realisedCoverageItems": 123,
    "approvalRatePercent": 123,
    "rejectionReasons": [
      "<string>"
    ]
  }
}

Body

application/json
promptProfile
enum<string>
required
Available options:
production_question,
learning_content,
lesson_bundle,
hint,
explanation,
motivational_copy
scope
object
required
requestedItemCount
integer
required

a number between 1 and 20

Required range: 1 <= x <= 20
maxBudgetCents
integer
required

a number between 0 and 20000

Required range: 0 <= x <= 20000
dryRun
enum<boolean>
required
Available options:
true
allowPaidModelCall
enum<boolean>
required
Available options:
false

Response

Success

id
string
required

a string at most 128 character(s) long

Required string length: 1 - 128
status
enum<string>
required
Available options:
dry_run_ready,
running,
awaiting_review,
approved,
rejected,
changes_requested,
budget_exhausted,
failed
createdAt
string
required

a string at least 10 character(s) long

Minimum string length: 10
updatedAt
string
required

a string at least 10 character(s) long

Minimum string length: 10
requestedBy
string
required

a string at most 128 character(s) long

Required string length: 1 - 128
dryRun
boolean
required
allowPaidModelCall
boolean
required
provider
enum<string>
required
Available options:
dry-run,
gemini,
openrouter
model
string
required
promptProfile
enum<string>
required
Available options:
production_question,
learning_content,
lesson_bundle,
hint,
explanation,
motivational_copy
requestedItemCount
number
required
scope
object
required
configSnapshot
object
required
structuredOutputSchema
object
required
catalogContext
object
required
cacheKey
string
required
resumabilityKey
string
required
budget
object
required
targetDistribution
object[]
required
realisedDistribution
object[]
required
runs
object[]
required
draftBundle
object
required
reviewGate
object
required
metricSnapshot
object
required