---
title: "Upsert Background Task"
method: POST
path: "/assistant/background-tasks"
tags: ["assistant"]
---

# Upsert Background Task

`POST /assistant/background-tasks`

Create or update an assistant background task and linkage row.

## Request body

- UpsertAssistantBackgroundTaskRequest — Request body for linking an assistant conversation to a product background task.
  - `conversation_id` string, uuid4, required
  - `task_name` 'generate-signals', required
  - `target_type` 'experiment' | 'logstream', required
  - `target_id` string, uuid4, required
  - `params` GenerateSignalsAssistantBackgroundTaskParams
    - `task_name` 'generate-signals', required
    - `model_alias` string, nullable — Optional model alias to use when creating the background task.

## Response `200`

Successful Response

- AssistantBackgroundTaskResponse — Background task linkage row plus response-only derived status.
  - `id` string, uuid4, required
  - `conversation_id` string, uuid4, required
  - `task_name` string, required
  - `target_type` string, required
  - `target_id` string, uuid4, required
  - `operation_id` string, uuid4, nullable, required
  - `status` union, required
    - 'unstarted' | 'in_progress' | 'processed' | 'completed' | 'error' | 'failed'
    - 'unknown'
  - `job_run_summary` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/galileo/apis/galileo-api-server.md) · [All operations](https://skmtc.net/galileo/apis/galileo-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo/galileo-api-server/revisions/933e8c8e6366/schema)
