Metadata-Version: 2.4
Name: apimatic-apollo-sdk
Version: 0.0.1
Summary: this is a sample SDK generated by APIMatic
Author-email: developer sdksio <developer+sdksio@apimatic.io>
Project-URL: Documentation, https://apimatic.io
Keywords: apimatic,sdksio
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: apimatic-core>=0.2.24,~=0.2.0
Requires-Dist: apimatic-core-interfaces>=0.1.8,~=0.1.0
Requires-Dist: apimatic-requests-client-adapter>=0.1.10,~=0.1.0
Requires-Dist: python-dotenv<2.0,>=0.21
Requires-Dist: deprecation~=2.1
Provides-Extra: testutils
Requires-Dist: pytest>=7.2.2; extra == "testutils"
Dynamic: license-file


# Getting Started with apollo-rest-api

## Introduction

The Apollo API provides programmatic access to [Apollo](https://www.apollo.io/), the all-in-one sales intelligence and engagement platform. Use it to enrich people and company data (individually or in bulk), search Apollo's database of over 240 million contacts and 30 million companies, and manage accounts, contacts, deals, sequences, tasks, calls, and conversations in your go-to-market workflows.

### Base URL

All API requests are made to `https://api.apollo.io/api/v1`.

### Authentication

- **Apollo users** authenticate with an API key passed in the `x-api-key` request header. See [Create API Keys](https://docs.apollo.io/docs/create-api-key).
- **Apollo partners** building integrations on behalf of mutual users authenticate with the [OAuth 2.0 authorization flow](https://docs.apollo.io/docs/use-oauth-20-authorization-flow-to-access-apollo-user-information-partners).

### Rate limits & credits

Rate limits and credit consumption depend on your [Apollo pricing plan](https://docs.apollo.io/docs/api-pricing). Check your current limits and usage with the [View API Usage Stats and Rate Limits](https://docs.apollo.io/reference/view-api-usage-stats) endpoint. For more details, see [Rate Limits](https://docs.apollo.io/reference/rate-limits) and the [API FAQs](https://docs.apollo.io/docs/apollo-api-faqs).

New to the API? Start with the [Apollo API overview](https://docs.apollo.io/reference/apollo-api).

## Install the Package

The package is compatible with Python versions `3.7+`.
Install the package from PyPi using the following pip command:

```bash
pip install apimatic-apollo-sdk==0.0.1
```

You can also view the package at:
https://pypi.python.org/pypi/apimatic-apollo-sdk/0.0.1

## Initialize the API Client

**_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/client.md)

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
|  --- | --- | --- |
| http_client_instance | `Union[Session, HttpClientProvider]` | The Http Client passed from the sdk user for making requests |
| override_http_client_configuration | `bool` | The value which determines to override properties of the passed Http Client from the sdk user |
| http_call_back | `HttpCallBack` | The callback value that is invoked before and after an HTTP call is made to an endpoint |
| timeout | `float` | The value to use for connection timeout. <br> **Default: 30** |
| max_retries | `int` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
| backoff_factor | `float` | A backoff factor to apply between attempts after the second try. <br> **Default: 2** |
| retry_statuses | `Array of int` | The http statuses on which retry is to be done. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
| retry_methods | `Array of string` | The http methods on which retry is to be done. <br> **Default: ["GET", "PUT"]** |
| proxy_settings | [`ProxySettings`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
| logging_configuration | [`LoggingConfiguration`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/logging-configuration.md) | The SDK logging configuration for API calls |
| api_key_credentials | [`ApiKeyCredentials`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/auth/custom-header-signature.md) | The credential object for Custom Header Signature |
| bearer_auth_credentials | [`BearerAuthCredentials`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/auth/oauth-2-bearer-token.md) | The credential object for OAuth 2 Bearer token |

The API client can be initialized as follows:

### Code-Based Client Initialization

```python
import logging

from apollorestapi.apollorestapi_client import ApollorestapiClient
from apollorestapi.configuration import Environment
from apollorestapi.http.auth.api_key import ApiKeyCredentials
from apollorestapi.http.auth.bearer_auth import BearerAuthCredentials
from apollorestapi.logging.configuration.api_logging_configuration import LoggingConfiguration
from apollorestapi.logging.configuration.api_logging_configuration import RequestLoggingConfiguration
from apollorestapi.logging.configuration.api_logging_configuration import ResponseLoggingConfiguration

client = ApollorestapiClient(
    api_key_credentials=ApiKeyCredentials(
        x_api_key='x-api-key'
    ),
    bearer_auth_credentials=BearerAuthCredentials(
        access_token='AccessToken'
    ),
    environment=Environment.PRODUCTION,
    logging_configuration=LoggingConfiguration(
        log_level=logging.INFO,
        request_logging_config=RequestLoggingConfiguration(
            log_body=True
        ),
        response_logging_config=ResponseLoggingConfiguration(
            log_headers=True
        )
    )
)
```

### Environment-Based Client Initialization

```python
from apollorestapi.apollorestapi_client import ApollorestapiClient

# Specify the path to your .env file if it’s located outside the project’s root directory.
client = ApollorestapiClient.from_environment(dotenv_path='/path/to/.env')
```

See the [Environment-Based Client Initialization](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/environment-based-client-initialization.md) section for details.

## Authorization

This API uses the following authentication schemes.

* [`apiKey (Custom Header Signature)`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/auth/custom-header-signature.md)
* [`bearerAuth (OAuth 2 Bearer token)`](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/auth/oauth-2-bearer-token.md)

## List of APIs

* [Emailer Messages](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/emailer-messages.md)
* [API](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/api.md)
* [Enrichment](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/enrichment.md)
* [Search](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/search.md)
* [Accounts](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/accounts.md)
* [Contacts](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/contacts.md)
* [Deals](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/deals.md)
* [Sequences](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/sequences.md)
* [Tasks](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/tasks.md)
* [Calls](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/calls.md)
* [Conversations](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/conversations.md)
* [Analytics](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/analytics.md)
* [Miscellaneous](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/controllers/miscellaneous.md)

## SDK Infrastructure

### Configuration

* [ProxySettings](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/proxy-settings.md)
* [Environment-Based Client Initialization](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/environment-based-client-initialization.md)
* [AbstractLogger](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/abstract-logger.md)
* [LoggingConfiguration](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/logging-configuration.md)
* [RequestLoggingConfiguration](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/request-logging-configuration.md)
* [ResponseLoggingConfiguration](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/response-logging-configuration.md)

### HTTP

* [HttpResponse](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/http-response.md)
* [HttpRequest](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/http-request.md)

### Utilities

* [ApiResponse](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/api-response.md)
* [ApiHelper](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/api-helper.md)
* [HttpDateTime](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/http-date-time.md)
* [RFC3339DateTime](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/rfc3339-date-time.md)
* [UnixDateTime](https://www.github.com/sdks-io/apimatic-apollo-python-sdk/tree/0.0.1/doc/unix-date-time.md)

