---
title: "Upsert Task Definition"
method: PUT
path: "/reviews/task-definitions"
tags: ["reviews"]
---

# Upsert Task Definition

`PUT /reviews/task-definitions`

## Request body

- ReviewTaskDefinitionRequest
  - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
  - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
  - `task_type` 'service_ira' | 'service_form' | 'vendor_ira' | 'evidence_packet_review' | 'evidence_review' | 'review_reporting' | 'review_metadata'
  - `template_id` string, uuid, nullable
  - `code_block_id` string, uuid, nullable
  - `auto_approve` boolean, nullable
  - `manual_inherent_risk_default` boolean, nullable
  - `request_due_in_days` integer, nullable
  - `overdue_notification_interval_days` integer, nullable
  - `use_company_website_favicon` boolean, nullable
  - `inherent_risk_template_id` string, uuid, nullable
  - `control_strength_labels` ControlStrengthLabel[], nullable
    - `label` string, required
    - `description` string, required
    - `hex_color` string
  - `label_instructions` string, nullable
  - `enabled` boolean, nullable
  - `instructions` string, nullable
  - `set_key_dates` boolean, nullable
  - `set_vendor_fields` boolean, nullable
  - `auto_apply_key_dates` boolean, nullable

## Response `200`

Successful Response

- union
  - ServiceIRAReviewTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'service_ira'
    - `template_id` string, uuid, nullable
    - `template_name` string, nullable
    - `rubric_upload_id` string, uuid, nullable
    - `rubric_filename` string, nullable
    - `manual_inherent_risk_default` boolean
    - `request_due_in_days` integer
    - `overdue_notification_interval_days` integer, nullable
    - `email_icon_url` string, nullable
    - `code_block_id` string, uuid, nullable
    - `code_block_name` string, nullable
  - ServiceFormReviewTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'service_form'
    - `template_id` string, uuid, nullable
    - `template_name` string, nullable
    - `request_due_in_days` integer
    - `overdue_notification_interval_days` integer, nullable
    - `email_icon_url` string, nullable
  - EvidencePacketReviewTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'evidence_packet_review'
    - `auto_approve` boolean
    - `inherent_risk_template_id` string, uuid, nullable
    - `control_strength_labels` ControlStrengthLabel[]
      - `label` string, required
      - `description` string, required
      - `hex_color` string
    - `label_instructions` string, nullable
  - VendorIRAReviewTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'vendor_ira'
    - `enabled` boolean
  - ReviewReportingTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'review_reporting'
    - `name` string, required
    - `rubric_upload_id` string, uuid, nullable
    - `rubric_filename` string, nullable
    - `project_name` string, nullable
    - `selection_logic_id` string, uuid, nullable
    - `selection_logic_name` string, nullable
  - MetadataTaskDefinitionResponse
    - `definition_id` string, uuid, required
    - `company_id` string, uuid, required
    - `review_type` 'initial' | 'periodic' | 'inventory_refresh' | 'initial_fintech' | 'periodic_fintech' | 'rm_scorecard' | 'initial_no_ira' | 'ira_only', required
    - `stage` 'inherent_risk_assessment' | 'form_distribution' | 'requirements_gathering' | 'evidence_collection' | 'review' | 'review_reporting' | 'completed' | 'document_sourcing' | 'document_review', required
    - `created` string, date-time, nullable
    - `modified` string, date-time, nullable
    - `task_type` 'review_metadata'
    - `instructions` string
    - `set_key_dates` boolean
    - `set_vendor_fields` boolean
    - `auto_apply_key_dates` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) · [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kobaltlabs/fastapi/revisions/3ff4c0bd276b/schema)
