=encoding utf8

=head1 NAME

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

=head1 OPERATIONS

=head2 GET /organization/projects

=head3 list-projects

  $client->list_projects({
      body => { ... },
  });

Returns a list of projects.

=head4 Path/query parameters

=over

=item * C<limit> (in query, optional, integer) - A limit on the number of objects to be returned. Limit can range between 1 and
100, and the default is 20.

Default: 20

=item * C<after> (in query, optional, string) - A cursor for use in pagination. C<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.

=item * C<include_archived> (in query, optional, boolean) - If C<true> returns all projects including those that have been C<archived> .
Archived projects are not included by default.

Default: 

=back

=head4 Responses

B<200 - Projects listed successfully.>

Content-Type: application/json

Example:

    {
       "data" : [
          "{\n    \"id\": \"proj_abc\",\n    \"object\": \"organization.project\",\n    \"name\": \"Project example\",\n    \"created_at\": 1711471533,\n    \"archived_at\": null,\n    \"status\": \"active\",\n    \"external_key_id\": null\n}\n"
       ],
       "first_id" : "string",
       "has_more" : false,
       "last_id" : "string",
       "object" : "list"
    }

=head2 POST /organization/projects

=head3 create-project

  $client->create_project({
      body => { ... },
  });

Create a new project in the organization. Projects can be created and
archived, but cannot be deleted.

=head4 Responses

B<200 - Project created successfully.>

Content-Type: application/json

Example:

    {
       "archived_at" : null,
       "created_at" : 1711471533,
       "external_key_id" : null,
       "id" : "proj_abc",
       "name" : "Project example",
       "object" : "organization.project",
       "status" : "active"
    }

=head1 SCHEMAS

=head2 Project

Properties:

=over

=item * C<archived_at> (anyOf)

=item * C<created_at> (integer, required) - The Unix timestamp (in seconds) of when the project was created.

=item * C<external_key_id> (anyOf) - The external key associated with the project.

=item * C<id> (string, required) - The identifier, which can be referenced in API endpoints

=item * C<name> (anyOf) - The name of the project. This appears in reporting.

=item * C<object> (string, required) - The object type, which is always C<organization.project>

Allowed values: organization.project

=item * C<status> (anyOf) - C<active> or C<archived>

=back

=head2 ProjectCreateRequest

Properties:

=over

=item * C<external_key_id> (anyOf) - External key ID to associate with the project.

=item * C<geography> (anyOf) - Create the project with the specified data residency region. Your organization
must have access to Data residency functionality in order to use. See
L<data residency controls|https://platform.openai.com/docs/guides/your-data#data-residency-controls>
to review the functionality and limitations of setting this field.

=item * C<name> (string, required) - The friendly name of the project, this name appears in reports.

=back

=head2 ProjectListResponse

Properties:

=over

=item * C<data> (array of Project, required)

=item * C<first_id> (anyOf)

=item * C<has_more> (boolean, required)

=item * C<last_id> (anyOf)

=item * C<object> (string, required)

Allowed values: list

=back

=head1 SEE ALSO

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

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2023-2026 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
