# NOTE: This file is auto generated by OpenAPI Generator 6.1.1-SNAPSHOT (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule BrazeEx.Api.ExportKPI do
@moduledoc """
API calls for all endpoints tagged `ExportKPI`.
"""
alias BrazeEx.Connection
import BrazeEx.RequestBuilder
@doc """
## Daily Active Users by Date
This endpoint allows you to retrieve a daily series of the total number of unique active users on each date.
## Rate limit
We apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).
## Response
``` json
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"message": (required, string) the status of the export, returns 'success' when completed without errors,
"data" : [
{
"time" : (string) date as ISO 8601 date,
"dau" : (int)
},
...
]
}
```
> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/).
### Parameters
- `connection` (BrazeEx.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:authorization` (String.t):
- `:length` (integer()): (Required) Integer Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive).
- `:ending_at` (String.t): (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data series should end. Defaults to time of the request.
- `:app_id` (String.t): (Optional) String App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec kpi_dau_data_series_get(Tesla.Env.client(), keyword()) ::
{:ok, nil} | {:error, Tesla.Env.t()}
def kpi_dau_data_series_get(connection, opts \\ []) do
optional_params = %{
:Authorization => :headers,
:length => :query,
:ending_at => :query,
:app_id => :query
}
request =
%{}
|> method(:get)
|> url("/kpi/dau/data_series")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
@doc """
## Monthly Active Users for Last 30 Days
This endpoint allows you to retrieve a daily series of the total number of unique active users over a 30-day rolling window.
## Rate limit
We apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).
## Response
``` json
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"message": (required, string) the status of the export, returns 'success' when completed without errors,
"data" : [
{
"time" : (string) date as ISO 8601 date,
"mau" : (int)
},
...
]
}
```
> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/).
### Parameters
- `connection` (BrazeEx.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:authorization` (String.t):
- `:length` (integer()): (Required) Integer Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive).
- `:ending_at` (String.t): (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data series should end. Defaults to time of the request.
- `:app_id` (String.t): (Optional) String App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec kpi_mau_data_series_get(Tesla.Env.client(), keyword()) ::
{:ok, nil} | {:error, Tesla.Env.t()}
def kpi_mau_data_series_get(connection, opts \\ []) do
optional_params = %{
:Authorization => :headers,
:length => :query,
:ending_at => :query,
:app_id => :query
}
request =
%{}
|> method(:get)
|> url("/kpi/mau/data_series")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
@doc """
## Daily New Users by Date
This endpoint allows you to retrieve a daily series of the total number of new users on each date.
## Rate limit
We apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).
## Response
``` json
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"message": (required, string) the status of the export, returns 'success' when completed without errors,
"data" : [
{
"time" : (string) date as ISO 8601 date,
"new_users" : (int)
},
...
]
}
```
> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/).
### Parameters
- `connection` (BrazeEx.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:authorization` (String.t):
- `:length` (integer()): (Required) Integer Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive).
- `:ending_at` (String.t): (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data series should end. Defaults to time of the request.
- `:app_id` (String.t): (Optional) String App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec kpi_new_users_data_series_get(Tesla.Env.client(), keyword()) ::
{:ok, nil} | {:error, Tesla.Env.t()}
def kpi_new_users_data_series_get(connection, opts \\ []) do
optional_params = %{
:Authorization => :headers,
:length => :query,
:ending_at => :query,
:app_id => :query
}
request =
%{}
|> method(:get)
|> url("/kpi/new_users/data_series")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
@doc """
## KPIs for Daily App Uninstalls by Date
This endpoint allows you to retrieve a daily series of the total number of uninstalls on each date.
## Rate limit
We apply the default Braze rate limit of 250,000 requests per hour to this endpoint, as documented in [API rate limits](https://www.braze.com/docs/api/api_limits/).
## Response
``` json
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"message": (required, string) the status of the export, returns 'success' when completed without errors,
"data" : [
{
"time" : (string) date as ISO 8601 date,
"uninstalls" : (int)
},
...
]
}
```
> **Tip:** For help with CSV and API exports, visit [Export troubleshooting](https://www.braze.com/docs/user_guide/data_and_analytics/export_braze_data/export_troubleshooting/).
### Parameters
- `connection` (BrazeEx.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:authorization` (String.t):
- `:length` (integer()): (Required) Integer Maximum number of days before `ending_at` to include in the returned series. Must be between 1 and 100 (inclusive).
- `:ending_at` (String.t): (Optional) Datetime ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string) Date on which the data series should end. Defaults to time of the request.
- `:app_id` (String.t): (Optional) String App API identifier retrieved from the **Developer Console**. if excluded, results for all apps in app group will be returned.
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec kpi_uninstalls_data_series_get(Tesla.Env.client(), keyword()) ::
{:ok, nil} | {:error, Tesla.Env.t()}
def kpi_uninstalls_data_series_get(connection, opts \\ []) do
optional_params = %{
:Authorization => :headers,
:length => :query,
:ending_at => :query,
:app_id => :query
}
request =
%{}
|> method(:get)
|> url("/kpi/uninstalls/data_series")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
end