=encoding utf8

=head1 NAME

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

=head1 DESCRIPTION

This document describes the API endpoint at C</threads/{thread_id}/runs>.

=head1 PATHS


=head2 C<GET /threads/{thread_id}/runs>

List runs


Returns a list of runs belonging to a thread.



=head3 Operation ID

C<listRuns>

    $client->listRuns( ... );

=head3 Parameters

=over 4

=item * C<thread_id> (in path) (Required) - The ID of the thread the run belongs to.

Type: C<string>



=item * C<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: C<integer>


Default: C<20>


=item * C<order> (in query) (Optional) - Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.


Type: C<string>

Allowed values: C<asc, desc>


Default: C<desc>


=item * C<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: C<string>



=item * C<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: C<string>



=back


=head3 Responses


=head4 Status Code: C<200>

OK


=head4 Content Types:

=over 4


=item * C<application/json>

Example (See the L<OpenAI spec for more detail|https://github.com/openai/openai-openapi/blob/master/openapi.yaml>):

    {
       "data" : [
          "{\n  \"id\": \"run_abc123\",\n  \"object\": \"thread.run\",\n  \"created_at\": 1698107661,\n  \"assistant_id\": \"asst_abc123\",\n  \"thread_id\": \"thread_abc123\",\n  \"status\": \"completed\",\n  \"started_at\": 1699073476,\n  \"expires_at\": null,\n  \"cancelled_at\": null,\n  \"failed_at\": null,\n  \"completed_at\": 1699073498,\n  \"last_error\": null,\n  \"model\": \"gpt-4o\",\n  \"instructions\": null,\n  \"tools\": [{\"type\": \"file_search\"}, {\"type\": \"code_interpreter\"}],\n  \"metadata\": {},\n  \"incomplete_details\": null,\n  \"usage\": {\n    \"prompt_tokens\": 123,\n    \"completion_tokens\": 456,\n    \"total_tokens\": 579\n  },\n  \"temperature\": 1.0,\n  \"top_p\": 1.0,\n  \"max_prompt_tokens\": 1000,\n  \"max_completion_tokens\": 1000,\n  \"truncation_strategy\": {\n    \"type\": \"auto\",\n    \"last_messages\": null\n  },\n  \"response_format\": \"auto\",\n  \"tool_choice\": \"auto\",\n  \"parallel_tool_calls\": true\n}\n"
       ],
       "first_id" : "run_abc123",
       "has_more" : false,
       "last_id" : "run_abc456",
       "object" : "list"
    }


=back

=head2 C<POST /threads/{thread_id}/runs>

Create run


Create a run.



=head3 Operation ID

C<createRun>

    $client->createRun( ... );

=head3 Parameters

=over 4

=item * C<thread_id> (in path) (Required) - The ID of the thread to run.

Type: C<string>



=item * C<include[]> (in query) (Optional) - A list of additional fields to include in the response. Currently the only supported value is `step_details.tool_calls[*].file_search.results[*].content` to fetch the file search result content.

See the [file search tool documentation](https://platform.openai.com/docs/assistants/tools/file-search#customizing-file-search-settings) for more information.


Type: C<array>



=back

=head3 Request Body
  
=head3 Content Type: C<application/json>

    
      

      

=head4 Models

The ID of the L<Model|https://platform.openai.com/docs/api-reference/models> to be used to execute this run. If a value is provided here, it will override the model associated with the assistant. If not, the model associated with the assistant will be used.

=over 4
      
=item * C<gpt-5>

=item * C<gpt-5-mini>

=item * C<gpt-5-nano>

=item * C<gpt-5-2025-08-07>

=item * C<gpt-5-mini-2025-08-07>

=item * C<gpt-5-nano-2025-08-07>

=item * C<gpt-4.1>

=item * C<gpt-4.1-mini>

=item * C<gpt-4.1-nano>

=item * C<gpt-4.1-2025-04-14>

=item * C<gpt-4.1-mini-2025-04-14>

=item * C<gpt-4.1-nano-2025-04-14>

=item * C<o3-mini>

=item * C<o3-mini-2025-01-31>

=item * C<o1>

=item * C<o1-2024-12-17>

=item * C<gpt-4o>

=item * C<gpt-4o-2024-11-20>

=item * C<gpt-4o-2024-08-06>

=item * C<gpt-4o-2024-05-13>

=item * C<gpt-4o-mini>

=item * C<gpt-4o-mini-2024-07-18>

=item * C<gpt-4.5-preview>

=item * C<gpt-4.5-preview-2025-02-27>

=item * C<gpt-4-turbo>

=item * C<gpt-4-turbo-2024-04-09>

=item * C<gpt-4-0125-preview>

=item * C<gpt-4-turbo-preview>

=item * C<gpt-4-1106-preview>

=item * C<gpt-4-vision-preview>

=item * C<gpt-4>

=item * C<gpt-4-0314>

=item * C<gpt-4-0613>

=item * C<gpt-4-32k>

=item * C<gpt-4-32k-0314>

=item * C<gpt-4-32k-0613>

=item * C<gpt-3.5-turbo>

=item * C<gpt-3.5-turbo-16k>

=item * C<gpt-3.5-turbo-0613>

=item * C<gpt-3.5-turbo-1106>

=item * C<gpt-3.5-turbo-0125>

=item * C<gpt-3.5-turbo-16k-0613>

=back
      
      
Example:

    {
       "additional_messages" : [
          {
             "attachments" : [
                {
                   "tools" : [
                      null
                   ]
                }
             ]
          }
       ],
       "temperature" : 1,
       "tools" : [
          null
       ],
       "top_p" : 1
    }


             

=head3 Responses


=head4 Status Code: C<200>

OK


=head4 Content Types:

=over 4


=item * C<application/json>

Example (See the L<OpenAI spec for more detail|https://github.com/openai/openai-openapi/blob/master/openapi.yaml>):

    {
      "id": "run_abc123",
      "object": "thread.run",
      "created_at": 1698107661,
      "assistant_id": "asst_abc123",
      "thread_id": "thread_abc123",
      "status": "completed",
      "started_at": 1699073476,
      "expires_at": null,
      "cancelled_at": null,
      "failed_at": null,
      "completed_at": 1699073498,
      "last_error": null,
      "model": "gpt-4o",
      "instructions": null,
      "tools": [{"type": "file_search"}, {"type": "code_interpreter"}],
      "metadata": {},
      "incomplete_details": null,
      "usage": {
        "prompt_tokens": 123,
        "completion_tokens": 456,
        "total_tokens": 579
      },
      "temperature": 1.0,
      "top_p": 1.0,
      "max_prompt_tokens": 1000,
      "max_completion_tokens": 1000,
      "truncation_strategy": {
        "type": "auto",
        "last_messages": null
      },
      "response_format": "auto",
      "tool_choice": "auto",
      "parallel_tool_calls": true
    }


=back

=head1 SEE ALSO

L<OpenAPI::Client::OpenAI::Path>

=head1 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.

=cut