---
title: "Update email thread"
method: PUT
path: "/api/v1/email_threads/{emailThreadID}"
tags: ["Email Thread"]
---

# Update email thread

`PUT /api/v1/email_threads/{emailThreadID}`

Update email thread object.

## Path parameters

- `emailThreadID` integer, required

## Request body

- EmailThreadBase
  - `id` integer — ID of the email thread.
  - `url` string, uri — URL of the email thread.
  - `organization` string, uri — Organization URL.
  - `queue` string, uri — Queue URL.
  - `root_email` string, uri — URL of the associated root email (first incoming email in the thread).
  - `has_replies` boolean — True if the thread has more than one incoming emails.
  - `has_new_replies` boolean — True if the thread has unread incoming emails.
  - `root_email_read` boolean — True if the root email has been opened in Rossum UI at least once.
  - `created_at` string, date-time — Timestamp of the creation of email thread (inherited from arrived_at timestamp of the root email).
  - `last_email_created_at` string, date-time — Timestamp of the most recent email in this email thread.
  - `subject` string — Subject of the root email.
  - `from` object — Information about sender of the root email containing keys `email` and `name`.
    - `email` string, email — Email address of the sender.
    - `name` string — Name of the sender.
  - `labels` string[] — This attribute is intended for **INTERNAL** use only and may be changed without notice. List of email thread labels set by root email. If root email is rejected and no other incoming emails are in thread, labels field is set to `[rejected]`. Labels is an empty list in all the other cases.
  - `annotation_counts` object — This attribute is intended for **INTERNAL** use only and may be changed without notice. Information about how many annotations were extracted from all emails in the thread and in which state they currently are.
    - `annotations` integer — Total number of annotations.
    - `annotations_processed` integer — Number of processed annotations.
    - `annotations_purged` integer — Number of purged annotations.
    - `annotations_rejected` integer — Number of rejected annotations.
    - `annotations_unprocessed` integer — Number of not yet processed annotations.

## Response `200`

OK

- EmailThread
  - `id` integer, required — ID of the email thread.
  - `url` string, uri, required — URL of the email thread.
  - `organization` string, uri, required — Organization URL.
  - `queue` string, uri, required — Queue URL.
  - `root_email` string, uri, required — URL of the associated root email (first incoming email in the thread).
  - `has_replies` boolean, required — True if the thread has more than one incoming emails.
  - `has_new_replies` boolean, required — True if the thread has unread incoming emails.
  - `root_email_read` boolean, required — True if the root email has been opened in Rossum UI at least once.
  - `created_at` string, date-time, required — Timestamp of the creation of email thread (inherited from arrived_at timestamp of the root email).
  - `last_email_created_at` string, date-time, required — Timestamp of the most recent email in this email thread.
  - `subject` string, required — Subject of the root email.
  - `from` object, required — Information about sender of the root email containing keys `email` and `name`.
    - `email` string, email — Email address of the sender.
    - `name` string — Name of the sender.
  - `labels` string[], required — This attribute is intended for **INTERNAL** use only and may be changed without notice. List of email thread labels set by root email. If root email is rejected and no other incoming emails are in thread, labels field is set to `[rejected]`. Labels is an empty list in all the other cases.
  - `annotation_counts` object, required — This attribute is intended for **INTERNAL** use only and may be changed without notice. Information about how many annotations were extracted from all emails in the thread and in which state they currently are.
    - `annotations` integer — Total number of annotations.
    - `annotations_processed` integer — Number of processed annotations.
    - `annotations_purged` integer — Number of purged annotations.
    - `annotations_rejected` integer — Number of rejected annotations.
    - `annotations_unprocessed` integer — Number of not yet processed annotations.

## Other responses

- `400` — Invalid input data.
- `401` — The username/password is invalid or token is invalid (e.g. expired).
- `403` — Insufficient permission, missing authentication, invalid CSRF token and similar issue.
- `404` — The specified resource was not found.
- `409` — Conflict
- `413` — Payload too large (especially for files uploaded).
- `429` — Request rate is too high, wait before sending more requests. See [Rate Limiting](/guides/overview#rate-limiting) for more details.
- `500` — Server failure while processing the request.
- `502` — Invalid response from the upstream server.
- `503` — We're temporarily offline for maintenance. Please try again later.
- `504` — Upstream server could not complete the request in time.

---

[API](https://skmtc.dev/rossum/apis/rossum-api.md) · [All operations](https://skmtc.dev/rossum/apis/rossum-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rossum/rossum-api/revisions/f1b5a910991d/schema)
