=encoding utf8

=head1 NAME

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

=head1 DESCRIPTION

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

=head1 PATHS


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

List run steps


Returns a list of run steps belonging to a run.



=head3 Operation ID

C<listRunSteps>

    $client->listRunSteps( ... );

=head3 Parameters

=over 4

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

Type: C<string>



=item * C<run_id> (in path) (Required) - The ID of the run the run steps belong 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>



=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 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\": \"step_abc123\",\n  \"object\": \"thread.run.step\",\n  \"created_at\": 1699063291,\n  \"run_id\": \"run_abc123\",\n  \"assistant_id\": \"asst_abc123\",\n  \"thread_id\": \"thread_abc123\",\n  \"type\": \"message_creation\",\n  \"status\": \"completed\",\n  \"cancelled_at\": null,\n  \"completed_at\": 1699063291,\n  \"expired_at\": null,\n  \"failed_at\": null,\n  \"last_error\": null,\n  \"step_details\": {\n    \"type\": \"message_creation\",\n    \"message_creation\": {\n      \"message_id\": \"msg_abc123\"\n    }\n  },\n  \"usage\": {\n    \"prompt_tokens\": 123,\n    \"completion_tokens\": 456,\n    \"total_tokens\": 579\n  }\n}\n"
       ],
       "first_id" : "step_abc123",
       "has_more" : false,
       "last_id" : "step_abc456",
       "object" : "list"
    }


=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