Skip to main content
PATCH
/
report-columns
/
{report_column_id}
Edit Evaluation Pipeline Column
curl --request PATCH \
  --url https://api.promptlayer.com/report-columns/{report_column_id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "report_id": 2,
  "column_type": "ABSOLUTE_NUMERIC_DISTANCE",
  "configuration": {},
  "name": "<string>",
  "position": 2
}
'
{
  "success": true,
  "report_column": {}
}
Update an existing column on an evaluation pipeline. Use this to fix a bug in a CODE_EXECUTION script, change a column’s configuration, rename it, or move it to a new position — without recreating the whole pipeline.

Important Notes

  • Cannot edit DATASET columns. The protected columns sourced from the dataset cannot be modified.
  • Blueprint pipelines only. Columns on a finished batch run cannot be edited; only columns on the blueprint can.
  • Unique names required. If you change name, the new name must not collide with another column in the same pipeline.
  • Position changes shift other columns. Moving a column to a new position re-numbers the surrounding columns.
  • Cells are re-queued. Editing a column queues all cells in that column (and any column to the right of it) for re-execution.

Request Body

FieldTypeRequiredDescription
report_idintegerYesParent evaluation pipeline ID. Must match the column’s report.
column_typestringYesColumn type (e.g. LLM_ASSERTION, CODE_EXECUTION, PROMPT_TEMPLATE). DATASET is not allowed. See Node & Column Types.
configurationobjectNoReplacement column configuration. Schema depends on column_type.
namestringNoNew column name. Must be unique within the pipeline.
positionintegerNoNew 1-based position. Cannot overwrite dataset columns.

Example

import requests

response = requests.patch(
    "https://api.promptlayer.com/report-columns/789",
    headers={"X-API-KEY": "your-api-key"},
    json={
        "report_id": 456,
        "column_type": "CODE_EXECUTION",
        "name": "Strict JSON check",
        "configuration": {
            "code": "import json\\ntry:\\n    json.loads(response)\\n    return True\\nexcept Exception:\\n    return False",
            "language": "PYTHON",
        },
    },
)

Error Responses

StatusError
400Validation failed (invalid type/configuration, duplicate name, etc.)
403Cannot edit a DATASET column or a non-blueprint column
404Report column not found

Headers

X-API-KEY
string
required

Your PromptLayer API key.

Path Parameters

report_column_id
integer
required

ID of the report column to edit.

Body

application/json
report_id
integer
required

Parent evaluation pipeline ID. Must match the column's report.

Required range: x >= 1
column_type
enum<string>
required

Column type. DATASET is not allowed.

Available options:
ABSOLUTE_NUMERIC_DISTANCE,
AI_DATA_EXTRACTION,
ASSERT_VALID,
CONVERSATION_SIMULATOR,
COALESCE,
CODE_EXECUTION,
COMBINE_COLUMNS,
COMPARE,
CONTAINS,
COSINE_SIMILARITY,
COUNT,
ENDPOINT,
MCP,
HUMAN,
JSON_PATH,
LLM_ASSERTION,
MATH_OPERATOR,
MIN_MAX,
PARSE_VALUE,
APPLY_DIFF,
PROMPT_TEMPLATE,
REGEX,
REGEX_EXTRACTION,
VARIABLE,
XML_PATH,
WORKFLOW,
CODING_AGENT
configuration
object

Replacement column configuration. Schema varies by column_type.

name
string

New column name. Must be unique within the pipeline.

Minimum string length: 1
position
integer

New 1-based position. Cannot overwrite dataset columns.

Required range: x >= 1

Response

Column updated successfully

success
boolean
report_column
object

The updated column