Metadata-Version: 2.4
Name: mailodds
Version: 1.1.0
Summary: MailOdds Email Validation API
Home-page: 
Author: MailOdds Support
Author-email: MailOdds Support <support@mailodds.com>
License: Proprietary
Project-URL: Repository, https://github.com/mailodds/python-sdk
Keywords: OpenAPI,OpenAPI-Generator,MailOdds Email Validation 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
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author

# mailodds
MailOdds provides email validation services to help maintain clean email lists 
and improve deliverability. The API performs multiple validation checks including 
format verification, domain validation, MX record checking, and disposable email detection.

## Authentication

All API requests require authentication using a Bearer token. Include your API key 
in the Authorization header:

```
Authorization: Bearer YOUR_API_KEY
```

API keys can be created in the MailOdds dashboard.

## Rate Limits

Rate limits vary by plan:
- Free: 10 requests/minute
- Starter: 60 requests/minute  
- Pro: 300 requests/minute
- Business: 1000 requests/minute
- Enterprise: Custom limits

## Response Format

All responses include:
- `schema_version`: API schema version (currently \"1.0\")
- `request_id`: Unique request identifier for debugging

Error responses include:
- `error`: Machine-readable error code
- `message`: Human-readable error description


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

- API version: 1.0.0
- Package version: 1.0.0
- Generator version: 7.19.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://mailodds.com/contact](https://mailodds.com/contact)

## Requirements.

Python 3.9+

## 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/mailodds/python-sdk.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/mailodds/python-sdk.git`)

Then import the package:
```python
import mailodds
```

### 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 mailodds
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import mailodds
from mailodds.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.mailodds.com/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = mailodds.Configuration(
    host = "https://api.mailodds.com/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 Bearer authorization: BearerAuth
configuration = mailodds.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with mailodds.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = mailodds.BulkValidationApi(api_client)
    job_id = 'job_id_example' # str | 

    try:
        # Cancel a job
        api_response = api_instance.cancel_job(job_id)
        print("The response of BulkValidationApi->cancel_job:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling BulkValidationApi->cancel_job: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.mailodds.com/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*BulkValidationApi* | [**cancel_job**](docs/BulkValidationApi.md#cancel_job) | **POST** /v1/jobs/{job_id}/cancel | Cancel a job
*BulkValidationApi* | [**create_job**](docs/BulkValidationApi.md#create_job) | **POST** /v1/jobs | Create bulk validation job (JSON)
*BulkValidationApi* | [**create_job_from_s3**](docs/BulkValidationApi.md#create_job_from_s3) | **POST** /v1/jobs/upload/s3 | Create job from S3 upload
*BulkValidationApi* | [**create_job_upload**](docs/BulkValidationApi.md#create_job_upload) | **POST** /v1/jobs/upload | Create bulk validation job (file upload)
*BulkValidationApi* | [**delete_job**](docs/BulkValidationApi.md#delete_job) | **DELETE** /v1/jobs/{job_id} | Delete a job
*BulkValidationApi* | [**get_job**](docs/BulkValidationApi.md#get_job) | **GET** /v1/jobs/{job_id} | Get job status
*BulkValidationApi* | [**get_job_results**](docs/BulkValidationApi.md#get_job_results) | **GET** /v1/jobs/{job_id}/results | Get job results
*BulkValidationApi* | [**get_presigned_upload**](docs/BulkValidationApi.md#get_presigned_upload) | **POST** /v1/jobs/upload/presigned | Get S3 presigned upload URL
*BulkValidationApi* | [**list_jobs**](docs/BulkValidationApi.md#list_jobs) | **GET** /v1/jobs | List validation jobs
*EmailValidationApi* | [**validate_batch**](docs/EmailValidationApi.md#validate_batch) | **POST** /v1/validate/batch | Validate multiple emails (sync)
*EmailValidationApi* | [**validate_email**](docs/EmailValidationApi.md#validate_email) | **POST** /v1/validate | Validate single email
*SuppressionListsApi* | [**add_suppression**](docs/SuppressionListsApi.md#add_suppression) | **POST** /v1/suppression | Add suppression entries
*SuppressionListsApi* | [**check_suppression**](docs/SuppressionListsApi.md#check_suppression) | **POST** /v1/suppression/check | Check suppression status
*SuppressionListsApi* | [**get_suppression_stats**](docs/SuppressionListsApi.md#get_suppression_stats) | **GET** /v1/suppression/stats | Get suppression statistics
*SuppressionListsApi* | [**list_suppression**](docs/SuppressionListsApi.md#list_suppression) | **GET** /v1/suppression | List suppression entries
*SuppressionListsApi* | [**remove_suppression**](docs/SuppressionListsApi.md#remove_suppression) | **DELETE** /v1/suppression | Remove suppression entries
*SystemApi* | [**get_telemetry_summary**](docs/SystemApi.md#get_telemetry_summary) | **GET** /v1/telemetry/summary | Get validation telemetry
*SystemApi* | [**health_check**](docs/SystemApi.md#health_check) | **GET** /health | Health check
*ValidationPoliciesApi* | [**add_policy_rule**](docs/ValidationPoliciesApi.md#add_policy_rule) | **POST** /v1/policies/{policy_id}/rules | Add rule to policy
*ValidationPoliciesApi* | [**create_policy**](docs/ValidationPoliciesApi.md#create_policy) | **POST** /v1/policies | Create policy
*ValidationPoliciesApi* | [**create_policy_from_preset**](docs/ValidationPoliciesApi.md#create_policy_from_preset) | **POST** /v1/policies/from-preset | Create policy from preset
*ValidationPoliciesApi* | [**delete_policy**](docs/ValidationPoliciesApi.md#delete_policy) | **DELETE** /v1/policies/{policy_id} | Delete policy
*ValidationPoliciesApi* | [**delete_policy_rule**](docs/ValidationPoliciesApi.md#delete_policy_rule) | **DELETE** /v1/policies/{policy_id}/rules/{rule_id} | Delete rule
*ValidationPoliciesApi* | [**get_policy**](docs/ValidationPoliciesApi.md#get_policy) | **GET** /v1/policies/{policy_id} | Get policy
*ValidationPoliciesApi* | [**get_policy_presets**](docs/ValidationPoliciesApi.md#get_policy_presets) | **GET** /v1/policies/presets | Get policy presets
*ValidationPoliciesApi* | [**list_policies**](docs/ValidationPoliciesApi.md#list_policies) | **GET** /v1/policies | List policies
*ValidationPoliciesApi* | [**test_policy**](docs/ValidationPoliciesApi.md#test_policy) | **POST** /v1/policies/test | Test policy evaluation
*ValidationPoliciesApi* | [**update_policy**](docs/ValidationPoliciesApi.md#update_policy) | **PUT** /v1/policies/{policy_id} | Update policy


## Documentation For Models

 - [AddPolicyRule201Response](docs/AddPolicyRule201Response.md)
 - [AddSuppressionRequest](docs/AddSuppressionRequest.md)
 - [AddSuppressionRequestEntriesInner](docs/AddSuppressionRequestEntriesInner.md)
 - [AddSuppressionResponse](docs/AddSuppressionResponse.md)
 - [CheckSuppressionRequest](docs/CheckSuppressionRequest.md)
 - [CreateJobFromS3Request](docs/CreateJobFromS3Request.md)
 - [CreateJobRequest](docs/CreateJobRequest.md)
 - [CreatePolicyFromPresetRequest](docs/CreatePolicyFromPresetRequest.md)
 - [CreatePolicyRequest](docs/CreatePolicyRequest.md)
 - [DeleteJob200Response](docs/DeleteJob200Response.md)
 - [DeletePolicy200Response](docs/DeletePolicy200Response.md)
 - [DeletePolicyRule200Response](docs/DeletePolicyRule200Response.md)
 - [ErrorResponse](docs/ErrorResponse.md)
 - [GetPresignedUploadRequest](docs/GetPresignedUploadRequest.md)
 - [HealthCheck200Response](docs/HealthCheck200Response.md)
 - [Job](docs/Job.md)
 - [JobListResponse](docs/JobListResponse.md)
 - [JobResponse](docs/JobResponse.md)
 - [JobSummary](docs/JobSummary.md)
 - [Pagination](docs/Pagination.md)
 - [Policy](docs/Policy.md)
 - [PolicyListResponse](docs/PolicyListResponse.md)
 - [PolicyListResponseLimits](docs/PolicyListResponseLimits.md)
 - [PolicyPresetsResponse](docs/PolicyPresetsResponse.md)
 - [PolicyPresetsResponsePresetsInner](docs/PolicyPresetsResponsePresetsInner.md)
 - [PolicyResponse](docs/PolicyResponse.md)
 - [PolicyRule](docs/PolicyRule.md)
 - [PolicyRuleAction](docs/PolicyRuleAction.md)
 - [PolicyTestResponse](docs/PolicyTestResponse.md)
 - [PresignedUploadResponse](docs/PresignedUploadResponse.md)
 - [PresignedUploadResponseUpload](docs/PresignedUploadResponseUpload.md)
 - [RemoveSuppression200Response](docs/RemoveSuppression200Response.md)
 - [RemoveSuppressionRequest](docs/RemoveSuppressionRequest.md)
 - [ResultsResponse](docs/ResultsResponse.md)
 - [SuppressionCheckResponse](docs/SuppressionCheckResponse.md)
 - [SuppressionEntry](docs/SuppressionEntry.md)
 - [SuppressionListResponse](docs/SuppressionListResponse.md)
 - [SuppressionStatsResponse](docs/SuppressionStatsResponse.md)
 - [SuppressionStatsResponseByType](docs/SuppressionStatsResponseByType.md)
 - [TelemetrySummary](docs/TelemetrySummary.md)
 - [TelemetrySummaryRates](docs/TelemetrySummaryRates.md)
 - [TelemetrySummaryTopDomainsInner](docs/TelemetrySummaryTopDomainsInner.md)
 - [TelemetrySummaryTopReasonsInner](docs/TelemetrySummaryTopReasonsInner.md)
 - [TelemetrySummaryTotals](docs/TelemetrySummaryTotals.md)
 - [TestPolicyRequest](docs/TestPolicyRequest.md)
 - [TestPolicyRequestTestResult](docs/TestPolicyRequestTestResult.md)
 - [UpdatePolicyRequest](docs/UpdatePolicyRequest.md)
 - [ValidateBatch200Response](docs/ValidateBatch200Response.md)
 - [ValidateBatch200ResponseSummary](docs/ValidateBatch200ResponseSummary.md)
 - [ValidateBatchRequest](docs/ValidateBatchRequest.md)
 - [ValidateRequest](docs/ValidateRequest.md)
 - [ValidationResponse](docs/ValidationResponse.md)
 - [ValidationResponsePolicyApplied](docs/ValidationResponsePolicyApplied.md)
 - [ValidationResponseSuppressionMatch](docs/ValidationResponseSuppressionMatch.md)
 - [ValidationResult](docs/ValidationResult.md)


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


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

- **Type**: Bearer authentication


## Author

support@mailodds.com


