# iam.v1
EazyRent IAM API ==================  Description -------------  The EazyRent IAM API provides robust identity and access management capabilities, enabling efficient account management and permission controls across the platform. Tailored for the SaaS environment, this API allows administrators to handle user authentication, manage roles, and define permissions to secure access to various resources. By centralizing user accounts and access rules, the IAM API ensures a secure, organized, and scalable approach to managing tenant and staff permissions.  Target Audience ------------------   * **Real Estate Agencies and Social Housing Providers:** Organizations requiring a secure, structured way to manage access for staff and tenants, ensuring that only authorized users can access specific resources and functionalities.   * **Rent Guarantee Insurers:** Companies that need to manage and restrict access to sensitive information, allowing only certain roles to handle tenant verification and risk assessment data.  Purpose --------  The purpose of the EazyRent IAM API is to centralize identity and permission management for platform users. Through this API, businesses can handle account creation, manage user roles, assign permissions, and track access to critical resources, all while ensuring compliance and data security. This results in streamlined operations, allowing clients to configure role-based access in alignment with organizational policies and requirements.  How to use this API -----------------------  To start using the EazyRent IAM API, consult our detailed documentation, which provides information on authentication, endpoint definitions, and integration best practices. This documentation covers the steps required to manage user identities, roles, and permissions within your existing systems, ensuring secure and efficient access control across the platform.

The `iam.v1` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1
- Package version: 1.0.0
- Generator version: 7.14.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.9+

## Installation & Usage

This python library package is generated without supporting files like setup.py or requirements files

To be able to use it, you will need these dependencies in your own package that uses this library:

* urllib3 >= 2.1.0, < 3.0.0
* python-dateutil >= 2.8.2
* pydantic >= 2
* typing-extensions >= 4.7.1

## Getting Started

In your own code, to use this library to connect and interact with iam.v1,
you can run the following:

