OpenAPI::Client::OpenAI::Path::threads-thread_id-messages(3)

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 <https://github.com/openai/openai-openapi/blob/master/openapi.yaml>):

        {
           "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 <https://github.com/openai/openai-openapi/blob/master/openapi.yaml>):

        {
          "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.