Campaign Briefs / REST API

Revise icp rubric

Revise a brief ICP rubric from QA corrections on a canary sample. Pass the sample returned by get-icp-tuning-sample, operator corrections, and the current rubric. Returns { revisedRubric, rationale } without saving.

POST /api/v1/icp-tuning/reviseBackend AI, consent required

Parameters

workspaceIdOptional · string
Optional workspace ID or slug. Required when this credential can access multiple workspaces and no workspace was configured on the client.
briefIdRequired · string
Campaign brief id.
sampleRequired · array
Sample rows from get-icp-tuning-sample.
correctionsRequired · array
Operator judgments: rowId plus verdict fit, unfit, or skip.
currentRubricRequired · object
The rubric to revise. Usually the rubric returned by get-icp-tuning-sample.
allowHostedAiOptional · boolean
Must be true when this operation uses Pipeline hosted inference.
Request example
curl -X POST "https://app.pipeline.help/api/v1/icp-tuning/revise" \
  -H "Authorization: Bearer $PIPELINE_API_KEY" \
  -H "X-Pipeline-Execution-Policy: hosted-enabled" \
  -H "Content-Type: application/json" \
  -d '{"briefId":"00000000-0000-4000-8000-000000000000","sample":[{"rowId":"row_01"}],"corrections":[{"rowId":"row_01","verdict":"fit"}],"currentRubric":{"naturalLanguageCriteria":"Founder-led B2B software companies"},"allowHostedAi":true}'
Full input schema
Input schema
{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "minLength": 1,
      "description": "Optional workspace ID or slug. Required when this credential can access multiple workspaces and no workspace was configured on the client."
    },
    "briefId": {
      "type": "string",
      "description": "Campaign brief id."
    },
    "sample": {
      "type": "array",
      "description": "Sample rows from get-icp-tuning-sample."
    },
    "corrections": {
      "type": "array",
      "description": "Operator judgments: rowId plus verdict fit, unfit, or skip."
    },
    "currentRubric": {
      "type": "object",
      "description": "The rubric to revise. Usually the rubric returned by get-icp-tuning-sample."
    },
    "allowHostedAi": {
      "type": "boolean",
      "description": "Must be true when this operation uses Pipeline hosted inference."
    }
  },
  "required": [
    "briefId",
    "sample",
    "corrections",
    "currentRubric"
  ]
}
See this operation inCLI MCP TypeScript SDK
API reference | Pipeline v2 preview