---
title: "Send Text Thread Message"
method: POST
path: "/texts/threads/{thread_id}/messages"
tags: ["Texts"]
---

# Send Text Thread Message

`POST /texts/threads/{thread_id}/messages`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/texts/threads/{thread_id}/messages`
- Auth: none declared

Queue a message to the contact. Returns it ``pending``; the send task re-checks consent.

## Path parameters

- `thread_id` string, uuid, required

## Request body

- SendTextMessageRequest
  - `body` string, required

## Response `200`

Successful Response

- TextMessage: One message in a thread, oldest first.
  - `sms_id` string, uuid, required
  - `direction` string, required
  - `body` string, required
  - `status` string, nullable: pending until the send task runs, then Twilio's status (queued, sent, delivered, undelivered, failed) or received for inbound
  - `error_code` string, nullable
  - `failure_reason` string, nullable: Why the message was not sent or not delivered, when it was not
  - `sender_kind` string, nullable: contact, user, automation, or system
  - `sent_by_user_id` string, uuid, nullable
  - `sent_by_name` string, nullable
  - `created_at` string, date-time, required
  - `sent_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-25** `2874401d2b40`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/texts/threads/:thread_id/messages/post.md)

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
