Metadata-Version: 2.4
Name: emailguard_sdk
Version: 1.0.0
Summary: EmailGuard Public API
Home-page: https://github.com/emailguard/emailguard-python
Author: EmailGuard
Author-email: EmailGuard <dev@emailguard.co>
Project-URL: Repository, https://github.com/emailguard/emailguard-python
Keywords: OpenAPI,OpenAPI-Generator,EmailGuard Public API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.1.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: home-page

# emailguard-sdk
Team-scoped REST API at /api/v1. Authenticate with `Authorization: Bearer egsk_live_...` or `X-API-Key`. Forks may register custom routes under /api/v1/tools/* (requires `tools:read` / `tools:write` scopes). Async tool jobs return a `job_id` — poll `GET .../{jobId}/results` until complete. See /docs/api-reference.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0
- Package version: 1.0.0
- Generator version: 7.23.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://emailguard.co](https://emailguard.co)

## Requirements.

Python 3.10+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/emailguard/emailguard-python.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/emailguard/emailguard-python.git`)

Then import the package:
```python
import emailguard_sdk
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import emailguard_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import emailguard_sdk
from emailguard_sdk.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://api.emailguard.co
# See configuration.py for a list of all supported configuration parameters.
configuration = emailguard_sdk.Configuration(
    host = "http://api.emailguard.co"
)

# 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: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"]

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


# Enter a context with an instance of the API client
with emailguard_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = emailguard_sdk.BillingApi(api_client)
    range = 'range_example' # str | Period selector: current, previous, or custom (optional)
    start = 'start_example' # str | Custom range start (RFC3339 or YYYY-MM-DD); required when range=custom (optional)
    end = 'end_example' # str | Custom range end (RFC3339 or YYYY-MM-DD); required when range=custom (optional)

    try:
        # Get billing usage
        api_response = api_instance.api_v1_team_billing_usage_get(range=range, start=start, end=end)
        print("The response of BillingApi->api_v1_team_billing_usage_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling BillingApi->api_v1_team_billing_usage_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://api.emailguard.co*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*BillingApi* | [**api_v1_team_billing_usage_get**](docs/BillingApi.md#api_v1_team_billing_usage_get) | **GET** /api/v1/team/billing/usage | Get billing usage
*ChannelsApi* | [**api_v1_team_notifications_channels_channel_id_delete**](docs/ChannelsApi.md#api_v1_team_notifications_channels_channel_id_delete) | **DELETE** /api/v1/team/notifications/channels/{channelId} | Delete notification channel
*ChannelsApi* | [**api_v1_team_notifications_channels_channel_id_put**](docs/ChannelsApi.md#api_v1_team_notifications_channels_channel_id_put) | **PUT** /api/v1/team/notifications/channels/{channelId} | Update notification channel
*ChannelsApi* | [**api_v1_team_notifications_channels_channel_id_test_post**](docs/ChannelsApi.md#api_v1_team_notifications_channels_channel_id_test_post) | **POST** /api/v1/team/notifications/channels/{channelId}/test | Test notification channel
*ChannelsApi* | [**api_v1_team_notifications_channels_get**](docs/ChannelsApi.md#api_v1_team_notifications_channels_get) | **GET** /api/v1/team/notifications/channels | List notification channels
*ChannelsApi* | [**api_v1_team_notifications_channels_post**](docs/ChannelsApi.md#api_v1_team_notifications_channels_post) | **POST** /api/v1/team/notifications/channels | Create notification channel
*EventsApi* | [**api_v1_team_notifications_events_get**](docs/EventsApi.md#api_v1_team_notifications_events_get) | **GET** /api/v1/team/notifications/events | List notification events
*InvitesApi* | [**api_v1_team_members_invites_get**](docs/InvitesApi.md#api_v1_team_members_invites_get) | **GET** /api/v1/team/members/invites | List pending team invites
*InvitesApi* | [**api_v1_team_members_invites_invite_id_delete**](docs/InvitesApi.md#api_v1_team_members_invites_invite_id_delete) | **DELETE** /api/v1/team/members/invites/{inviteId} | Cancel a pending invite
*InvitesApi* | [**api_v1_team_members_invites_post**](docs/InvitesApi.md#api_v1_team_members_invites_post) | **POST** /api/v1/team/members/invites | Invite a team member
*MembersApi* | [**api_v1_team_members_get**](docs/MembersApi.md#api_v1_team_members_get) | **GET** /api/v1/team/members | List team members
*MembersApi* | [**api_v1_team_members_user_id_delete**](docs/MembersApi.md#api_v1_team_members_user_id_delete) | **DELETE** /api/v1/team/members/{userId} | Remove a team member
*MembersApi* | [**api_v1_team_members_user_id_patch**](docs/MembersApi.md#api_v1_team_members_user_id_patch) | **PATCH** /api/v1/team/members/{userId} | Update a team member role
*RulesApi* | [**api_v1_team_notifications_rules_get**](docs/RulesApi.md#api_v1_team_notifications_rules_get) | **GET** /api/v1/team/notifications/rules | List notification rules
*RulesApi* | [**api_v1_team_notifications_rules_post**](docs/RulesApi.md#api_v1_team_notifications_rules_post) | **POST** /api/v1/team/notifications/rules | Create notification rule
*RulesApi* | [**api_v1_team_notifications_rules_rule_id_delete**](docs/RulesApi.md#api_v1_team_notifications_rules_rule_id_delete) | **DELETE** /api/v1/team/notifications/rules/{ruleId} | Delete notification rule
*RulesApi* | [**api_v1_team_notifications_rules_rule_id_put**](docs/RulesApi.md#api_v1_team_notifications_rules_rule_id_put) | **PUT** /api/v1/team/notifications/rules/{ruleId} | Update notification rule
*TeamsApi* | [**api_v1_team_get**](docs/TeamsApi.md#api_v1_team_get) | **GET** /api/v1/team | Get team
*TeamsApi* | [**api_v1_team_patch**](docs/TeamsApi.md#api_v1_team_patch) | **PATCH** /api/v1/team | Update team
*EmailApi* | [**api_v1_emails_detect_get**](docs/EmailApi.md#api_v1_emails_detect_get) | **GET** /api/v1/emails/detect | Detect email characteristics


## Documentation For Models

 - [BaseResponse](docs/BaseResponse.md)
 - [BillingUsageEvent](docs/BillingUsageEvent.md)
 - [BillingUsageItem](docs/BillingUsageItem.md)
 - [BillingUsageResponse](docs/BillingUsageResponse.md)
 - [CreateNotificationChannelInput](docs/CreateNotificationChannelInput.md)
 - [CreateNotificationRuleInput](docs/CreateNotificationRuleInput.md)
 - [EmailDetectData](docs/EmailDetectData.md)
 - [EmailDetectResponse](docs/EmailDetectResponse.md)
 - [GetNotificationChannelResponse](docs/GetNotificationChannelResponse.md)
 - [GetNotificationChannelsResponse](docs/GetNotificationChannelsResponse.md)
 - [GetNotificationEventsResponse](docs/GetNotificationEventsResponse.md)
 - [GetNotificationRulesResponse](docs/GetNotificationRulesResponse.md)
 - [GetPublicTeamResponse](docs/GetPublicTeamResponse.md)
 - [IdDataResponse](docs/IdDataResponse.md)
 - [IdDataStruct](docs/IdDataStruct.md)
 - [InviteTeamMemberInput](docs/InviteTeamMemberInput.md)
 - [ListPublicTeamInvitesResponse](docs/ListPublicTeamInvitesResponse.md)
 - [ListPublicTeamMembersResponse](docs/ListPublicTeamMembersResponse.md)
 - [MessageResponse](docs/MessageResponse.md)
 - [NotificationChannelResponse](docs/NotificationChannelResponse.md)
 - [NotificationRuleChannelInput](docs/NotificationRuleChannelInput.md)
 - [NotificationRuleChannelResponse](docs/NotificationRuleChannelResponse.md)
 - [NotificationRuleResponse](docs/NotificationRuleResponse.md)
 - [PublicTeamInviteResponse](docs/PublicTeamInviteResponse.md)
 - [PublicTeamMemberResponse](docs/PublicTeamMemberResponse.md)
 - [PublicTeamResponse](docs/PublicTeamResponse.md)
 - [UpdateNotificationChannelInput](docs/UpdateNotificationChannelInput.md)
 - [UpdateNotificationRuleInput](docs/UpdateNotificationRuleInput.md)
 - [UpdateTeamInput](docs/UpdateTeamInput.md)
 - [UpdateTeamMemberInput](docs/UpdateTeamMemberInput.md)


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


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

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

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

- **Type**: HTTP basic authentication

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

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


## Author

dev@emailguard.co


