---
title: "Copy a chat session with its workflows and git files"
method: POST
path: "/chat/copy"
tags: ["chat"]
---

# Copy a chat session with its workflows and git files

`POST /chat/copy`

## Request body

- CopyChatSessionRequest
  - `copy_inputs` boolean
  - `copy_name` string, required
  - `project_id` string, uuid
  - `source_chat_id` string, uuid, required
  - `team_id` string, uuid, required

## Response `201`

Chat session copied successfully

- ChatSessionWithMessages
  - `commits` GitCommit[], required
    - `chat_session_id` string, uuid, required
    - `commit_hash` string, required
    - `created_at` string, date-time, required
    - `id` string, uuid, required
  - `created_at` string, date-time, required
  - `git_application_token` string, required
  - `id` string, uuid, required
  - `is_favorite` boolean, required
  - `latest_workflow_session_id` string, uuid
  - `messages` ChatMessage[], required
    - `chat_session_id` string, uuid, required
    - `content` string, required
    - `content_proto` string, binary, nullable
    - `created_at` string, date-time, required
    - `git_commit_id` string, uuid, nullable
    - `id` string, uuid, required
    - `role` string, required
    - `slack_channel_id` string, nullable
    - `slack_message_ts` string, nullable
    - `slack_thread_ts` string, nullable
    - `stream_chunks` StreamChunkEntry[], nullable
      - `chunk_type` string, required
      - `content` string, required
    - `teams_channel_id` string, nullable
    - `teams_conversation_id` string, nullable
    - `teams_message_id` string, nullable
    - `timestamp` string, date-time, required
  - `name` string, nullable
  - `project_id` string, uuid
  - `skip_confirmations` boolean, required
  - `slack_channel_id` string, nullable
  - `slack_team_id` string, nullable
  - `slack_thread_ts` string, nullable
  - `team_id` string, uuid, required
  - `updated_at` string, date-time, required
  - `user_message_needed` boolean, required
  - `user_role` 'viewer' | 'editor' | 'owner', required
  - `visibility` 'private' | 'shared_with_team' | 'public', required

## Other responses

- `400` — Bad request - missing or invalid parameters
- `403` — Forbidden - no access to source chat session
- `404` — Not found - source chat session not found
- `500` — Internal server error

---

[API](https://skmtc.net/structifyai/apis/structify.md) · [All operations](https://skmtc.net/structifyai/apis/structify/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/structifyai/structify/versions/1364930b6980/schema)
