Metadata-Version: 2.1
Name: callchimp
Version: 0.1.4
Summary: Callchimp Python SDK
Home-page: https://github.com/callchimp/python-sdk
Author: Dynopii
Author-email: hello@dynopii.com
Keywords: callchimp,calling,ai,calls,calling-ai,callchimp-ai,ai-tools,dynopii
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3 <2.1.0,>=1.25.3
Requires-Dist: python-dateutil
Requires-Dist: pydantic >=2
Requires-Dist: typing-extensions >=4.7.1

# callchimp

## Introduction👋
Introducing OpenAPI spec for doing almost anything in [callchimp.ai](https://callchimp.ai). CallChimp is a Gen AI Call Center Enhancing telecommunication with GPT-driven bulk calling. It is scalable, user-friendly, and customizable. Optimized for seamless integration and usability.

## API Categories📋
The APIs are divided in 9 categories listed below:
  - Campaigns
  - Supervisors
  - Lists
  - Subscribers
  - Calls
  - Phone Numbers
  - Webhooks
  - Scripts
  - Voices

## API Operations✅
### Campaign Operations

  - List Campaigns
  - Create a Campaign
  - Get Campaign by Id
  - Delete Campaign by Id
  - Update Campaign by Id
  - Add Supervisors to Campaign by Id
  - Remove Supervisors from Campaign by Id
  - Upload audio file to Campaign by Id
  - Search Campaign by Name or Id

### Supervisor Operations

  - List Supervisors
  - Create a Supervisor
  - Get Supervisor by Id
  - Delete Supervisor by Id
  - Update Supervisor by Id
  - Send OTP to Supervisor by Id
  - Verify Supervisor OTP by Id

### List Operations

  - List Lists
  - Create a List
  - Get List by Id
  - Delete List by Id
  - Update List by Id
  - Search List by Name or Id
  - Create Campaign with Default List

### Subscriber Operations

  - List Subscribers
  - Create one or more Subscriber(s)
  - Get Subscriber by Id
  - Delete Subscriber by Id
  - Update Subscriber by Id
  - Get Subscriber by Vendor Lead Code
  - Delete Subscriber by Vendor Lead Code
  - Update Subscriber by Vendor Lead Code

### Call Operations

  - List Calls
  - Create a Call
  - Get Call by Id
  - List Supervisor Inbound Calls
  - Generate Call Reports

### Phone Number Operations

  - List Phone Numbers

### Webhook Operations

  - List Webhooks
  - Create a Webhook
  - Get Webhook by Id
  - Delete Webhook by Id
  - Update Webhook by Id

### Script Operations

  - List Scripts
  - Create a Script
  - Get Script by Id
  - Delete Script by Id
  - Update Script by Id

### Voice Operations
  - List Available Voices

## Authentication🔐
Callchimp public API offers authentication with API Keys. All endpoints accepts a header named `x-api-key`. To get started follow the below steps:

  1. Login to callchimp dashboard.
  2. Click on your profile on the top-right corner.
  3. Click on Settings.
  4. On the settings page, click on `API Keys` tab.
  5. Click on `Create` button, add a name and an expiry date and click on `Add`.
  6. An API Key will be generated, please save the key somewhere safe as it won't be shown again!
  7. You can use the API Key directly here in this playground to test out the APIs.


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

- API version: 1.0.0
- Package version: 0.1.4
- Generator version: 7.6.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.7+

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

Then import the package:
```python
import callchimp
```

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

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import callchimp
from callchimp.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.callchimp.ai/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = callchimp.Configuration(
    host = "https://api.callchimp.ai/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: x-api-key
configuration.api_key['x-api-key'] = os.environ["API_KEY"]

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


# Enter a context with an instance of the API client
with callchimp.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = callchimp.CallsApi(api_client)
    id = 56 # int | Numeric call id to get

    try:
        # Get Call by Id
        api_response = api_instance.calls_get(id)
        print("The response of CallsApi->calls_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling CallsApi->calls_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.callchimp.ai/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*CallsApi* | [**calls_get**](docs/CallsApi.md#calls_get) | **GET** /calls/{Id} | Get Call by Id
*CallsApi* | [**calls_list_inbound**](docs/CallsApi.md#calls_list_inbound) | **GET** /calls/inbound | List Supervisor Inbound Calls
*CallsApi* | [**calls_list_outbound**](docs/CallsApi.md#calls_list_outbound) | **GET** /calls | List Calls
*CallsApi* | [**calls_post**](docs/CallsApi.md#calls_post) | **POST** /calls | Create a Call
*CallsApi* | [**calls_reports**](docs/CallsApi.md#calls_reports) | **POST** /calls/reports | Generate Call Reports
*CampaignsApi* | [**campaigns_addsuper**](docs/CampaignsApi.md#campaigns_addsuper) | **POST** /campaigns/{Id}/add_super | Add Supervisors to Campaign by Id
*CampaignsApi* | [**campaigns_delete**](docs/CampaignsApi.md#campaigns_delete) | **DELETE** /campaigns/{Id} | Delete Campaign by Id
*CampaignsApi* | [**campaigns_find**](docs/CampaignsApi.md#campaigns_find) | **POST** /campaigns/find | Search Campaign by Name or Id
*CampaignsApi* | [**campaigns_get**](docs/CampaignsApi.md#campaigns_get) | **GET** /campaigns/{Id} | Get Campaign by Id
*CampaignsApi* | [**campaigns_list**](docs/CampaignsApi.md#campaigns_list) | **GET** /campaigns | List campaigns
*CampaignsApi* | [**campaigns_post**](docs/CampaignsApi.md#campaigns_post) | **POST** /campaigns | Create a Campaign
*CampaignsApi* | [**campaigns_removesuper**](docs/CampaignsApi.md#campaigns_removesuper) | **POST** /campaigns/{Id}/remove_super | Remove Supervisors from Campaign by Id
*CampaignsApi* | [**campaigns_update**](docs/CampaignsApi.md#campaigns_update) | **PATCH** /campaigns/{Id} | Update Campaign by Id
*CampaignsApi* | [**campaigns_uploadblast**](docs/CampaignsApi.md#campaigns_uploadblast) | **PATCH** /campaigns/{Id}/upload_blast_file | Upload audio file to Campaign by Id
*ListsApi* | [**lists_create_campaign_and_list**](docs/ListsApi.md#lists_create_campaign_and_list) | **POST** /lists/create_campaign_and_list | Create Campaign with Default List
*ListsApi* | [**lists_delete**](docs/ListsApi.md#lists_delete) | **DELETE** /lists/{Id} | Delete List by Id
*ListsApi* | [**lists_find**](docs/ListsApi.md#lists_find) | **POST** /lists/find | Search List by Name or Id
*ListsApi* | [**lists_get**](docs/ListsApi.md#lists_get) | **GET** /lists/{Id} | Get List by Id
*ListsApi* | [**lists_list**](docs/ListsApi.md#lists_list) | **GET** /lists | List Lists
*ListsApi* | [**lists_post**](docs/ListsApi.md#lists_post) | **POST** /lists | Create a List
*ListsApi* | [**lists_update**](docs/ListsApi.md#lists_update) | **PATCH** /lists/{Id} | Update List by Id
*PhoneNumbersApi* | [**phone_numbers_list**](docs/PhoneNumbersApi.md#phone_numbers_list) | **GET** /phone_numbers | List Phone Numbers
*ScriptsApi* | [**scripts_delete**](docs/ScriptsApi.md#scripts_delete) | **DELETE** /scripts/{Id} | Delete Script by Id
*ScriptsApi* | [**scripts_get**](docs/ScriptsApi.md#scripts_get) | **GET** /scripts/{Id} | Get Script by Id
*ScriptsApi* | [**scripts_list**](docs/ScriptsApi.md#scripts_list) | **GET** /scripts | List Script
*ScriptsApi* | [**scripts_post**](docs/ScriptsApi.md#scripts_post) | **POST** /scripts | Create a Script
*ScriptsApi* | [**scripts_update**](docs/ScriptsApi.md#scripts_update) | **PATCH** /scripts/{Id} | Update Script by Id
*SubscribersApi* | [**subscribers_delete**](docs/SubscribersApi.md#subscribers_delete) | **DELETE** /subscribers/{Id} | Delete Subscriber by Id
*SubscribersApi* | [**subscribers_get**](docs/SubscribersApi.md#subscribers_get) | **GET** /subscribers/{Id} | Get Subscriber by Id
*SubscribersApi* | [**subscribers_list**](docs/SubscribersApi.md#subscribers_list) | **GET** /subscribers | List Subscribers
*SubscribersApi* | [**subscribers_post**](docs/SubscribersApi.md#subscribers_post) | **POST** /subscribers | Create one or more Subscriber(s)
*SubscribersApi* | [**subscribers_update**](docs/SubscribersApi.md#subscribers_update) | **PATCH** /subscribers/{Id} | Update Subscriber by Id
*SubscribersApi* | [**subscribers_vendor_delete**](docs/SubscribersApi.md#subscribers_vendor_delete) | **DELETE** /subscribers/vendor/{vendor_lead_code} | Delete Subscriber by Vendor Lead Code
*SubscribersApi* | [**subscribers_vendor_get**](docs/SubscribersApi.md#subscribers_vendor_get) | **GET** /subscribers/vendor/{vendor_lead_code} | Get Subscriber by Vendor Lead Code
*SubscribersApi* | [**subscribers_vendor_update**](docs/SubscribersApi.md#subscribers_vendor_update) | **PATCH** /subscribers/vendor/{vendor_lead_code} | Update Subscriber by Vendor Lead Code
*SupervisorsApi* | [**supervisors_delete**](docs/SupervisorsApi.md#supervisors_delete) | **DELETE** /supervisors/{Id} | Delete Supervisor by Id
*SupervisorsApi* | [**supervisors_get**](docs/SupervisorsApi.md#supervisors_get) | **GET** /supervisors/{Id} | Get Supervisor by Id
*SupervisorsApi* | [**supervisors_list**](docs/SupervisorsApi.md#supervisors_list) | **GET** /supervisors | List Supervisors
*SupervisorsApi* | [**supervisors_post**](docs/SupervisorsApi.md#supervisors_post) | **POST** /supervisors | Create a Supervisor
*SupervisorsApi* | [**supervisors_sendotp**](docs/SupervisorsApi.md#supervisors_sendotp) | **POST** /supervisors/{Id}/send_otp | Send OTP to Supervisor by Id
*SupervisorsApi* | [**supervisors_update**](docs/SupervisorsApi.md#supervisors_update) | **PATCH** /supervisors/{Id} | Update Supervisor by Id
*SupervisorsApi* | [**supervisors_verifyotp**](docs/SupervisorsApi.md#supervisors_verifyotp) | **POST** /supervisors/{Id}/verify_otp | Verify Supervisor OTP by Id
*VoicesApi* | [**voices_list**](docs/VoicesApi.md#voices_list) | **GET** /voices | List Available Voices
*WebhooksApi* | [**webhooks_delete**](docs/WebhooksApi.md#webhooks_delete) | **DELETE** /webhooks/{Id} | Delete Webhook by Id
*WebhooksApi* | [**webhooks_get**](docs/WebhooksApi.md#webhooks_get) | **GET** /webhooks/{Id} | Get Webhook by Id
*WebhooksApi* | [**webhooks_list**](docs/WebhooksApi.md#webhooks_list) | **GET** /webhooks | List Webhooks
*WebhooksApi* | [**webhooks_post**](docs/WebhooksApi.md#webhooks_post) | **POST** /webhooks | Create a Webhook
*WebhooksApi* | [**webhooks_update**](docs/WebhooksApi.md#webhooks_update) | **PATCH** /webhooks/{Id} | Update Webhook by Id


## Documentation For Models

 - [CallListResponse](docs/CallListResponse.md)
 - [CallReportRequest](docs/CallReportRequest.md)
 - [CallReportResponse](docs/CallReportResponse.md)
 - [CallReportResponseAnsweredCalls](docs/CallReportResponseAnsweredCalls.md)
 - [CallReportResponseStatsInner](docs/CallReportResponseStatsInner.md)
 - [CallRequestByLeadId](docs/CallRequestByLeadId.md)
 - [CallRequestByVendorLeadCode](docs/CallRequestByVendorLeadCode.md)
 - [CallResponse](docs/CallResponse.md)
 - [CallsPostRequest](docs/CallsPostRequest.md)
 - [CampaignAddSuperRequest](docs/CampaignAddSuperRequest.md)
 - [CampaignAddSuperResponse](docs/CampaignAddSuperResponse.md)
 - [CampaignFindRequest](docs/CampaignFindRequest.md)
 - [CampaignListResponse](docs/CampaignListResponse.md)
 - [CampaignListsRequest](docs/CampaignListsRequest.md)
 - [CampaignRemoveSuperRequest](docs/CampaignRemoveSuperRequest.md)
 - [CampaignRemoveSuperResponse](docs/CampaignRemoveSuperResponse.md)
 - [CampaignRequest](docs/CampaignRequest.md)
 - [CampaignResponse](docs/CampaignResponse.md)
 - [CampaignUpdateRequest](docs/CampaignUpdateRequest.md)
 - [CampaignUploadAudioResponse](docs/CampaignUploadAudioResponse.md)
 - [InboundCallListResponse](docs/InboundCallListResponse.md)
 - [InboundCallResponse](docs/InboundCallResponse.md)
 - [InboundCallResponseCallchimpNumber](docs/InboundCallResponseCallchimpNumber.md)
 - [InboundCallResponseSupervisor](docs/InboundCallResponseSupervisor.md)
 - [ListFindRequest](docs/ListFindRequest.md)
 - [ListsListResponse](docs/ListsListResponse.md)
 - [ListsRequest](docs/ListsRequest.md)
 - [ListsResponse](docs/ListsResponse.md)
 - [Model4XXResponse](docs/Model4XXResponse.md)
 - [Model4XXResponseErrorsInner](docs/Model4XXResponseErrorsInner.md)
 - [PhoneNumberListResponse](docs/PhoneNumberListResponse.md)
 - [PhoneNumberResponse](docs/PhoneNumberResponse.md)
 - [ScriptListResponse](docs/ScriptListResponse.md)
 - [ScriptRequest](docs/ScriptRequest.md)
 - [ScriptResponse](docs/ScriptResponse.md)
 - [SubscriberListResponse](docs/SubscriberListResponse.md)
 - [SubscriberRequest](docs/SubscriberRequest.md)
 - [SubscriberResponse](docs/SubscriberResponse.md)
 - [SubscriberUpdateRequest](docs/SubscriberUpdateRequest.md)
 - [SubscribersPost200Response](docs/SubscribersPost200Response.md)
 - [SubscribersPostRequest](docs/SubscribersPostRequest.md)
 - [SupervisorListResponse](docs/SupervisorListResponse.md)
 - [SupervisorRequest](docs/SupervisorRequest.md)
 - [SupervisorResponse](docs/SupervisorResponse.md)
 - [SupervisorSendOtpResponse](docs/SupervisorSendOtpResponse.md)
 - [SupervisorVerifyOtpRequest](docs/SupervisorVerifyOtpRequest.md)
 - [SupervisorVerifyOtpResponse](docs/SupervisorVerifyOtpResponse.md)
 - [TransactionCallRequestByLeadId](docs/TransactionCallRequestByLeadId.md)
 - [VoiceResponse](docs/VoiceResponse.md)
 - [WebhookListResponse](docs/WebhookListResponse.md)
 - [WebhookRequest](docs/WebhookRequest.md)
 - [WebhookResponse](docs/WebhookResponse.md)


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


Authentication schemes defined for the API:
<a id="x-api-key"></a>
### x-api-key

- **Type**: API key
- **API key parameter name**: x-api-key
- **Location**: HTTP header


## Author
Dynopii Inc.

