NAME

OpenAPI::Client::OpenAI::Path::threads-thread_id-messages - Documentation for the /threads/{thread_id}/messages path.

DESCRIPTION

This document describes the API endpoint at /threads/{thread_id}/messages.

PATHS

GET /threads/{thread_id}/messages

Returns a list of messages for a given thread.

Operation ID

listMessages

$client->listMessages( ... );

Parameters

  • thread_id (in path) (Required) - The ID of the [thread](/docs/api-reference/threads) the messages belong to.

    Type: string

  • limit (in query) (Optional) - A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

    Type: integer

    Default: 20

  • order (in query) (Optional) - Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.

    Type: string

    Allowed values: asc, desc

    Default: desc

  • after (in query) (Optional) - A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

    Type: string

  • before (in query) (Optional) - A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.

    Type: string

  • run_id (in query) (Optional) - Filter messages by the run ID that generated them.

    Type: string

Responses

Status Code: 200

OK

Content Types:

  • application/json

    Example (See the OpenAI spec for more detail):

    {
       "data" : [
          "{\n  \"id\": \"msg_abc123\",\n  \"object\": \"thread.message\",\n  \"created_at\": 1698983503,\n  \"thread_id\": \"thread_abc123\",\n  \"role\": \"assistant\",\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": {\n        \"value\": \"Hi! How can I help you today?\",\n        \"annotations\": []\n      }\n    }\n  ],\n  \"assistant_id\": \"asst_abc123\",\n  \"run_id\": \"run_abc123\",\n  \"attachments\": [],\n  \"metadata\": {}\n}\n"
       ],
       "first_id" : "msg_abc123",
       "has_more" : false,
       "last_id" : "msg_abc123",
       "object" : "list"
    }

POST /threads/{thread_id}/messages

Create a message.

Operation ID

createMessage

$client->createMessage( ... );

Parameters

  • thread_id (in path) (Required) - The ID of the [thread](/docs/api-reference/threads) to create a message for.

    Type: string

Request Body

Content Type: application/json

Example:

{
   "attachments" : [
      {
         "tools" : [
            null
         ]
      }
   ]
}


         

Responses

Status Code: 200

OK

Content Types:

  • application/json

    Example (See the OpenAI spec for more detail):

    {
      "id": "msg_abc123",
      "object": "thread.message",
      "created_at": 1698983503,
      "thread_id": "thread_abc123",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": {
            "value": "Hi! How can I help you today?",
            "annotations": []
          }
        }
      ],
      "assistant_id": "asst_abc123",
      "run_id": "run_abc123",
      "attachments": [],
      "metadata": {}
    }

SEE ALSO

OpenAPI::Client::OpenAI::Path

COPYRIGHT AND LICENSE

Copyright (C) 2023-2025 by Nelson Ferraz

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.0 or, at your option, any later version of Perl 5 you may have available.