=encoding utf8

=head1 NAME

OpenAPI::Client::OpenAI::Path::assistants - Documentation for the /assistants path.

=head1 DESCRIPTION

This document describes the API endpoint at C</assistants>.

=head1 PATHS


=head2 C<GET /assistants>

Returns a list of assistants.



=head3 Operation ID

C<listAssistants>

    $client->listAssistants( ... );

=head3 Parameters

=over 4

=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>):

    {
      "object": "list",
      "data": [
        {
          "id": "asst_abc123",
          "object": "assistant",
          "created_at": 1698982736,
          "name": "Coding Tutor",
          "description": null,
          "model": "gpt-4o",
          "instructions": "You are a helpful assistant designed to make me better at coding!",
          "tools": [],
          "tool_resources": {},
          "metadata": {},
          "top_p": 1.0,
          "temperature": 1.0,
          "response_format": "auto"
        },
        {
          "id": "asst_abc456",
          "object": "assistant",
          "created_at": 1698982718,
          "name": "My Assistant",
          "description": null,
          "model": "gpt-4o",
          "instructions": "You are a helpful assistant designed to make me better at coding!",
          "tools": [],
          "tool_resources": {},
          "metadata": {},
          "top_p": 1.0,
          "temperature": 1.0,
          "response_format": "auto"
        },
        {
          "id": "asst_abc789",
          "object": "assistant",
          "created_at": 1698982643,
          "name": null,
          "description": null,
          "model": "gpt-4o",
          "instructions": null,
          "tools": [],
          "tool_resources": {},
          "metadata": {},
          "top_p": 1.0,
          "temperature": 1.0,
          "response_format": "auto"
        }
      ],
      "first_id": "asst_abc123",
      "last_id": "asst_abc789",
      "has_more": false
    }


=back

=head2 C<POST /assistants>

Create an assistant with a model and instructions.



=head3 Operation ID

C<createAssistant>

    $client->createAssistant( ... );

=head3 Parameters

=over 4

=back

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

    
      

      

=head4 Models

ID of the model to use. You can use the L<List models|https://platform.openai.com/docs/api-reference/models/list> API to see all of your available models, or see our L<Model overview|https://platform.openai.com/docs/models> for descriptions of them.

=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:

    {
       "model" : "gpt-4o",
       "temperature" : 1,
       "tool_resources" : {
          "code_interpreter" : {
             "file_ids" : [
                null
             ]
          },
          "file_search" : {
             "vector_store_ids" : [
                null
             ],
             "vector_stores" : [
                {
                   "file_ids" : [
                      null
                   ]
                }
             ]
          }
       },
       "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": "asst_abc123",
      "object": "assistant",
      "created_at": 1698984975,
      "name": "Math Tutor",
      "description": null,
      "model": "gpt-4o",
      "instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
      "tools": [
        {
          "type": "code_interpreter"
        }
      ],
      "metadata": {},
      "top_p": 1.0,
      "temperature": 1.0,
      "response_format": "auto"
    }


=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