=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>
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 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](/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<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
]
}
]
}
],
"model" : "gpt-4o",
"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