---
title: "The deployments, backups and restores this chat started, newest first, with their current state. Only what the caller may still read is listed: deployments of projects they can access, and backups and restores when they can read backups."
method: GET
path: "/ai/conversations/{public_id}/operations"
tags: ["AI Chat"]
---

# The deployments, backups and restores this chat started, newest first, with their current state. Only what the caller may still read is listed: deployments of projects they can access, and backups and restores when they can read backups.

`GET /ai/conversations/{public_id}/operations`

## Request

- Base URL: `/api` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/ai/conversations/{public_id}/operations`
- Auth: HTTP bearer

## Path parameters

- `public_id` string, required

## Response `200`

Operations the conversation started

- ChatOperationsResponse: The operations a chat started, newest first.
  - `operations` ChatOperation[], required
    - `deployment_id` integer, nullable
    - `detail` string, nullable: Where: the project and environment, or the S3 source.
    - `environment_id` integer, nullable
    - `error` string, nullable: Why it failed, when the record says.
    - `finished_at` string, date-time, nullable
    - `href` string, nullable: Console path that shows the operation.
    - `id` integer, required
    - `kind` 'deployment' | 'backup' | 'service_backup' | 'restore', required: What a chat started.
    - `operation_id` string, required: What started it: the API operation id, or `temps_deploy_sandbox_source`.
    - `project_id` integer, nullable
    - `service_id` integer, nullable
    - `started_at` string, date-time, required: ISO 8601 time the chat started it.
    - `state` 'running' | 'succeeded' | 'failed' | 'cancelled' | 'not_started', required: Where an operation is, in the same words for every kind.
    - `status` string, nullable: The record's own status, e.g. `running` or `completed`.
    - `title` string, required: e.g. "Deployment #41", "Backup of orders-db".
  - `running` integer, required: How many of them are still running.
  - `truncated` boolean, required: True when the chat started more operations than this response covers.

## Other responses

- `401`: Unauthorized
- `403`: Insufficient permissions
- `404`: Conversation not found
- `500`: Internal server error

## Changes

> 81 revisions in range; 1 not diffed.

- **2026-10-20** `79089e9f49ee`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gotempsh/apis/temps/changes/ai/conversations/:public_id/operations/get.md)

---

[API](https://skmtc.dev/gotempsh/apis/temps.md) · [All operations](https://skmtc.dev/gotempsh/apis/temps/llms.txt) · [OpenAPI document](https://skmtc.dev/gotempsh/apis/temps/revisions/ab6d5d19e930?raw)
