---
title: "Update an eval job"
method: PUT
path: "/api/v1/eval-jobs/{id}"
tags: ["Eval Jobs"]
---

# Update an eval job

`PUT /api/v1/eval-jobs/{id}`

## Request

- Base URL: `https://dev.noveum.ai`
- URL: `https://dev.noveum.ai/api/v1/eval-jobs/{id}`
- Auth: API key in cookie `apiKeyCookie` and HTTP bearer

Update an eval job

## Path parameters

- `id` string, required

## Query parameters

- `organizationId` string
- `organizationSlug` string
- `projectId` string

## Request body

- object
  - `name` string
  - `description` string
  - `datasetId` string
  - `datasetSlug` string
  - `datasetType` 'agent' | 'conversational' | 'rag' | 'g-eval' | 'accuracy'
  - `scorerConfigs` object[]
    - `scorerId` string, required
    - `scorerType` string, required
    - `scorerName` string, required
    - `threshold` number
    - `instruction` string
    - `llmConfig` object
      - `provider` string
      - `modelName` string
      - `temperature` number
      - `providerId` string
  - `defaultFilterConfig` object
    - `dateFrom` string
    - `dateTo` string
    - `environment` string
    - `hasToolCalls` boolean
    - `hasRag` boolean
    - `exitStatus` string
    - `itemType` string
    - `scoreFilter` object
      - `scorerId` string, required
      - `operator` 'lt' | 'lte' | 'gt' | 'gte', required
      - `value` number, required
    - `scoreFilters` object[]
      - `scorerId` string, required
      - `operator` 'lt' | 'lte' | 'gt' | 'gte', required
      - `value` number, required
    - `scoreFilterCombinator` 'and' | 'or'
    - `hasEvalScores` boolean
    - `agentName` string
    - `search` string
    - `qualityScoreGte` number
    - `qualityScoreLte` number
    - `sourceTraceStatus` string
    - `serviceVersion` string
  - `evalPolicy` object
    - `version` number, required
    - `sampling` object, required
      - `percent` number, required
      - `boostShare` number
      - `adaptiveShare` number
      - `stratifyBy` string[]
      - `boosts` union[]
        - union
          - object
            - `type` string, required
          - object
            - `type` string, required
          - object
            - `type` string, required
            - `percentile` number
          - object
            - `type` string, required
            - `percentile` number
          - object
            - `type` string, required
            - `key` string, required
            - `op` 'eq' | 'neq' | 'contains' | 'gt' | 'lt', required
            - `value` union, required
              - …
      - `llmPrescreen` object
        - `enabled` boolean, required
    - `tiers` object[], required
      - `name` string, required
      - `scorerIds` string[], required
      - `escalateIf` object
        - `conditions` object[], required
          - `scorerId` string, required
          - `op` 'failed' | 'lt' | 'lte', required
          - `value` number
        - `combinator` 'or' | 'and'
        - `aggregation` 'any_turn' | 'avg'
  - `isEnabled` boolean

## Response `200`

Returns the updated eval job

- object
  - `id` string, required
  - `name` string, required
  - `description` unknown, required
  - `datasetId` string, required
  - `datasetSlug` string, required
  - `datasetType` unknown
  - `datasetName` string
  - `organizationId` string, required
  - `status` string, required
  - `scorerConfigs` unknown[], required
    - unknown
  - `scorerIds` string[], required
  - `scorerNames` string[]
  - `defaultFilterConfig` unknown
  - `evalPolicy` object
    - `version` number, required
    - `sampling` object, required
      - `percent` number, required
      - `boostShare` number, required
      - `adaptiveShare` number, required
      - `stratifyBy` string[], required
      - `boosts` union[], required
        - union
          - object
            - `type` string, required
          - object
            - `type` string, required
          - object
            - `type` string, required
            - `percentile` number
          - object
            - `type` string, required
            - `percentile` number
          - object
            - `type` string, required
            - `key` string, required
            - `op` 'eq' | 'neq' | 'contains' | 'gt' | 'lt', required
            - `value` union, required
              - …
      - `llmPrescreen` object
        - `enabled` boolean, required
    - `tiers` object[], required
      - `name` string, required
      - `scorerIds` string[], required
      - `escalateIf` object
        - `conditions` object[], required
          - `scorerId` string, required
          - `op` 'failed' | 'lt' | 'lte', required
          - `value` number
        - `combinator` 'or' | 'and', required
        - `aggregation` 'any_turn' | 'avg', required
  - `isEnabled` boolean, required
  - `datasetDeleted` boolean, required
  - `isAdhoc` boolean, required
  - `targetItemId` unknown
  - `totalItems` number, required
  - `processedItems` number, required
  - `failedItems` number, required
  - `lastRunAt` unknown, required
  - `userId` string, required
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `201`: Created
- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Eval job not found
- `409`: Conflict
- `422`: Unprocessable entity
- `500`: Internal server error

---

[API](https://skmtc.dev/noveum/apis/noveum-api.md) · [All operations](https://skmtc.dev/noveum/apis/noveum-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noveum/apis/noveum-api/revisions/1745e27f38d0?raw)