```python

import iam.v1
from iam.v1.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to /iam/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = iam.v1.Configuration(
    host = "/iam/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: APIKeyHeader
configuration.api_key['APIKeyHeader'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['APIKeyHeader'] = 'Bearer'

configuration.access_token = os.environ["ACCESS_TOKEN"]


# Enter a context with an instance of the API client
with iam.v1.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = iam.v1.OrganizationsApi(api_client)
    logo = None # bytearray | 
    x_eaz_account_id = 'x_eaz_account_id_example' # str | The default is always the organization of the requesting user. If you like to get/set a result of another organization include the header. Make sure the user has permission to access the requested data. (optional)

    try:
        # Change logo
        api_response = api_instance.change_logo(logo, x_eaz_account_id=x_eaz_account_id)
        print("The response of OrganizationsApi->change_logo:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling OrganizationsApi->change_logo: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to */iam/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*OrganizationsApi* | [**change_logo**](iam/v1/docs/OrganizationsApi.md#change_logo) | **POST** /organizations/logo/ | Change logo
*OrganizationsApi* | [**create_linked_account**](iam/v1/docs/OrganizationsApi.md#create_linked_account) | **POST** /organizations/accounts/ | Create linked account
*OrganizationsApi* | [**delete_logo**](iam/v1/docs/OrganizationsApi.md#delete_logo) | **DELETE** /organizations/logo/ | Delete logo
*OrganizationsApi* | [**get_alert_importance**](iam/v1/docs/OrganizationsApi.md#get_alert_importance) | **GET** /organizations/alert-importances/ | Get alert importance
*OrganizationsApi* | [**get_external_references**](iam/v1/docs/OrganizationsApi.md#get_external_references) | **GET** /organizations/external-references/ | Get external references
*OrganizationsApi* | [**join_organization**](iam/v1/docs/OrganizationsApi.md#join_organization) | **POST** /organizations/join-organization/ | Join organization
*OrganizationsApi* | [**leave_organization**](iam/v1/docs/OrganizationsApi.md#leave_organization) | **POST** /organizations/leave-organization/ | Leave organization
*OrganizationsApi* | [**list_all_linked_account**](iam/v1/docs/OrganizationsApi.md#list_all_linked_account) | **GET** /organizations/accounts/ | List all linked account
*OrganizationsApi* | [**my_organization**](iam/v1/docs/OrganizationsApi.md#my_organization) | **GET** /organizations/me/ | My organization
*OrganizationsApi* | [**update_alert_importance**](iam/v1/docs/OrganizationsApi.md#update_alert_importance) | **PUT** /organizations/alert-importances/ | Update alert importance
*OrganizationsApi* | [**update_external_references**](iam/v1/docs/OrganizationsApi.md#update_external_references) | **PUT** /organizations/external-references/ | Update external references
*PublicApi* | [**register**](iam/v1/docs/PublicApi.md#register) | **POST** /register/ | Register
*ServiceAccountsApi* | [**list_service_accounts**](iam/v1/docs/ServiceAccountsApi.md#list_service_accounts) | **GET** /service-accounts/ | List service accounts
*TeamApi* | [**add_organization_members**](iam/v1/docs/TeamApi.md#add_organization_members) | **POST** /team/members/ | Add organization members
*TeamApi* | [**deactivate_member**](iam/v1/docs/TeamApi.md#deactivate_member) | **POST** /team/members/{id}/deactivate/ | Deactivate member
*TeamApi* | [**delete_team_member**](iam/v1/docs/TeamApi.md#delete_team_member) | **DELETE** /team/members/{id}/ | Delete team member
*TeamApi* | [**get_organization_member**](iam/v1/docs/TeamApi.md#get_organization_member) | **GET** /team/members/{id}/ | Get organization member
*TeamApi* | [**list_organization_members**](iam/v1/docs/TeamApi.md#list_organization_members) | **GET** /team/members/ | List organization members
*TeamApi* | [**lock_member**](iam/v1/docs/TeamApi.md#lock_member) | **POST** /team/members/{id}/lock/ | Lock member
*TeamApi* | [**reactivate_member**](iam/v1/docs/TeamApi.md#reactivate_member) | **POST** /team/members/{id}/reactivate/ | Reactivate member
*TeamApi* | [**sync_user_from_auth_service**](iam/v1/docs/TeamApi.md#sync_user_from_auth_service) | **POST** /team/members/{id}/sync-from-auth/ | Sync user from auth service
*TeamApi* | [**unlock_member**](iam/v1/docs/TeamApi.md#unlock_member) | **POST** /team/members/{id}/unlock/ | Unlock member
*TeamApi* | [**update_team_member**](iam/v1/docs/TeamApi.md#update_team_member) | **PATCH** /team/members/{id}/ | Update team member
*UserGrantsApi* | [**retrieve_my_authorizations**](iam/v1/docs/UserGrantsApi.md#retrieve_my_authorizations) | **GET** /user-grants/me/authorizations/ | Retrieve my authorizations
*UserGrantsApi* | [**retrieve_user_authorizations**](iam/v1/docs/UserGrantsApi.md#retrieve_user_authorizations) | **GET** /user-grants/{user_id}/authorizations/ | Retrieve user authorizations
*UserGrantsApi* | [**update_user_authorizations**](iam/v1/docs/UserGrantsApi.md#update_user_authorizations) | **PUT** /user-grants/{user_id}/authorizations/ | Update user authorizations
*UsersApi* | [**change_my_password**](iam/v1/docs/UsersApi.md#change_my_password) | **POST** /users/me/password/ | Change my password
*UsersApi* | [**create_profile_avatar**](iam/v1/docs/UsersApi.md#create_profile_avatar) | **POST** /users/me/avatar/ | Create profile avatar
*UsersApi* | [**delete_my_user**](iam/v1/docs/UsersApi.md#delete_my_user) | **DELETE** /users/me/ | Delete my user
*UsersApi* | [**delete_profile_avatar**](iam/v1/docs/UsersApi.md#delete_profile_avatar) | **DELETE** /users/me/avatar/ | Delete profile avatar
*UsersApi* | [**get_my_config**](iam/v1/docs/UsersApi.md#get_my_config) | **GET** /users/me/config/ | Get my config
*UsersApi* | [**get_my_user**](iam/v1/docs/UsersApi.md#get_my_user) | **GET** /users/me/ | Get my user
*UsersApi* | [**get_user_notification_preferences**](iam/v1/docs/UsersApi.md#get_user_notification_preferences) | **GET** /users/me/notification-preferences/ | Get user notification preferences
*UsersApi* | [**partial_update_my_user**](iam/v1/docs/UsersApi.md#partial_update_my_user) | **PATCH** /users/me/ | Partial update my user
*UsersApi* | [**sync_my_user_from_auth_service**](iam/v1/docs/UsersApi.md#sync_my_user_from_auth_service) | **POST** /users/me/sync-from-auth/ | Sync my user from auth service
*UsersApi* | [**update_my_config**](iam/v1/docs/UsersApi.md#update_my_config) | **PUT** /users/me/config/ | Update my config
*UsersApi* | [**update_user_notification_preferences**](iam/v1/docs/UsersApi.md#update_user_notification_preferences) | **PUT** /users/me/notification-preferences/ | Update user notification preferences


## Documentation For Models

 - [AlertImportance](iam/v1/docs/AlertImportance.md)
 - [AppNotificationConfig](iam/v1/docs/AppNotificationConfig.md)
 - [BaseAlertType](iam/v1/docs/BaseAlertType.md)
 - [ChangePassword](iam/v1/docs/ChangePassword.md)
 - [CreateOrganization](iam/v1/docs/CreateOrganization.md)
 - [CreateUser](iam/v1/docs/CreateUser.md)
 - [EmailNotificationConfig](iam/v1/docs/EmailNotificationConfig.md)
 - [ExternalReferencesValue](iam/v1/docs/ExternalReferencesValue.md)
 - [HTTPValidationError](iam/v1/docs/HTTPValidationError.md)
 - [JoinOrganization](iam/v1/docs/JoinOrganization.md)
 - [ListOrganization](iam/v1/docs/ListOrganization.md)
 - [ListUser](iam/v1/docs/ListUser.md)
 - [Logo](iam/v1/docs/Logo.md)
 - [NotificationConfig](iam/v1/docs/NotificationConfig.md)
 - [Organization](iam/v1/docs/Organization.md)
 - [ParentOrganization](iam/v1/docs/ParentOrganization.md)
 - [PartialUpdateUser](iam/v1/docs/PartialUpdateUser.md)
 - [RegisterAdminOrgSerializer](iam/v1/docs/RegisterAdminOrgSerializer.md)
 - [RegisterOrganizationSerializer](iam/v1/docs/RegisterOrganizationSerializer.md)
 - [RegisterSerializer](iam/v1/docs/RegisterSerializer.md)
 - [ResponseGetMyUser](iam/v1/docs/ResponseGetMyUser.md)
 - [ServiceAccount](iam/v1/docs/ServiceAccount.md)
 - [UpdateUserGrants](iam/v1/docs/UpdateUserGrants.md)
 - [User](iam/v1/docs/User.md)
 - [UserConfig](iam/v1/docs/UserConfig.md)
 - [UserConfigPropertyRentSubscriptionsInner](iam/v1/docs/UserConfigPropertyRentSubscriptionsInner.md)
 - [ValidationError](iam/v1/docs/ValidationError.md)
 - [ValidationErrorLocInner](iam/v1/docs/ValidationErrorLocInner.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="OAuth2"></a>
### OAuth2

- **Type**: OAuth
- **Flow**: application
- **Authorization URL**: 
- **Scopes**: 
 - **profile**: Profile scope
 - **openid**: OpenId scope
 - **urn:zitadel:iam:org:projects:roles**: Get user roles
 - **urn:zitadel:iam:user:resourceowner**: Get user org
 - **urn:zitadel:iam:org:project:id:286048212773503426:aud**: Get grant to eazyrent project

<a id="APIKeyHeader"></a>
### APIKeyHeader

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header


## Author




