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