# AgentPushKit

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

## Building

To install the required dependencies and to build the elixir project, run:

```console
mix local.hex --force
mix do deps.get, compile
```

## Installation

If [available in Hex][], the package can be installed by adding `agent_push_kit` to
your list of dependencies in `mix.exs`:

```elixir
def deps do
  [{:agent_push_kit, "~> 0.1.0"}]
end
```

Documentation can be generated with [ExDoc][] and published on [HexDocs][]. Once published, the docs can be found at
[https://hexdocs.pm/agent_push_kit][docs].

## Configuration

You can override the URL of your server (e.g. if you have a separate development and production server in your
configuration files).

```elixir
config :agent_push_kit, base_url: "https://api.chatdna.co/agent-push-kit/v1"
```

Multiple clients for the same API with different URLs can be created passing different `base_url`s when calling
`AgentPushKit.Connection.new/1`:

```elixir
client = AgentPushKit.Connection.new(base_url: "https://api.chatdna.co/agent-push-kit/v1")
```

[exdoc]: https://github.com/elixir-lang/ex_doc
[hexdocs]: https://hexdocs.pm
[available in hex]: https://hex.pm/docs/publish
[docs]: https://hexdocs.pm/agent_push_kit
