# gigs-client
API to manage voice & data plans for smartphones, wearables and IoT in 200+ countries.

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

- API version: 0.0.1
- Package version: 0.0.1
- 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/SwadeshInc/gigs_py_client.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/SwadeshInc/gigs_py_client.git`)

Then import the package:
```python
import gigs_client
```

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

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import time
import gigs_client
from gigs_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.gigs.com
# See configuration.py for a list of all supported configuration parameters.
configuration = gigs_client.Configuration(
    host = "https://api.gigs.com"
)

# 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 = gigs_client.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with gigs_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = gigs_client.AddonsApi(api_client)
    project = None # object | The unique identifier for the [project](https://developers.gigs.com/docs/api/b3A6MzMwODcxMzI-retrieve-a-project).
    addon = None # object | The unique identifier for the addon.

    try:
        # Archive an addon
        api_response = api_instance.addons_archive(project, addon)
        print("The response of AddonsApi->addons_archive:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AddonsApi->addons_archive: %s\n" % e)

```

## Documentation for API Endpoints

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

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AddonsApi* | [**addons_archive**](docs/AddonsApi.md#addons_archive) | **POST** /projects/{project}/addons/{addon}/archive | Archive an addon
*AddonsApi* | [**addons_list**](docs/AddonsApi.md#addons_list) | **GET** /projects/{project}/addons | List all addons
*AddonsApi* | [**addons_publish**](docs/AddonsApi.md#addons_publish) | **POST** /projects/{project}/addons/{addon}/publish | Publish an addon
*AddonsApi* | [**addons_retrieve**](docs/AddonsApi.md#addons_retrieve) | **GET** /projects/{project}/addons/{addon} | Retrieve an addon
*AddonsApi* | [**addons_update**](docs/AddonsApi.md#addons_update) | **PATCH** /projects/{project}/addons/{addon} | Update an addon
*DevicesApi* | [**device_model_brands_list**](docs/DevicesApi.md#device_model_brands_list) | **GET** /deviceModelBrands | List all device model brands
*DevicesApi* | [**device_models_list**](docs/DevicesApi.md#device_models_list) | **GET** /deviceModels | List all device models
*DevicesApi* | [**device_models_retrieve**](docs/DevicesApi.md#device_models_retrieve) | **GET** /deviceModels/{id} | Retrieve a device model
*DevicesApi* | [**device_models_search**](docs/DevicesApi.md#device_models_search) | **POST** /deviceModels/search | Search for device models
*DevicesApi* | [**devices_create**](docs/DevicesApi.md#devices_create) | **POST** /projects/{project}/devices | Create a device
*DevicesApi* | [**devices_delete**](docs/DevicesApi.md#devices_delete) | **DELETE** /projects/{project}/devices/{id} | Delete a device
*DevicesApi* | [**devices_list**](docs/DevicesApi.md#devices_list) | **GET** /projects/{project}/devices | List all devices
*DevicesApi* | [**devices_retrieve**](docs/DevicesApi.md#devices_retrieve) | **GET** /projects/{project}/devices/{id} | Retrieve a device
*DevicesApi* | [**devices_search**](docs/DevicesApi.md#devices_search) | **POST** /projects/{project}/devices/search | Search for devices
*DevicesApi* | [**devices_update**](docs/DevicesApi.md#devices_update) | **PATCH** /projects/{project}/devices/{id} | Update a device
*PlansApi* | [**plan_documents_list**](docs/PlansApi.md#plan_documents_list) | **GET** /projects/{project}/plans/{plan}/documents | List all plan documents
*PlansApi* | [**plan_documents_retrieve**](docs/PlansApi.md#plan_documents_retrieve) | **GET** /projects/{project}/plans/{plan}/documents/{id} | Retrieve a plan document
*PlansApi* | [**plans_archive**](docs/PlansApi.md#plans_archive) | **POST** /projects/{project}/plans/{plan}/archive | Archive a plan
*PlansApi* | [**plans_list**](docs/PlansApi.md#plans_list) | **GET** /projects/{project}/plans | List all plans
*PlansApi* | [**plans_publish**](docs/PlansApi.md#plans_publish) | **POST** /projects/{project}/plans/{plan}/publish | Publish a plan
*PlansApi* | [**plans_retrieve**](docs/PlansApi.md#plans_retrieve) | **GET** /projects/{project}/plans/{plan} | Retrieve a plan
*PlansApi* | [**plans_search**](docs/PlansApi.md#plans_search) | **POST** /projects/{project}/plans/search | Search for Plans
*PlansApi* | [**plans_update**](docs/PlansApi.md#plans_update) | **PATCH** /projects/{project}/plans/{plan} | Update a plan
*PortingsApi* | [**portings_cancel**](docs/PortingsApi.md#portings_cancel) | **POST** /projects/{project}/portings/{id}/cancel | Cancel a porting
*PortingsApi* | [**portings_create**](docs/PortingsApi.md#portings_create) | **POST** /projects/{project}/portings | Create a porting
*PortingsApi* | [**portings_list**](docs/PortingsApi.md#portings_list) | **GET** /projects/{project}/portings | List all portings
*PortingsApi* | [**portings_retrieve**](docs/PortingsApi.md#portings_retrieve) | **GET** /projects/{project}/portings/{id} | Retrieve a Porting
*PortingsApi* | [**portings_update**](docs/PortingsApi.md#portings_update) | **PATCH** /projects/{project}/portings/{id} | Update a porting
*PortingsApi* | [**service_providers_list**](docs/PortingsApi.md#service_providers_list) | **GET** /serviceProviders | List all service providers
*PortingsApi* | [**service_providers_retrieve**](docs/PortingsApi.md#service_providers_retrieve) | **GET** /serviceProviders/{id} | Retrieve a service provider
*ProjectsApi* | [**projects_credentials**](docs/ProjectsApi.md#projects_credentials) | **GET** /projects/{project}/credentials | Retrieve the project credentials
*ProjectsApi* | [**projects_list**](docs/ProjectsApi.md#projects_list) | **GET** /projects | List all projects
*ProjectsApi* | [**projects_retrieve**](docs/ProjectsApi.md#projects_retrieve) | **GET** /projects/{project} | Retrieve a project
*SIMsApi* | [**sims_credentials**](docs/SIMsApi.md#sims_credentials) | **GET** /projects/{project}/sims/{id}/credentials | Retrieve the SIM credentials
*SIMsApi* | [**sims_list**](docs/SIMsApi.md#sims_list) | **GET** /projects/{project}/sims | List all SIMs
*SIMsApi* | [**sims_retrieve**](docs/SIMsApi.md#sims_retrieve) | **GET** /projects/{project}/sims/{id} | Retrieve a SIM
*SIMsApi* | [**sims_search**](docs/SIMsApi.md#sims_search) | **POST** /projects/{project}/sims/search | Search for SIMs
*SubscriptionAddonsApi* | [**subscription_addons_create**](docs/SubscriptionAddonsApi.md#subscription_addons_create) | **POST** /projects/{project}/subscriptionAddons | Create a subscription addon
*SubscriptionAddonsApi* | [**subscription_addons_end**](docs/SubscriptionAddonsApi.md#subscription_addons_end) | **DELETE** /projects/{project}/subscriptionAddons/{id} | End a subscription addon
*SubscriptionAddonsApi* | [**subscription_addons_list**](docs/SubscriptionAddonsApi.md#subscription_addons_list) | **GET** /projects/{project}/subscriptionAddons | List all subscription addons
*SubscriptionAddonsApi* | [**subscription_addons_retrieve**](docs/SubscriptionAddonsApi.md#subscription_addons_retrieve) | **GET** /projects/{project}/subscriptionAddons/{id} | Retrieve a subscription addon
*SubscriptionChangesApi* | [**subscription_changes_create**](docs/SubscriptionChangesApi.md#subscription_changes_create) | **POST** /projects/{project}/subscriptionChanges | Create a subscription change
*SubscriptionChangesApi* | [**subscription_changes_delete**](docs/SubscriptionChangesApi.md#subscription_changes_delete) | **DELETE** /projects/{project}/subscriptionChanges/{id} | Delete a subscription change
*SubscriptionChangesApi* | [**subscription_changes_list**](docs/SubscriptionChangesApi.md#subscription_changes_list) | **GET** /projects/{project}/subscriptionChanges | List all subscription changes
*SubscriptionChangesApi* | [**subscription_changes_retrieve**](docs/SubscriptionChangesApi.md#subscription_changes_retrieve) | **GET** /projects/{project}/subscriptionChanges/{id} | Retrieve a subscription change
*SubscriptionsApi* | [**subscriptions_cancel**](docs/SubscriptionsApi.md#subscriptions_cancel) | **POST** /projects/{project}/subscriptions/{id}/cancel | Cancel an active subscription
*SubscriptionsApi* | [**subscriptions_create**](docs/SubscriptionsApi.md#subscriptions_create) | **POST** /projects/{project}/subscriptions | Create a subscription
*SubscriptionsApi* | [**subscriptions_end**](docs/SubscriptionsApi.md#subscriptions_end) | **DELETE** /projects/{project}/subscriptions/{id} | End an active subscription
*SubscriptionsApi* | [**subscriptions_list**](docs/SubscriptionsApi.md#subscriptions_list) | **GET** /projects/{project}/subscriptions | List all subscriptions
*SubscriptionsApi* | [**subscriptions_resume**](docs/SubscriptionsApi.md#subscriptions_resume) | **POST** /projects/{project}/subscriptions/{id}/resume | Resume a canceled subscription
*SubscriptionsApi* | [**subscriptions_retrieve**](docs/SubscriptionsApi.md#subscriptions_retrieve) | **GET** /projects/{project}/subscriptions/{id} | Retrieve a subscription
*SubscriptionsApi* | [**subscriptions_search**](docs/SubscriptionsApi.md#subscriptions_search) | **POST** /projects/{project}/subscriptions/search | Search for subscriptions
*UsageApi* | [**subscription_usage_list**](docs/UsageApi.md#subscription_usage_list) | **GET** /projects/{project}/subscriptions/{id}/usage | List subscription usage records
*UserAddressesApi* | [**user_addresses_create**](docs/UserAddressesApi.md#user_addresses_create) | **POST** /projects/{project}/users/{user}/addresses | Create a user address
*UserAddressesApi* | [**user_addresses_delete**](docs/UserAddressesApi.md#user_addresses_delete) | **DELETE** /projects/{project}/users/{user}/addresses/{id} | Delete a user address
*UserAddressesApi* | [**user_addresses_list**](docs/UserAddressesApi.md#user_addresses_list) | **GET** /projects/{project}/users/{user}/addresses | List all user addresses
*UserAddressesApi* | [**user_addresses_retrieve**](docs/UserAddressesApi.md#user_addresses_retrieve) | **GET** /projects/{project}/users/{user}/addresses/{id} | Retrieve a user address
*UsersApi* | [**users_create**](docs/UsersApi.md#users_create) | **POST** /projects/{project}/users | Create a user
*UsersApi* | [**users_delete**](docs/UsersApi.md#users_delete) | **DELETE** /projects/{project}/users/{id} | Delete a user
*UsersApi* | [**users_list**](docs/UsersApi.md#users_list) | **GET** /projects/{project}/users | List all users
*UsersApi* | [**users_retrieve**](docs/UsersApi.md#users_retrieve) | **GET** /projects/{project}/users/{id} | Retrieve a user
*UsersApi* | [**users_search**](docs/UsersApi.md#users_search) | **POST** /projects/{project}/users/search | Search for users
*UsersApi* | [**users_update**](docs/UsersApi.md#users_update) | **PATCH** /projects/{project}/users/{id} | Update a user


## Documentation For Models

 - [Addon](docs/Addon.md)
 - [AddonPrice](docs/AddonPrice.md)
 - [AddonValidity](docs/AddonValidity.md)
 - [AddonsList200Response](docs/AddonsList200Response.md)
 - [AddonsUpdateRequest](docs/AddonsUpdateRequest.md)
 - [Coverage](docs/Coverage.md)
 - [Device](docs/Device.md)
 - [DeviceModel](docs/DeviceModel.md)
 - [DeviceModelBrands](docs/DeviceModelBrands.md)
 - [DeviceModelsSearch200Response](docs/DeviceModelsSearch200Response.md)
 - [DeviceModelsSearchRequest](docs/DeviceModelsSearchRequest.md)
 - [DeviceUser](docs/DeviceUser.md)
 - [DevicesCreateRequest](docs/DevicesCreateRequest.md)
 - [DevicesSearch200Response](docs/DevicesSearch200Response.md)
 - [DevicesSearchRequest](docs/DevicesSearchRequest.md)
 - [DevicesUpdateRequest](docs/DevicesUpdateRequest.md)
 - [Error](docs/Error.md)
 - [Organization](docs/Organization.md)
 - [Period](docs/Period.md)
 - [Plan](docs/Plan.md)
 - [PlanDocument](docs/PlanDocument.md)
 - [PlanDocumentsList200Response](docs/PlanDocumentsList200Response.md)
 - [PlanRequirements](docs/PlanRequirements.md)
 - [PlansSearch200Response](docs/PlansSearch200Response.md)
 - [PlansSearchRequest](docs/PlansSearchRequest.md)
 - [PlansSearchRequestCompatibleWith](docs/PlansSearchRequestCompatibleWith.md)
 - [PlansUpdateRequest](docs/PlansUpdateRequest.md)
 - [Porting](docs/Porting.md)
 - [PortingDonorProvider](docs/PortingDonorProvider.md)
 - [PortingRecipientProvider](docs/PortingRecipientProvider.md)
 - [PortingsCreateRequest](docs/PortingsCreateRequest.md)
 - [PortingsList200Response](docs/PortingsList200Response.md)
 - [PortingsUpdateRequest](docs/PortingsUpdateRequest.md)
 - [Price](docs/Price.md)
 - [Project](docs/Project.md)
 - [ProjectCredentials](docs/ProjectCredentials.md)
 - [ProjectLegal](docs/ProjectLegal.md)
 - [ProjectPayments](docs/ProjectPayments.md)
 - [ProjectSupport](docs/ProjectSupport.md)
 - [ProjectsList200Response](docs/ProjectsList200Response.md)
 - [PropertyErrorDetailError](docs/PropertyErrorDetailError.md)
 - [ServiceProvider](docs/ServiceProvider.md)
 - [ServiceProvidersList200Response](docs/ServiceProvidersList200Response.md)
 - [Sim](docs/Sim.md)
 - [SimCredentials](docs/SimCredentials.md)
 - [SimsSearch200Response](docs/SimsSearch200Response.md)
 - [SimsSearchRequest](docs/SimsSearchRequest.md)
 - [Subscription](docs/Subscription.md)
 - [SubscriptionAddon](docs/SubscriptionAddon.md)
 - [SubscriptionAddonAddon](docs/SubscriptionAddonAddon.md)
 - [SubscriptionAddonCurrentPeriod](docs/SubscriptionAddonCurrentPeriod.md)
 - [SubscriptionAddonsCreateRequest](docs/SubscriptionAddonsCreateRequest.md)
 - [SubscriptionAddonsList200Response](docs/SubscriptionAddonsList200Response.md)
 - [SubscriptionChange](docs/SubscriptionChange.md)
 - [SubscriptionChangePlan](docs/SubscriptionChangePlan.md)
 - [SubscriptionChangesCreateRequest](docs/SubscriptionChangesCreateRequest.md)
 - [SubscriptionChangesList200Response](docs/SubscriptionChangesList200Response.md)
 - [SubscriptionCurrentPeriod](docs/SubscriptionCurrentPeriod.md)
 - [SubscriptionPorting](docs/SubscriptionPorting.md)
 - [SubscriptionSim](docs/SubscriptionSim.md)
 - [SubscriptionUsageList200Response](docs/SubscriptionUsageList200Response.md)
 - [SubscriptionsCreateRequest](docs/SubscriptionsCreateRequest.md)
 - [SubscriptionsSearch200Response](docs/SubscriptionsSearch200Response.md)
 - [SubscriptionsSearchRequest](docs/SubscriptionsSearchRequest.md)
 - [UsageRecord](docs/UsageRecord.md)
 - [User](docs/User.md)
 - [UserAddress](docs/UserAddress.md)
 - [UserAddressesCreateRequest](docs/UserAddressesCreateRequest.md)
 - [UserAddressesList200Response](docs/UserAddressesList200Response.md)
 - [UsersCreateRequest](docs/UsersCreateRequest.md)
 - [UsersSearch200Response](docs/UsersSearch200Response.md)
 - [UsersSearchRequest](docs/UsersSearchRequest.md)
 - [UsersUpdateRequest](docs/UsersUpdateRequest.md)
 - [Validity](docs/Validity.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@gigs.com


