---
title: "Mark Thread Read"
full: true
_openapi:
  method: PATCH
  toc: []
  structuredData:
    headings: []
    contents:
      - content: "Direct endpoint to update read/unread status of a thread"
_apiData:
  document: "https://reloop.sh/api/inbox/openapi/json"
  operationData: [{"path":"/api/inbox/v1/threads/{id}/read","method":"patch"}]
  parameterList: [{"name":"id","type":"string","required":true,"description":"Thread ID","location":"path"},{"name":"isRead","type":"boolean","required":true,"description":"Whether to mark the thread as read","location":"body"}]
  responseMap: {"200":{"description":"Response for status 200","schema":{"success":true,"id":"con_123456789","message":"Contact already exists","isRead":true,"isStarred":true,"status":"example_status"}},"400":{"description":"Response for status 400","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}},"401":{"description":"Response for status 401","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}},"403":{"description":"Response for status 403","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}},"404":{"description":"Response for status 404","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}},"500":{"description":"Response for status 500","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}}}
  codeSamples:
    - id: node
      lang: javascript
      label: Node.js
      source: |-
        import { Reloop } from "reloop-email";
        
        const reloop = new Reloop({ apiKey: "rl_123456789" });
        
        const { thread, threadError } = await reloop.inbox.threads.setRead("thr_123456789", {
          isRead: true,
        });
        if (threadError) throw threadError;
    - id: curl
      lang: bash
      label: cURL
      source: |-
        curl -X PATCH https://reloop.sh/api/inbox/v1/threads/thr_123456789/read \
          -H "x-api-key: rl_123456789" \
          -H "Content-Type: application/json" \
          -d '{"isRead":true}'
    - id: python
      lang: python
      label: Python
      source: |-
        from reloop_email import Reloop
        
        reloop = Reloop(api_key="rl_123456789")
        
        result = reloop.inbox.threads.setRead("thr_123456789", {
          "isRead": True,
        })
        if result.thread_error:
            raise result.thread_error
    - id: php
      lang: php
      label: PHP
      source: |-
        <?php
        
        require 'vendor/autoload.php';
        
        use Reloop\Reloop;
        
        $reloop = Reloop::client('rl_123456789');
        
        $thread = $reloop->inbox->threads->setRead('thr_123456789', [
            'isRead' => true,
        ]);
    - id: java
      lang: java
      label: Java
      source: |-
        import sh.reloop.ReloopClient;
        ReloopClient reloop = new ReloopClient("rl_123456789");
        
        SetReadParams params = new SetReadParams();
        params.isRead = true;
        var thread = reloop.inbox.threads.setRead("thr_123456789", params);
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


{/* This file was generated by the OpenAPI doc generator. Do not edit this file directly. Run `bun run generate:api-docs` to regenerate. */}

<APIPage />
