Metadata-Version: 2.4
Name: agent_push_kit
Version: 0.1.0
Summary: Agent Push Kit API
Home-page: https://github.com/JustinBStrong/agent-push-kit-python
Author: Agent Push Kit
Author-email: Justin Strong <JustinBStrong@users.noreply.github.com>
License-Expression: MIT
Project-URL: Homepage, https://agentpushkit.com
Project-URL: Documentation, https://agentpushkit.com/docs/sdks
Project-URL: Repository, https://github.com/JustinBStrong/agent-push-kit-python
Project-URL: Issues, https://github.com/JustinBStrong/agent-push-kit-python/issues
Keywords: OpenAPI,OpenAPI-Generator,Agent Push Kit API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3<3.0.0,>=2.6.3
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: home-page
Dynamic: license-file

# agent-push-kit
The complete Agent Push Kit REST API. Application event ingestion uses an organization key beginning with `apk_`. Authenticated user operations accept either an Agent Push Kit login JWT or an agent access token beginning with `apt_`.

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

- API version: 0.1.0
- Package version: 0.1.0
- Generator version: 7.24.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://agentpushkit.com](https://agentpushkit.com)

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

Then import the package:
```python
import agent_push_kit
```

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

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import agent_push_kit
from agent_push_kit.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.chatdna.co/agent-push-kit/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = agent_push_kit.Configuration(
    host = "https://api.chatdna.co/agent-push-kit/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 (Agent Push Kit JWT or apt_ token): UserOrAgent
configuration = agent_push_kit.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with agent_push_kit.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = agent_push_kit.AccountApi(api_client)

    try:
        # Delete the current user and customer accounts they own
        api_response = api_instance.delete_current_account()
        print("The response of AccountApi->delete_current_account:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AccountApi->delete_current_account: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.chatdna.co/agent-push-kit/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AccountApi* | [**delete_current_account**](docs/AccountApi.md#delete_current_account) | **DELETE** /me | Delete the current user and customer accounts they own
*AccountApi* | [**get_current_account**](docs/AccountApi.md#get_current_account) | **GET** /me | Get the current user and customer accounts
*AgentTokensApi* | [**call_mcp**](docs/AgentTokensApi.md#call_mcp) | **POST** /mcp | Connect through stateless MCP Streamable HTTP
*AgentTokensApi* | [**create_agent_token**](docs/AgentTokensApi.md#create_agent_token) | **POST** /agent-tokens | Create a named non-expiring agent token
*AgentTokensApi* | [**list_agent_tokens**](docs/AgentTokensApi.md#list_agent_tokens) | **GET** /agent-tokens | List agent access tokens without their secrets
*AgentTokensApi* | [**revoke_agent_token**](docs/AgentTokensApi.md#revoke_agent_token) | **DELETE** /agent-tokens/{tokenId} | Revoke one of the current user&#39;s agent tokens
*AuthenticationApi* | [**complete_password_reset**](docs/AuthenticationApi.md#complete_password_reset) | **POST** /auth/password-reset/complete | Choose a new password and log in
*AuthenticationApi* | [**login_with_apple**](docs/AuthenticationApi.md#login_with_apple) | **POST** /auth/apple | Log in or attach an account using a Sign in with Apple identity token
*AuthenticationApi* | [**login_with_google**](docs/AuthenticationApi.md#login_with_google) | **POST** /auth/google | Log in or attach an account using a verified Google ID token
*AuthenticationApi* | [**login_with_password**](docs/AuthenticationApi.md#login_with_password) | **POST** /auth/login | Log in with email and password
*AuthenticationApi* | [**register**](docs/AuthenticationApi.md#register) | **POST** /auth/register | Create a user and first customer account
*AuthenticationApi* | [**request_password_reset**](docs/AuthenticationApi.md#request_password_reset) | **POST** /auth/password-reset/request | Email a single-use password reset token
*CustomerAccountsApi* | [**add_organization_member**](docs/CustomerAccountsApi.md#add_organization_member) | **POST** /organizations/{organizationId}/members | Add an already-registered user to a customer account
*CustomerAccountsApi* | [**create_organization**](docs/CustomerAccountsApi.md#create_organization) | **POST** /organizations | Create another Agent Push Kit customer account
*CustomerAccountsApi* | [**list_organization_members**](docs/CustomerAccountsApi.md#list_organization_members) | **GET** /organizations/{organizationId}/members | List members of a customer account
*CustomerAccountsApi* | [**list_organizations**](docs/CustomerAccountsApi.md#list_organizations) | **GET** /organizations | List customer accounts available to the current user
*CustomerAccountsApi* | [**regenerate_organization_api_key**](docs/CustomerAccountsApi.md#regenerate_organization_api_key) | **POST** /organizations/{organizationId}/api-key/regenerate | Rotate the application event-ingestion key
*DevicesApi* | [**get_web_push_configuration**](docs/DevicesApi.md#get_web_push_configuration) | **GET** /web-push/configuration | Get browser push availability and its public VAPID key
*DevicesApi* | [**register_device**](docs/DevicesApi.md#register_device) | **POST** /devices | Register or refresh an APNs device
*DevicesApi* | [**register_web_push_subscription**](docs/DevicesApi.md#register_web_push_subscription) | **POST** /web-push/subscriptions | Register or refresh a browser push subscription
*DevicesApi* | [**remove_device**](docs/DevicesApi.md#remove_device) | **DELETE** /devices/{installationId} | Disable push delivery to one installation
*DevicesApi* | [**remove_web_push_subscription**](docs/DevicesApi.md#remove_web_push_subscription) | **DELETE** /web-push/subscriptions/{subscriptionId} | Disable a browser push subscription
*EventsApi* | [**get_event**](docs/EventsApi.md#get_event) | **GET** /organizations/{organizationId}/events/{eventId} | Get one event including metadata
*EventsApi* | [**list_events**](docs/EventsApi.md#list_events) | **GET** /organizations/{organizationId}/events | List a paginated inbox
*EventsApi* | [**list_notification_types**](docs/EventsApi.md#list_notification_types) | **GET** /organizations/{organizationId}/types | List distinct notification types
*EventsApi* | [**list_services**](docs/EventsApi.md#list_services) | **GET** /organizations/{organizationId}/services | List services discovered from ingested events
*EventsApi* | [**search_events**](docs/EventsApi.md#search_events) | **POST** /organizations/{organizationId}/events/search | Search events with a validated Boolean filter tree
*EventsApi* | [**send_event**](docs/EventsApi.md#send_event) | **POST** /events | Send an event using an application ingestion key
*EventsApi* | [**send_event_as_user**](docs/EventsApi.md#send_event_as_user) | **POST** /organizations/{organizationId}/events | Send an event as an authenticated user or agent
*HealthApi* | [**get_health**](docs/HealthApi.md#get_health) | **GET** /health | Check Agent Push Kit API health
*PreferencesApi* | [**list_preferences**](docs/PreferencesApi.md#list_preferences) | **GET** /organizations/{organizationId}/preferences | List service defaults and exact-type overrides
*PreferencesApi* | [**remove_type_preference**](docs/PreferencesApi.md#remove_type_preference) | **DELETE** /services/{serviceId}/types/{type}/preference | Remove an exact-type override so it inherits the service default
*PreferencesApi* | [**set_service_preference**](docs/PreferencesApi.md#set_service_preference) | **PUT** /services/{serviceId}/preference | Enable or disable pushes for a service by default
*PreferencesApi* | [**set_type_preference**](docs/PreferencesApi.md#set_type_preference) | **PUT** /services/{serviceId}/types/{type}/preference | Override push delivery for one exact notification type


## Documentation For Models

 - [AcceptedResponse](docs/AcceptedResponse.md)
 - [AddMemberInput](docs/AddMemberInput.md)
 - [AgentToken](docs/AgentToken.md)
 - [AgentTokenCreated](docs/AgentTokenCreated.md)
 - [ApiKeySummary](docs/ApiKeySummary.md)
 - [AuthResponse](docs/AuthResponse.md)
 - [CreateAgentTokenInput](docs/CreateAgentTokenInput.md)
 - [CreateOrganizationInput](docs/CreateOrganizationInput.md)
 - [CurrentAccount](docs/CurrentAccount.md)
 - [DeletedResponse](docs/DeletedResponse.md)
 - [DeliverySummary](docs/DeliverySummary.md)
 - [Device](docs/Device.md)
 - [DisabledResponse](docs/DisabledResponse.md)
 - [ErrorResponse](docs/ErrorResponse.md)
 - [EventDetail](docs/EventDetail.md)
 - [EventFilter](docs/EventFilter.md)
 - [EventPage](docs/EventPage.md)
 - [EventSummary](docs/EventSummary.md)
 - [FilterGroup](docs/FilterGroup.md)
 - [FilterNot](docs/FilterNot.md)
 - [HealthResponse](docs/HealthResponse.md)
 - [IngestionResult](docs/IngestionResult.md)
 - [InheritedResponse](docs/InheritedResponse.md)
 - [Membership](docs/Membership.md)
 - [MembershipUser](docs/MembershipUser.md)
 - [Organization](docs/Organization.md)
 - [OrganizationApiKeyCreated](docs/OrganizationApiKeyCreated.md)
 - [OrganizationCount](docs/OrganizationCount.md)
 - [OrganizationCreated](docs/OrganizationCreated.md)
 - [OrganizationRecord](docs/OrganizationRecord.md)
 - [PasswordLoginInput](docs/PasswordLoginInput.md)
 - [PasswordResetCompleteInput](docs/PasswordResetCompleteInput.md)
 - [PasswordResetRequestInput](docs/PasswordResetRequestInput.md)
 - [PreferenceRecord](docs/PreferenceRecord.md)
 - [ProviderLoginInput](docs/ProviderLoginInput.md)
 - [RegisterDeviceInput](docs/RegisterDeviceInput.md)
 - [RegisterInput](docs/RegisterInput.md)
 - [RegisterWebPushSubscriptionInput](docs/RegisterWebPushSubscriptionInput.md)
 - [RegisterWebPushSubscriptionInputKeys](docs/RegisterWebPushSubscriptionInputKeys.md)
 - [RevokedResponse](docs/RevokedResponse.md)
 - [SearchEventsInput](docs/SearchEventsInput.md)
 - [SendEventInput](docs/SendEventInput.md)
 - [Service](docs/Service.md)
 - [ServiceAllOfCount](docs/ServiceAllOfCount.md)
 - [ServicePreference](docs/ServicePreference.md)
 - [ServiceSummary](docs/ServiceSummary.md)
 - [SetEnabledInput](docs/SetEnabledInput.md)
 - [TextFilterCondition](docs/TextFilterCondition.md)
 - [TimeFilterCondition](docs/TimeFilterCondition.md)
 - [TypeOverride](docs/TypeOverride.md)
 - [User](docs/User.md)
 - [WebPushConfiguration](docs/WebPushConfiguration.md)
 - [WebPushSubscription](docs/WebPushSubscription.md)


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


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

- **Type**: Bearer authentication (Agent Push Kit JWT or apt_ token)

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

- **Type**: Bearer authentication (apt_)

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

- **Type**: Bearer authentication (apk_)


## Author




