marketing-requirement-tuning

Start Requirement Test

Judge this draft against the reviewed assets, and answer with the test to poll.

202 with the rows already written, not 200 with the answer: this is twenty-odd Opus calls, one per asset with no shared attachment to cache, and a request that waited for them would hold a pooled connection and a proxy timeout for minutes. The items come back pending, so the surface's first poll already knows the denominator rather than watching it grow.

Everything the fan-out needs is resolved here and the session released before the first call — see helpers/requirement_tests.

post/marketing/requirement-tuning/requirements/{requirement_id}/tests

Request

  • Base URL
    https://api.kobaltlabs.com (the document declares no server; this is the origin it was published from)
  • URL
    https://api.kobaltlabs.com/marketing/requirement-tuning/requirements/{requirement_id}/tests
  • Auth
    none declared

Path parameters

requirement_idstring uuid required

Request body

file_idsstring[] nullable
include_unreviewedboolean

Response

Successful Response

test_idstring uuid required
requirement_idstring uuid required
base_revision_idstring uuid required
status'running' | 'succeeded' | 'partial' | 'failed' required

Where a test is, and how it ended.

RUNNING is the state the request returns in: the row is written and the fan-out dispatched, so the surface has something to poll from the first tick rather than a spinner with nothing behind it.

PARTIAL is its own member rather than a flag on SUCCEEDED. A test where two of twenty-two assets never answered is a real result worth keeping — eighteen answers is the answer — but a suggestion built from it has to know it is reading an incomplete picture, and a reviewer deciding whether their edit worked must not be shown eighteen verdicts as if they were twenty-two.

requirement_textstring required
judging_guidancestring nullable
trigger_termsstring[]
collateral_typesstring[] nullable
marketing_team_idsstring[] nullable
createdstring date-time required
started_atstring date-time nullable
finished_atstring date-time nullable
errorstring nullable
created_by_emailstring nullable
modelstring required
llm_callsinteger

Changes

No recorded changes to this operation across all 8 revisions of this API.