=encoding utf8

=head1 NAME

OpenAPI::Client::OpenAI::Path::organization-projects-project_id-users-user_id - Documentation for the /organization/projects/{project_id}/users/{user_id} path.

=head1 OPERATIONS

=head2 DELETE /organization/projects/{project_id}/users/{user_id}

=head3 delete-project-user

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

Deletes a user from the project.

Returns confirmation of project user deletion, or an error if the project is
archived (archived projects have no users).

=head4 Path/query parameters

=over

=item * C<project_id> (in path, required, string) - The ID of the project.

=item * C<user_id> (in path, required, string) - The ID of the user.

=back

=head4 Responses

B<200 - Project user deleted successfully.>

Content-Type: application/json

Example:

    {
       "deleted" : false,
       "id" : "string",
       "object" : "organization.project.user.deleted"
    }

B<400 - Error response for various conditions.>

Content-Type: application/json

Example:

    {
       "error" : {
          "code" : "string",
          "message" : "string",
          "param" : "string",
          "type" : "string"
       }
    }

=head2 GET /organization/projects/{project_id}/users/{user_id}

=head3 retrieve-project-user

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

Retrieves a user in the project.

=head4 Path/query parameters

=over

=item * C<project_id> (in path, required, string) - The ID of the project.

=item * C<user_id> (in path, required, string) - The ID of the user.

=back

=head4 Responses

B<200 - Project user retrieved successfully.>

Content-Type: application/json

Example:

    {
       "added_at" : 1711471533,
       "email" : "user@example.com",
       "id" : "user_abc",
       "name" : "First Last",
       "object" : "organization.project.user",
       "role" : "owner"
    }

=head2 POST /organization/projects/{project_id}/users/{user_id}

=head3 modify-project-user

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

Modifies a user's role in the project.

=head4 Path/query parameters

=over

=item * C<project_id> (in path, required, string) - The ID of the project.

=item * C<user_id> (in path, required, string) - The ID of the user.

=back

=head4 Responses

B<200 - Project user's role updated successfully.>

Content-Type: application/json

Example:

    {
       "added_at" : 1711471533,
       "email" : "user@example.com",
       "id" : "user_abc",
       "name" : "First Last",
       "object" : "organization.project.user",
       "role" : "owner"
    }

B<400 - Error response for various conditions.>

Content-Type: application/json

Example:

    {
       "error" : {
          "code" : "string",
          "message" : "string",
          "param" : "string",
          "type" : "string"
       }
    }

=head1 SCHEMAS

=head2 Error

Properties:

=over

=item * C<code> (anyOf, required)

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

=item * C<param> (anyOf, required)

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

=back

=head2 ErrorResponse

Properties:

=over

=item * C<error> (Error, required)

See L</Error> below for shape.

=back

=head2 ProjectUser

Properties:

=over

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

=item * C<email> (anyOf) - The email address of the user

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

=item * C<name> (anyOf) - The name of the user

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

Allowed values: organization.project.user

=item * C<role> (string, required) - C<owner> or C<member>

=back

=head2 ProjectUserDeleteResponse

Properties:

=over

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

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

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

Allowed values: organization.project.user.deleted

=back

=head2 ProjectUserUpdateRequest

Properties:

=over

=item * C<role> (anyOf) - C<owner> or C<member>

=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
