From c4b29caa6ed63cfc05416e3bd9d4b5da3e766df7 Mon Sep 17 00:00:00 2001
From: OneSignal <noreply@onesignal.com>
Date: Tue, 26 Apr 2022 03:26:03 +0000
Subject: [PATCH] Update Go API

---
 LICENSE                                       |   24 +
 README.md                                     |  191 +-
 api/openapi.yaml                              | 2646 ++++++++++
 api_default.go                                | 2411 +++++++++
 client.go                                     |  569 +++
 configuration.go                              |  234 +
 docs/App.md                                   |  805 +++
 docs/Button.md                                |  103 +
 docs/DefaultApi.md                            | 1471 ++++++
 docs/DeliveryData.md                          |  160 +
 docs/ExportPlayersRequestBody.md              |  108 +
 docs/Filter.md                                |  124 +
 docs/FilterExpressions.md                     |  150 +
 docs/FilterNotificationTarget.md              |  342 ++
 docs/GetNotificationRequestBody.md            |  108 +
 docs/InlineResponse200.md                     |  124 +
 docs/InlineResponse2001.md                    |   56 +
 docs/InlineResponse2002.md                    |   82 +
 docs/InlineResponse2003.md                    |   56 +
 docs/InlineResponse2004.md                    |   82 +
 docs/InlineResponse2005.md                    |   56 +
 docs/InlineResponse201.md                     |   82 +
 docs/InlineResponse400.md                     |   56 +
 docs/InlineResponse4001.md                    |   82 +
 docs/InlineResponse4002.md                    |   82 +
 docs/InlineResponse4003.md                    |   56 +
 docs/InvalidIdentifierError.md                |   82 +
 docs/Notification.md                          | 2967 +++++++++++
 docs/Notification200Errors.md                 |   82 +
 docs/NotificationAllOf.md                     | 2348 +++++++++
 ...otificationAllOfAndroidBackgroundLayout.md |  108 +
 docs/NotificationSlice.md                     |  134 +
 docs/NotificationTarget.md                    |  654 +++
 docs/Operator.md                              |   56 +
 docs/OutcomeData.md                           |   93 +
 docs/OutcomesData.md                          |   56 +
 docs/PlatformDeliveryData.md                  |  186 +
 docs/Player.md                                |  717 +++
 docs/PlayerNotificationTarget.md              |  290 ++
 docs/PlayerSlice.md                           |  134 +
 docs/Purchase.md                              |   93 +
 docs/Segment.md                               |   98 +
 docs/SegmentNotificationTarget.md             |   82 +
 docs/StringMap.md                             | 1143 +++++
 docs/UpdatePlayerTagsRequestBody.md           |   56 +
 go.mod                                        |    7 +
 go.sum                                        |   13 +
 model_app.go                                  | 1225 +++++
 model_button.go                               |  208 +
 model_delivery_data.go                        |  289 ++
 model_export_players_request_body.go          |  218 +
 model_filter.go                               |  242 +
 model_filter_expressions.go                   |  106 +
 model_filter_notification_target.go           |  560 +++
 model_get_notification_request_body.go        |  217 +
 model_inline_response_200.go                  |  239 +
 model_inline_response_200_1.go                |  141 +
 model_inline_response_200_2.go                |  178 +
 model_inline_response_200_3.go                |  141 +
 model_inline_response_200_4.go                |  178 +
 model_inline_response_200_5.go                |  141 +
 model_inline_response_201.go                  |  179 +
 model_inline_response_400.go                  |  141 +
 model_inline_response_400_1.go                |  178 +
 model_inline_response_400_2.go                |  178 +
 model_inline_response_400_3.go                |  141 +
 model_invalid_identifier_error.go             |  180 +
 model_notification.go                         | 4380 +++++++++++++++++
 model_notification200_errors.go               |  149 +
 model_notification_all_of.go                  | 3475 +++++++++++++
 ...cation_all_of_android_background_layout.go |  218 +
 model_notification_slice.go                   |  252 +
 model_notification_target.go                  |  124 +
 model_operator.go                             |  142 +
 model_outcome_data.go                         |  194 +
 model_outcomes_data.go                        |  141 +
 model_platform_delivery_data.go               |  326 ++
 model_player.go                               | 1108 +++++
 model_player_notification_target.go           |  484 ++
 model_player_slice.go                         |  252 +
 model_purchase.go                             |  197 +
 model_segment.go                              |  204 +
 model_segment_notification_target.go          |  180 +
 model_string_map.go                           | 1731 +++++++
 model_update_player_tags_request_body.go      |  142 +
 response.go                                   |   48 +
 utils.go                                      |  329 ++
 87 files changed, 38814 insertions(+), 1 deletion(-)
 create mode 100644 LICENSE
 create mode 100644 api/openapi.yaml
 create mode 100644 api_default.go
 create mode 100644 client.go
 create mode 100644 configuration.go
 create mode 100644 docs/App.md
 create mode 100644 docs/Button.md
 create mode 100644 docs/DefaultApi.md
 create mode 100644 docs/DeliveryData.md
 create mode 100644 docs/ExportPlayersRequestBody.md
 create mode 100644 docs/Filter.md
 create mode 100644 docs/FilterExpressions.md
 create mode 100644 docs/FilterNotificationTarget.md
 create mode 100644 docs/GetNotificationRequestBody.md
 create mode 100644 docs/InlineResponse200.md
 create mode 100644 docs/InlineResponse2001.md
 create mode 100644 docs/InlineResponse2002.md
 create mode 100644 docs/InlineResponse2003.md
 create mode 100644 docs/InlineResponse2004.md
 create mode 100644 docs/InlineResponse2005.md
 create mode 100644 docs/InlineResponse201.md
 create mode 100644 docs/InlineResponse400.md
 create mode 100644 docs/InlineResponse4001.md
 create mode 100644 docs/InlineResponse4002.md
 create mode 100644 docs/InlineResponse4003.md
 create mode 100644 docs/InvalidIdentifierError.md
 create mode 100644 docs/Notification.md
 create mode 100644 docs/Notification200Errors.md
 create mode 100644 docs/NotificationAllOf.md
 create mode 100644 docs/NotificationAllOfAndroidBackgroundLayout.md
 create mode 100644 docs/NotificationSlice.md
 create mode 100644 docs/NotificationTarget.md
 create mode 100644 docs/Operator.md
 create mode 100644 docs/OutcomeData.md
 create mode 100644 docs/OutcomesData.md
 create mode 100644 docs/PlatformDeliveryData.md
 create mode 100644 docs/Player.md
 create mode 100644 docs/PlayerNotificationTarget.md
 create mode 100644 docs/PlayerSlice.md
 create mode 100644 docs/Purchase.md
 create mode 100644 docs/Segment.md
 create mode 100644 docs/SegmentNotificationTarget.md
 create mode 100644 docs/StringMap.md
 create mode 100644 docs/UpdatePlayerTagsRequestBody.md
 create mode 100644 go.mod
 create mode 100644 go.sum
 create mode 100644 model_app.go
 create mode 100644 model_button.go
 create mode 100644 model_delivery_data.go
 create mode 100644 model_export_players_request_body.go
 create mode 100644 model_filter.go
 create mode 100644 model_filter_expressions.go
 create mode 100644 model_filter_notification_target.go
 create mode 100644 model_get_notification_request_body.go
 create mode 100644 model_inline_response_200.go
 create mode 100644 model_inline_response_200_1.go
 create mode 100644 model_inline_response_200_2.go
 create mode 100644 model_inline_response_200_3.go
 create mode 100644 model_inline_response_200_4.go
 create mode 100644 model_inline_response_200_5.go
 create mode 100644 model_inline_response_201.go
 create mode 100644 model_inline_response_400.go
 create mode 100644 model_inline_response_400_1.go
 create mode 100644 model_inline_response_400_2.go
 create mode 100644 model_inline_response_400_3.go
 create mode 100644 model_invalid_identifier_error.go
 create mode 100644 model_notification.go
 create mode 100644 model_notification200_errors.go
 create mode 100644 model_notification_all_of.go
 create mode 100644 model_notification_all_of_android_background_layout.go
 create mode 100644 model_notification_slice.go
 create mode 100644 model_notification_target.go
 create mode 100644 model_operator.go
 create mode 100644 model_outcome_data.go
 create mode 100644 model_outcomes_data.go
 create mode 100644 model_platform_delivery_data.go
 create mode 100644 model_player.go
 create mode 100644 model_player_notification_target.go
 create mode 100644 model_player_slice.go
 create mode 100644 model_purchase.go
 create mode 100644 model_segment.go
 create mode 100644 model_segment_notification_target.go
 create mode 100644 model_string_map.go
 create mode 100644 model_update_player_tags_request_body.go
 create mode 100644 response.go
 create mode 100644 utils.go

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..48fd45d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Modified MIT License
+
+Copyright 2022 OneSignal
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+1. The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+2. All copies of substantial portions of the Software may only be used in connection
+with services provided by OneSignal.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README.md b/README.md
index aa2b83a..e60a1a0 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,190 @@
-# onesignal-go-client
+<h1 align="center">Welcome to the official OneSignal Go Client 👋</h1>
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+## Overview
+This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.
+
+- API version: 1.0.2
+- Package version: 1.0.0
+- Build package: org.openapitools.codegen.languages.GoClientCodegen
+For more information, please visit [https://onesignal.com](https://onesignal.com)
+
+## Installation
+
+```shell
+go get github.com/OneSignal/onesignal-go-client
+```
+
+Install the following dependencies:
+
+```shell
+go get golang.org/x/oauth2
+```
+
+Put the package under your project folder and add the following in import:
+
+```golang
+import "onesignal"
+```
+
+To use a proxy, set the environment variable `HTTP_PROXY`:
+
+```golang
+os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
+```
+
+## Configuration of Server URL
+
+Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.
+
+### Select Server Configuration
+
+For using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`.
+
+```golang
+ctx := context.WithValue(context.Background(), onesignal.ContextServerIndex, 1)
+```
+
+### Templated Server URL
+
+Templated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`.
+
+```golang
+ctx := context.WithValue(context.Background(), onesignal.ContextServerVariables, map[string]string{
+	"basePath": "v2",
+})
+```
+
+Note, enum values are always validated and all unused variables are silently ignored.
+
+### URLs Configuration per Operation
+
+Each operation can use different server URL defined using `OperationServers` map in the `Configuration`.
+An operation is uniquely identified by `"{classname}Service.{nickname}"` string.
+Similar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps.
+
+```
+ctx := context.WithValue(context.Background(), onesignal.ContextOperationServerIndices, map[string]int{
+	"{classname}Service.{nickname}": 2,
+})
+ctx = context.WithValue(context.Background(), onesignal.ContextOperationServerVariables, map[string]map[string]string{
+	"{classname}Service.{nickname}": {
+		"port": "8443",
+	},
+})
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *https://onesignal.com/api/v1*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*DefaultApi* | [**CancelNotification**](docs/DefaultApi.md#cancelnotification) | **Delete** /notifications/{notification_id} | Stop a scheduled or currently outgoing notification
+*DefaultApi* | [**CreateApp**](docs/DefaultApi.md#createapp) | **Post** /apps | Create an app
+*DefaultApi* | [**CreateNotification**](docs/DefaultApi.md#createnotification) | **Post** /notifications | Create notification
+*DefaultApi* | [**CreatePlayer**](docs/DefaultApi.md#createplayer) | **Post** /players | Add a device
+*DefaultApi* | [**CreateSegments**](docs/DefaultApi.md#createsegments) | **Post** /apps/{app_id}/segments | Create Segments
+*DefaultApi* | [**DeletePlayer**](docs/DefaultApi.md#deleteplayer) | **Delete** /players/{player_id} | Delete a user record
+*DefaultApi* | [**DeleteSegments**](docs/DefaultApi.md#deletesegments) | **Delete** /apps/{app_id}/segments/{segment_id} | Delete Segments
+*DefaultApi* | [**ExportPlayers**](docs/DefaultApi.md#exportplayers) | **Post** /players/csv_export?app_id&#x3D;{app_id} | CSV export
+*DefaultApi* | [**GetApp**](docs/DefaultApi.md#getapp) | **Get** /apps/{app_id} | View an app
+*DefaultApi* | [**GetApps**](docs/DefaultApi.md#getapps) | **Get** /apps | View apps
+*DefaultApi* | [**GetNotification**](docs/DefaultApi.md#getnotification) | **Get** /notifications/{notification_id} | View notification
+*DefaultApi* | [**GetNotificationHistory**](docs/DefaultApi.md#getnotificationhistory) | **Post** /notifications/{notification_id}/history | Notification History
+*DefaultApi* | [**GetNotifications**](docs/DefaultApi.md#getnotifications) | **Get** /notifications | View notifications
+*DefaultApi* | [**GetOutcomes**](docs/DefaultApi.md#getoutcomes) | **Get** /apps/{app_id}/outcomes | View Outcomes
+*DefaultApi* | [**GetPlayer**](docs/DefaultApi.md#getplayer) | **Get** /players/{player_id} | View device
+*DefaultApi* | [**GetPlayers**](docs/DefaultApi.md#getplayers) | **Get** /players | View devices
+*DefaultApi* | [**UpdateApp**](docs/DefaultApi.md#updateapp) | **Put** /apps/{app_id} | Update an app
+*DefaultApi* | [**UpdatePlayer**](docs/DefaultApi.md#updateplayer) | **Put** /players/{player_id} | Edit device
+*DefaultApi* | [**UpdatePlayerTags**](docs/DefaultApi.md#updateplayertags) | **Put** /apps/{app_id}/users/{external_user_id} | Edit tags with external user id
+
+
+## Documentation For Models
+
+ - [App](docs/App.md)
+ - [Button](docs/Button.md)
+ - [DeliveryData](docs/DeliveryData.md)
+ - [ExportPlayersRequestBody](docs/ExportPlayersRequestBody.md)
+ - [Filter](docs/Filter.md)
+ - [FilterExpressions](docs/FilterExpressions.md)
+ - [FilterNotificationTarget](docs/FilterNotificationTarget.md)
+ - [GetNotificationRequestBody](docs/GetNotificationRequestBody.md)
+ - [InlineResponse200](docs/InlineResponse200.md)
+ - [InlineResponse2001](docs/InlineResponse2001.md)
+ - [InlineResponse2002](docs/InlineResponse2002.md)
+ - [InlineResponse2003](docs/InlineResponse2003.md)
+ - [InlineResponse2004](docs/InlineResponse2004.md)
+ - [InlineResponse2005](docs/InlineResponse2005.md)
+ - [InlineResponse201](docs/InlineResponse201.md)
+ - [InlineResponse400](docs/InlineResponse400.md)
+ - [InlineResponse4001](docs/InlineResponse4001.md)
+ - [InlineResponse4002](docs/InlineResponse4002.md)
+ - [InlineResponse4003](docs/InlineResponse4003.md)
+ - [InvalidIdentifierError](docs/InvalidIdentifierError.md)
+ - [Notification](docs/Notification.md)
+ - [Notification200Errors](docs/Notification200Errors.md)
+ - [NotificationAllOf](docs/NotificationAllOf.md)
+ - [NotificationAllOfAndroidBackgroundLayout](docs/NotificationAllOfAndroidBackgroundLayout.md)
+ - [NotificationSlice](docs/NotificationSlice.md)
+ - [NotificationTarget](docs/NotificationTarget.md)
+ - [Operator](docs/Operator.md)
+ - [OutcomeData](docs/OutcomeData.md)
+ - [OutcomesData](docs/OutcomesData.md)
+ - [PlatformDeliveryData](docs/PlatformDeliveryData.md)
+ - [Player](docs/Player.md)
+ - [PlayerNotificationTarget](docs/PlayerNotificationTarget.md)
+ - [PlayerSlice](docs/PlayerSlice.md)
+ - [Purchase](docs/Purchase.md)
+ - [Segment](docs/Segment.md)
+ - [SegmentNotificationTarget](docs/SegmentNotificationTarget.md)
+ - [StringMap](docs/StringMap.md)
+ - [UpdatePlayerTagsRequestBody](docs/UpdatePlayerTagsRequestBody.md)
+
+
+## Documentation For Authorization
+Use a OneSignal authentication context for each auth type:
+- `AppAuth`
+- `UserAuth`
+
+### app_key
+- **Type**: HTTP Bearer token authentication
+
+Example
+
+```golang
+appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+```
+
+### user_key
+- **Type**: HTTP Bearer token authentication
+
+Example
+
+```golang
+userAuth := context.WithValue(context.Background(), onesignal.UserAuth, "USER_KEY_STRING")
+```
+
+
+## Documentation for Utility Methods
+
+Due to the fact that model structure members are all pointers, this package contains
+a number of utility functions to easily obtain pointers to values of basic types.
+Each of these functions takes a value of the given basic type and returns a pointer to it:
+
+* `PtrBool`
+* `PtrInt`
+* `PtrInt32`
+* `PtrInt64`
+* `PtrFloat`
+* `PtrFloat32`
+* `PtrFloat64`
+* `PtrString`
+* `PtrTime`
+
+## Author
+
+devrel@onesignal.com
+
diff --git a/api/openapi.yaml b/api/openapi.yaml
new file mode 100644
index 0000000..4a4fa82
--- /dev/null
+++ b/api/openapi.yaml
@@ -0,0 +1,2646 @@
+openapi: 3.0.0
+info:
+  contact:
+    email: devrel@onesignal.com
+    name: OneSignal DevRel
+    url: https://onesignal.com
+  description: A powerful way to send personalized messages at scale and build effective
+    customer engagement strategies. Learn more at onesignal.com
+  termsOfService: https://onesignal.com/tos
+  title: OneSignal
+  version: 1.0.2
+servers:
+- url: https://onesignal.com/api/v1
+paths:
+  /notifications:
+    get:
+      description: View the details of multiple notifications
+      operationId: get_notifications
+      parameters:
+      - description: The app ID that you want to view notifications from
+        explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - description: How many notifications to return.  Max is 50.  Default is 50.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: Page offset.  Default is 0.  Results are sorted by queued_at
+          in descending order.  queued_at is a representation of the time that the
+          notification was queued at.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          type: integer
+        style: form
+      - description: |
+          Kind of notifications returned:
+            * unset - All notification types (default)
+            * `0` - Dashboard only
+            * `1` - API only
+            * `3` - Automated only
+        explode: true
+        in: query
+        name: kind
+        required: false
+        schema:
+          enum:
+          - 0
+          - 1
+          - 3
+          type: integer
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/NotificationSlice'
+          description: OK
+      security:
+      - app_key: []
+      summary: View notifications
+    post:
+      description: |
+        Sends notifications to your users
+      operationId: create_notification
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Notification'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200'
+          description: "OK, invalid_player_ids, invalid_external_user_ids or No Subscribed\
+            \ Players\nIf a message was successfully created, you will get a 200 response\
+            \ and an id for the notification.\nIf the 200 response contains \"invalid_player_ids\"\
+            \ or \"invalid_external_user_ids\" this will mark devices that exist in\
+            \ the provided app_id but are no longer subscribed.\nIf no id is returned,\
+            \ then a message was not created and the targeted User IDs do not exist\
+            \ under the provided app_id.\nAny User IDs sent in the request that do\
+            \ not exist under the specified app_id will be ignored.\n"
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400'
+          description: Bad Request
+      security:
+      - app_key: []
+      summary: Create notification
+  /notifications/{notification_id}:
+    delete:
+      description: Used to stop a scheduled or currently outgoing notification
+      operationId: cancel_notification
+      parameters:
+      - explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - explode: false
+        in: path
+        name: notification_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_1'
+          description: OK
+      security:
+      - app_key: []
+      summary: Stop a scheduled or currently outgoing notification
+    get:
+      description: View the details of a single notification and outcomes associated
+        with it
+      operationId: get_notification
+      parameters:
+      - explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - explode: false
+        in: path
+        name: notification_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                allOf:
+                - $ref: '#/components/schemas/Notification'
+                - $ref: '#/components/schemas/DeliveryData'
+                - $ref: '#/components/schemas/OutcomesData'
+                - properties:
+                    remaining:
+                      description: Number of notifications that have not been sent
+                        out yet. This can mean either our system is still processing
+                        the notification or you have delayed options set.
+                      type: integer
+                    successful:
+                      description: Number of notifications that were successfully
+                        delivered.
+                      type: integer
+                    failed:
+                      description: Number of notifications that could not be delivered
+                        due to those devices being unsubscribed.
+                      type: integer
+                    errored:
+                      description: Number of notifications that could not be delivered
+                        due to an error. You can find more information by viewing
+                        the notification in the dashboard.
+                      type: integer
+                    converted:
+                      description: Number of users who have clicked / tapped on your
+                        notification.
+                      type: integer
+                    queued_at:
+                      description: Unix timestamp indicating when the notification
+                        was created.
+                      type: integer
+                    send_after:
+                      description: Unix timestamp indicating when notification delivery
+                        should begin.
+                      type: integer
+                    completed_at:
+                      description: Unix timestamp indicating when notification delivery
+                        completed. The delivery duration from start to finish can
+                        be calculated with completed_at - send_after.
+                      type: integer
+                    platform_delivery_stats:
+                      $ref: '#/components/schemas/PlatformDeliveryData'
+                    received:
+                      description: Confirmed Deliveries number of devices that received
+                        the push notification. Paid Feature Only. Free accounts will
+                        see 0.
+                      type: integer
+                    throttle_rate_per_minute:
+                      description: "number of push notifications sent per minute.\
+                        \ Paid Feature Only. If throttling is not enabled for the\
+                        \ app or the notification, and for free accounts, null is\
+                        \ returned. Refer to Throttling for more details."
+                      type: integer
+                  type: object
+          description: OK
+      security:
+      - app_key: []
+      summary: View notification
+  /apps:
+    get:
+      description: View the details of all of your current OneSignal apps
+      operationId: get_apps
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                type: string
+          description: OK
+      security:
+      - user_key: []
+      summary: View apps
+    post:
+      description: Creates a new OneSignal app
+      operationId: create_app
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/App'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/App'
+          description: OK
+      security:
+      - user_key: []
+      summary: Create an app
+  /apps/{app_id}:
+    get:
+      description: View the details of a single OneSignal app
+      operationId: get_app
+      parameters:
+      - description: An app id
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/App'
+          description: OK
+      security:
+      - user_key: []
+      summary: View an app
+    put:
+      description: Updates the name or configuration settings of an existing OneSignal
+        app
+      operationId: update_app
+      parameters:
+      - description: An app id
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/App'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/App'
+          description: OK
+      security:
+      - user_key: []
+      summary: Update an app
+  /notifications/{notification_id}/history:
+    post:
+      description: "-> View the devices sent a message - OneSignal Paid Plan Required\
+        \ This method will return all devices that were sent the given notification_id\
+        \ of an Email or Push Notification if used within 7 days of the date sent.\
+        \ After 7 days of the sending date, the message history data will be unavailable.\
+        \ After a successful response is received, the destination url may be polled\
+        \ until the file becomes available. Most exports are done in ~1-3 minutes,\
+        \ so setting a poll interval of 10 seconds should be adequate. For use cases\
+        \ that are not meant to be consumed by a script, an email will be sent to\
+        \ the supplied email address. &#x1F6A7; Requirements A OneSignal Paid Plan.\
+        \ Turn on Send History via OneSignal API in Settings -> Analytics. Cannot\
+        \ get data before this was turned on. Must be called within 7 days after sending\
+        \ the message. Messages targeting under 1000 recipients will not have \"sent\"\
+        \ events recorded, but will show \"clicked\" events. Requires your OneSignal\
+        \ App's REST API Key, available in Keys & IDs."
+      operationId: get_notification_history
+      parameters:
+      - description: The "id" of the message found in the Notification object
+        explode: false
+        in: path
+        name: notification_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        $ref: '#/components/requestBodies/get_notification_request_body'
+        content:
+          application/json:
+            schema:
+              properties:
+                events:
+                  description: "-> \"sent\" - All the devices by player_id that were\
+                    \ sent the specified notification_id.  Notifications targeting\
+                    \ under 1000 recipients will not have \"sent\" events recorded,\
+                    \ but will show \"clicked\" events. \"clicked\" - All the devices\
+                    \ by `player_id` that clicked the specified notification_id."
+                  enum:
+                  - sent
+                  - clicked
+                  type: string
+                email:
+                  description: The email address you would like the report sent.
+                  type: string
+                app_id:
+                  type: string
+              required:
+              - id
+              title: get_notification_request_body
+              type: object
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_2'
+          description: OK
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400_1'
+          description: Bad Request
+      security:
+      - app_key: []
+      summary: Notification History
+  /apps/{app_id}/users/{external_user_id}:
+    put:
+      description: "Update an existing device's tags in one of your OneSignal apps\
+        \ using the External User ID.\nWarning - Android SDK Data Synchronization\n\
+        Tags added through the Android SDK tagging methods may not update if using\
+        \ the API to change or update the same tag.\nFor example, if you use SDK method\
+        \ sendTag(\"key\", \"value1\") then update the tag value to \"value2\" with\
+        \ this API endpoint. You will not be able to set the value back to \"value1\"\
+        \ through the SDK, you will need to change it to something different through\
+        \ the SDK to be reset.\nRecommendations if using this Endpoint on Android\
+        \ Mobile Apps:\n1 - Do not use the same tag keys for SDK and API updates\n\
+        2 - If you want to use the same key for both SDK and API updates, call the\
+        \ SDK getTags method first to update the device's tags.\nThis is only applicable\
+        \ on the Android Mobile App SDKs.\n&#128216;\nDeleting Tags\nTo delete a tag,\
+        \ include its key and set its value to blank. Omitting a key/value will not\
+        \ delete it.\nFor example, if I wanted to delete two existing tags rank and\
+        \ category while simultaneously adding a new tag class, the tags JSON would\
+        \ look like the following:\n\"tags\": {\n   \"rank\": \"\",\n   \"category\"\
+        : \"\",\n   \"class\": \"my_new_value\"\n}\n"
+      operationId: update_player_tags
+      parameters:
+      - description: The OneSignal App ID the user record is found under.
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The External User ID mapped to teh device record in OneSignal.  Must
+          be actively set on the device to be updated.
+        explode: false
+        in: path
+        name: external_user_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        $ref: '#/components/requestBodies/update_player_tags_request_body'
+        content:
+          application/json:
+            schema:
+              properties:
+                tags:
+                  description: "Custom tags for the device record.  Only support string\
+                    \ key value pairs.  Does not support arrays or other nested objects.\
+                    \  Example `{\"foo\":\"bar\",\"this\":\"that\"}`.\nLimitations:\n\
+                    - 100 tags per call\n- Android SDK users: tags cannot be removed\
+                    \ or changed via API if set through SDK sendTag methods.\nRecommended\
+                    \ to only tag devices with 1 kilobyte of ata\nPlease consider\
+                    \ using your own Database to save more than 1 kilobyte of data.\
+                    \  See: Internal Database & CRM\n"
+                  type: object
+              title: update_player_tags_request_body
+              type: object
+        required: false
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_3'
+          description: OK
+      security:
+      - app_key: []
+      summary: Edit tags with external user id
+  /apps/{app_id}/segments:
+    post:
+      description: "Create segments visible and usable in the dashboard and API -\
+        \ Required: OneSignal Paid Plan\nThe Create Segment method is used when you\
+        \ want your server to programmatically create a segment instead of using the\
+        \ OneSignal Dashboard UI. Just like creating Segments from the dashboard you\
+        \ can pass in filters with multiple \"AND\" or \"OR\" operator's.\n&#x1F6A7;\n\
+        Does Not Update Segments\nThis endpoint will only create segments, it does\
+        \ not edit or update currently created Segments. You will need to use the\
+        \ Delete Segments endpoint and re-create it with this endpoint to edit.\n"
+      operationId: create_segments
+      parameters:
+      - description: The OneSignal App ID for your app.  Available in Keys & IDs.
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Segment'
+        required: false
+      responses:
+        "201":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_201'
+          description: Created
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400_2'
+          description: Bad Request
+        "409":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400_2'
+          description: Conflict
+      security:
+      - app_key: []
+      summary: Create Segments
+  /apps/{app_id}/segments/{segment_id}:
+    delete:
+      description: "Delete segments (not user devices) - Required: OneSignal Paid\
+        \ Plan\nYou can delete a segment under your app by calling this API. You must\
+        \ provide an API key in the Authorization header that has admin access on\
+        \ the app.\nThe segment_id can be found in the URL of the segment when viewing\
+        \ it in the dashboard.\n"
+      operationId: delete_segments
+      parameters:
+      - description: The OneSignal App ID for your app.  Available in Keys & IDs.
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The segment_id can be found in the URL of the segment when viewing
+          it in the dashboard.
+        explode: false
+        in: path
+        name: segment_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_3'
+          description: OK
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400_3'
+          description: Bad Request
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_3'
+          description: Not Found
+      security:
+      - app_key: []
+      summary: Delete Segments
+  /apps/{app_id}/outcomes:
+    get:
+      description: "View the details of all the outcomes associated with your app\n\
+        \n&#x1F6A7;\nRequires Authentication Key\nRequires your OneSignal App's REST\
+        \ API Key, available in Keys & IDs.\n\n&#x1F6A7;\nOutcome Data Limitations\n\
+        Outcomes are only accessible for around 30 days before deleted from our servers.\
+        \ You will need to export this data every month if you want to keep it.\n"
+      operationId: get_outcomes
+      parameters:
+      - description: The OneSignal App ID for your app.  Available in Keys & IDs.
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: "Required\nComma-separated list of names and the value (sum/count)\
+          \ for the returned outcome data.\nNote: Clicks only support count aggregation.\n\
+          For out-of-the-box OneSignal outcomes such as click and session duration,\
+          \ please use the \"os\" prefix with two underscores. For other outcomes,\
+          \ please use the name specified by the user.\nExample:os__session_duration.count,os__click.count,CustomOutcomeName.sum\n"
+        explode: true
+        in: query
+        name: outcome_names
+        required: true
+        schema:
+          type: string
+        style: form
+      - description: "Optional\nIf outcome names contain any commas, then please specify\
+          \ only one value at a time.\nExample: outcome_names[]=os__click.count&outcome_names[]=Sales,\
+          \ Purchase.count\nwhere \"Sales, Purchase\" is the custom outcomes with\
+          \ a comma in the name.\n"
+        explode: true
+        in: query
+        name: "outcome_names[]"
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: "Optional\nTime range for the returned data. The values can be\
+          \ 1h (for the last 1 hour data), 1d (for the last 1 day data), or 1mo (for\
+          \ the last 1 month data).\nDefault is 1h if the parameter is omitted.\n"
+        explode: true
+        in: query
+        name: outcome_time_range
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: "Optional\nPlatform id. Refer device's platform ids for values.\n\
+          Example:\noutcome_platform=0 for iOS\noutcome_platform=7,8 for Safari and\
+          \ Firefox\nDefault is data from all platforms if the parameter is omitted.\n"
+        explode: true
+        in: query
+        name: outcome_platforms
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: "Optional\nAttribution type for the outcomes. The values can\
+          \ be direct or influenced or unattributed.\nExample: outcome_attribution=direct\n\
+          Default is total (returns direct+influenced+unattributed) if the parameter\
+          \ is omitted.\n"
+        explode: true
+        in: query
+        name: outcome_attribution
+        required: false
+        schema:
+          type: string
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OutcomesData'
+          description: OK
+      security:
+      - app_key: []
+      summary: View Outcomes
+  /players:
+    get:
+      description: "View the details of multiple devices in one of your OneSignal\
+        \ apps\nUnavailable for Apps Over 80,000 Users\nFor performance reasons, this\
+        \ method is not available for larger apps. Larger apps should use the CSV\
+        \ export API endpoint, which is much more performant.\n"
+      operationId: get_players
+      parameters:
+      - description: The app ID that you want to view players from
+        explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - description: How many devices to return. Max is 300. Default is 300
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          type: string
+        style: form
+      - description: Result offset. Default is 0. Results are sorted by id;
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          type: integer
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/PlayerSlice'
+          description: OK
+      security:
+      - app_key: []
+      summary: View devices
+    post:
+      description: "Register a new device to one of your OneSignal apps\n&#x1F6A7;\n\
+        Don't use this\nThis API endpoint is designed to be used from our open source\
+        \ Mobile and Web Push SDKs. It is not designed for developers to use it directly,\
+        \ unless instructed to do so by OneSignal support.\nIf you use this method\
+        \ instead of our SDKs, many OneSignal features such as conversion tracking,\
+        \ timezone tracking, language detection, and rich-push won't work out of the\
+        \ box. It will also make it harder to identify possible setup issues.\nThis\
+        \ method is used to register a new device with OneSignal.\nIf a device is\
+        \ already registered with the specified identifier, then this will update\
+        \ the existing device record instead of creating a new one.\nThe returned\
+        \ player is a player / user ID. Use the returned ID to send push notifications\
+        \ to this specific user later, or to include this player when sending to a\
+        \ set of users.\n&#x1F6A7;\niOS\nMust set test_type to 1 when building your\
+        \ iOS app as development. Omit this field in your production app builds.\n"
+      operationId: create_player
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Player'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_4'
+          description: OK
+      security:
+      - app_key: []
+      summary: Add a device
+  /players/{player_id}:
+    delete:
+      description: "Delete player - Required:\nUsed to delete a single, specific Player\
+        \ ID record from a specific OneSignal app.\n"
+      operationId: delete_player
+      parameters:
+      - description: The OneSignal App ID for your app.  Available in Keys & IDs.
+        explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - description: The OneSignal player_id
+        explode: false
+        in: path
+        name: player_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_1'
+          description: OK
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_400_3'
+          description: Bad Request
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_1'
+          description: Not Found
+      security:
+      - app_key: []
+      summary: Delete a user record
+    get:
+      description: View the details of an existing device in one of your OneSignal
+        apps
+      operationId: get_player
+      parameters:
+      - description: Your app_id for this device
+        explode: true
+        in: query
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: form
+      - description: Player's OneSignal ID
+        explode: false
+        in: path
+        name: player_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: Email - Only required if you have enabled Identity Verification
+          and device_type is email (11).
+        explode: true
+        in: query
+        name: email_auth_hash
+        required: false
+        schema:
+          type: string
+        style: form
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Player'
+          description: OK
+      security:
+      - app_key: []
+      summary: View device
+    put:
+      description: Update an existing device in one of your OneSignal apps
+      operationId: update_player
+      parameters:
+      - description: Player's OneSignal ID
+        explode: false
+        in: path
+        name: player_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Player'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_1'
+          description: OK
+      security:
+      - app_key: []
+      summary: Edit device
+  /players/csv_export?app_id={app_id}:
+    post:
+      description: "Generate a compressed CSV export of all of your current user data\n\
+        This method can be used to generate a compressed CSV export of all of your\
+        \ current user data. It is a much faster alternative than retrieving this\
+        \ data using the /players API endpoint.\nThe file will be compressed using\
+        \ GZip.\nThe file may take several minutes to generate depending on the number\
+        \ of users in your app.\nThe URL generated will be available for 3 days and\
+        \ includes random v4 uuid as part of the resource name to be unguessable.\n\
+        &#x1F6A7;\n403 Error Responses          You can test if it is complete by\
+        \ making a GET request to the csv_file_url value. This file may take time\
+        \ to generate depending on how many device records are being pulled. If the\
+        \ file is not ready, a 403 error will be returned. Otherwise the file itself\
+        \ will be returned.\n&#x1F6A7;\nRequires Authentication Key\nRequires your\
+        \ OneSignal App's REST API Key, available in Keys & IDs.\n&#x1F6A7;\nConcurrent\
+        \ Exports\nOnly one concurrent export is allowed per OneSignal account. Please\
+        \ ensure you have successfully downloaded the .csv.gz file before exporting\
+        \ another app.\nCSV File Format:\n- Default Columns:\n  | Field | Details\
+        \ |\n  | --- | --- |\n  | id | OneSignal Player Id |\n  | identifier | Push\
+        \ Token |\n  | session_count | Number of times they visited the app or site\n\
+        \  | language | Device language code |\n  | timezone | Number of seconds away\
+        \ from UTC. Example: -28800 |\n  | game_version | Version of your mobile app\
+        \ gathered from Android Studio versionCode in your App/build.gradle and iOS\
+        \ uses kCFBundleVersionKey in Xcode. |\n  | device_os | Device Operating System\
+        \ Version. Example: 80 = Chrome 80, 9 = Android 9 |\n  | device_type | Device\
+        \ Operating System Type |\n  | device_model | Device Hardware String Code.\
+        \ Example: Mobile Web Subscribers will have `Linux armv` |\n  | ad_id | Based\
+        \ on the Google Advertising Id for Android, identifierForVendor for iOS. OptedOut\
+        \ means user turned off Advertising tracking on the device. |\n  | tags |\
+        \ Current OneSignal Data Tags on the device. |\n  | last_active | Date and\
+        \ time the user last opened the mobile app or visited the site. |\n  | playtime\
+        \ | Total amount of time in seconds the user had the mobile app open. |\n\
+        \  | amount_spent | \tMobile only - amount spent in USD on In-App Purchases.\
+        \ | \n  | created_at | Date and time the device record was created in OneSignal.\
+        \ Mobile - first time they opened the app with OneSignal SDK. Web - first\
+        \ time the user subscribed to the site. |\n  | invalid_identifier | t = unsubscribed,\
+        \ f = subscibed |\n  | badge_count | Current number of badges on the device\
+        \ |\n- Extra Columns:\n  | Field | Details |\n  | --- | --- |\n  | external_user_id\
+        \ | Your User Id set on the device |\n  | notification_types | Notification\
+        \ types |\n  | location | Location points (Latitude and Longitude) set on\
+        \ the device. |\n  | country | Country code |\n  | rooted | Android device\
+        \ rooted or not |\n  | ip | IP Address of the device if being tracked. See\
+        \ Handling Personal Data. |\n  | web_auth | Web Only authorization key. |\n\
+        \  | web_p256 | Web Only p256 key. |\n"
+      operationId: export_players
+      parameters:
+      - description: The app ID that you want to export devices from
+        explode: false
+        in: path
+        name: app_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      requestBody:
+        $ref: '#/components/requestBodies/export_players_request_body'
+        content:
+          application/json:
+            schema:
+              properties:
+                extra_fields:
+                  description: "Additional fields that you wish to include. Currently\
+                    \ supports location, country, rooted, notification_types, ip,\
+                    \ external_user_id, web_auth, and web_p256."
+                  items:
+                    type: string
+                  type: array
+                last_active_since:
+                  description: Export all devices with a last_active timestamp greater
+                    than this time.  Unixtime in seconds.
+                  type: integer
+                segment_name:
+                  description: Export al ldevices belonging to the segment.
+                  type: string
+              title: export_players_request_body
+              type: object
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/inline_response_200_5'
+          description: OK
+        "400":
+          content:
+            application/json:
+              schema:
+                type: object
+          description: Bad Request
+      security:
+      - app_key: []
+      summary: CSV export
+components:
+  requestBodies:
+    get_notification_request_body:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/get_notification_request_body'
+      required: true
+    update_player_tags_request_body:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/update_player_tags_request_body'
+      required: false
+    export_players_request_body:
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/export_players_request_body'
+  schemas:
+    App:
+      example:
+        apns_p12: apns_p12
+        safari_site_origin: safari_site_origin
+        apns_p12_password: apns_p12_password
+        created_at: 2000-01-23T04:56:07.000+00:00
+        safari_icon_64_64: safari_icon_64_64
+        chrome_web_sub_domain: chrome_web_sub_domain
+        gcm_key: gcm_key
+        chrome_key: chrome_key
+        safari_push_id: safari_push_id
+        updated_at: 2000-01-23T04:56:07.000+00:00
+        apns_certificates: apns_certificates
+        safari_apns_p12: safari_apns_p12
+        safari_icon_128_128: safari_icon_128_128
+        id: id
+        android_gcm_sender_id: android_gcm_sender_id
+        safari_icon_32_32: safari_icon_32_32
+        additional_data_is_root_payload: true
+        apns_env: sandbox
+        players: 0
+        messageable_players: 6
+        chrome_web_origin: chrome_web_origin
+        basic_auth_key: basic_auth_key
+        site_name: site_name
+        safari_icon_16_16: safari_icon_16_16
+        chrome_web_default_notification_icon: chrome_web_default_notification_icon
+        organization_id: organization_id
+        name: name
+        safari_apns_certificates: safari_apns_certificates
+        safari_apns_p12_password: safari_apns_p12_password
+        safari_icon_256_256: safari_icon_256_256
+      properties:
+        id:
+          readOnly: true
+          type: string
+        name:
+          description: "The name of your app, as displayed on your apps list on the\
+            \ dashboard.  This can be renamed."
+          type: string
+        players:
+          readOnly: true
+          type: integer
+        messageable_players:
+          readOnly: true
+          type: integer
+        updated_at:
+          format: date-time
+          readOnly: true
+          type: string
+        created_at:
+          format: date-time
+          readOnly: true
+          type: string
+        android_gcm_sender_id:
+          description: "Android: Your Google Project number.  Also known as Sender\
+            \ ID."
+          type: string
+          writeOnly: true
+        gcm_key:
+          description: "Android: Your Google Push Messaging Auth Key"
+          type: string
+        chrome_web_origin:
+          description: "Chrome (All Browsers except Safari) (Recommended): The URL\
+            \ to your website.  This field is required if you wish to enable web push\
+            \ and specify other web push parameters."
+          type: string
+        chrome_key:
+          description: Not for web push.  Your Google Push Messaging Auth Key if you
+            use Chrome Apps / Extensions.
+          type: string
+        chrome_web_default_notification_icon:
+          description: "Chrome (All Browsers except Safari): Your default notification\
+            \ icon. Should be 256x256 pixels, min 80x80."
+          type: string
+        chrome_web_sub_domain:
+          description: "Chrome (All Browsers except Safari): A subdomain of your choice\
+            \ in order to support Web Push on non-HTTPS websites. This field must\
+            \ be set in order for the chrome_web_gcm_sender_id property to be processed."
+          type: string
+        apns_env:
+          description: "iOS: Either sandbox or production"
+          enum:
+          - sandbox
+          - production
+          type: string
+        apns_p12:
+          description: "iOS: Your apple push notification p12 certificate file, converted\
+            \ to a string and Base64 encoded."
+          type: string
+          writeOnly: true
+        apns_p12_password:
+          description: "iOS: Required if using p12 certificate.  Password for the\
+            \ apns_p12 file."
+          type: string
+          writeOnly: true
+        apns_certificates:
+          readOnly: true
+          type: string
+        safari_apns_certificates:
+          readOnly: true
+          type: string
+        safari_apns_p12:
+          description: "Safari: Your apple push notification p12 certificate file\
+            \ for Safari Push Notifications, converted to a string and Base64 encoded."
+          type: string
+          writeOnly: true
+        safari_apns_p12_password:
+          description: "Safari: Password for safari_apns_p12 file"
+          type: string
+          writeOnly: true
+        safari_site_origin:
+          description: "Safari (Recommended): The hostname to your website including\
+            \ http(s)://"
+          type: string
+        safari_push_id:
+          readOnly: true
+          type: string
+        safari_icon_16_16:
+          readOnly: true
+          type: string
+        safari_icon_32_32:
+          readOnly: true
+          type: string
+        safari_icon_64_64:
+          readOnly: true
+          type: string
+        safari_icon_128_128:
+          readOnly: true
+          type: string
+        safari_icon_256_256:
+          description: "Safari: A url for a 256x256 png notification icon. This is\
+            \ the only Safari icon URL you need to provide."
+          type: string
+        site_name:
+          description: "All Browsers (Recommended): The Site Name. Requires both chrome_web_origin\
+            \ and safari_site_origin to be set to add or update it."
+          type: string
+        basic_auth_key:
+          readOnly: true
+          type: string
+        organization_id:
+          description: The Id of the Organization you would like to add this app to.
+          type: string
+          writeOnly: true
+        additional_data_is_root_payload:
+          description: "iOS: Notification data (additional data) values will be added\
+            \ to the root of the apns payload when sent to the device.  Ignore if\
+            \ you're not using any other plugins, or not using OneSignal SDK methods\
+            \ to read the payload."
+          type: boolean
+          writeOnly: true
+      required:
+      - id
+      type: object
+    Apps:
+      items:
+        $ref: '#/components/schemas/App'
+      type: array
+    SegmentNotificationTarget:
+      properties:
+        included_segments:
+          description: "The segment names you want to target. Users in these segments\
+            \ will receive a notification. This targeting parameter is only compatible\
+            \ with excluded_segments.\nExample: [\"Active Users\", \"Inactive Users\"\
+            ]\n"
+          items:
+            type: string
+          type: array
+        excluded_segments:
+          description: "Segment that will be excluded when sending. Users in these\
+            \ segments will not receive a notification, even if they were included\
+            \ in included_segments. This targeting parameter is only compatible with\
+            \ included_segments.\nExample: [\"Active Users\", \"Inactive Users\"]\n"
+          items:
+            type: string
+          type: array
+      type: object
+    FilterNotificationTarget:
+      properties:
+        last_session:
+          description: "relation = \">\" or \"<\"\nhours_ago = number of hours before\
+            \ or after the users last session. Example: \"1.1\"\n"
+          type: string
+        first_session:
+          description: "relation = \">\" or \"<\"\nhours_ago = number of hours before\
+            \ or after the users first session. Example: \"1.1\"\n"
+          type: string
+        session_count:
+          description: "relation = \">\", \"<\", \"=\" or \"!=\"\nvalue = number sessions.\
+            \ Example: \"1\"\n"
+          type: string
+        session_time:
+          description: "relation = \">\", \"<\", \"=\" or \"!=\"\nvalue = Time in\
+            \ seconds the user has been in your app. Example: \"3600\"\n"
+          type: string
+        amount_spent:
+          description: "relation = \">\", \"<\", or \"=\"\nvalue = Amount in USD a\
+            \ user has spent on IAP (In App Purchases). Example: \"0.99\"\n"
+          type: string
+        bought_sku:
+          description: "relation = \">\", \"<\" or \"=\"\nkey = SKU purchased in your\
+            \ app as an IAP (In App Purchases). Example: \"com.domain.100coinpack\"\
+            \nvalue = value of SKU to compare to. Example: \"0.99\"\n"
+          type: string
+        tag:
+          description: "relation = \">\", \"<\", \"=\", \"!=\", \"exists\", \"not_exists\"\
+            , \"time_elapsed_gt\" (paid plan only) or \"time_elapsed_lt\" (paid plan\
+            \ only) See Time Operators\nkey = Tag key to compare.\nvalue = Tag value\
+            \ to compare. Not required for \"exists\" or \"not_exists\". Example:\
+            \ See Formatting Filters\n"
+          type: string
+        language:
+          description: "relation = \"=\" or \"!=\"\nvalue = 2 character language code.\
+            \ Example: \"en\". For a list of all language codes see Language & Localization.\n"
+          type: string
+        app_version:
+          description: "relation = \">\", \"<\", \"=\" or \"!=\"\nvalue = app version.\
+            \ Example: \"1.0.0\"\n"
+          type: string
+        location:
+          description: |
+            radius = in meters
+            lat = latitude
+            long = longitude
+          type: string
+        email:
+          description: |
+            value = email address
+            Only for sending Push Notifications
+            Use this for targeting push subscribers associated with an email set with all SDK setEmail methods
+            To send emails to specific email addresses use include_email_tokens parameter
+          type: string
+        country:
+          description: "relation = \"=\"\nvalue = 2-digit Country code\nExample: \"\
+            field\": \"country\", \"relation\": \"=\", \"value\", \"US\"\n"
+          type: string
+      type: object
+    PlayerNotificationTarget:
+      properties:
+        include_player_ids:
+          description: "Specific playerids to send your notification to. _Does not\
+            \ require API Auth Key.\nDo not combine with other targeting parameters.\
+            \ Not compatible with any other targeting parameters.\nExample: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"\
+            ]\nLimit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_external_user_ids:
+          description: "Target specific devices by custom user IDs assigned via API.\n\
+            Not compatible with any other targeting parameters\nExample: [\"custom-id-assigned-by-api\"\
+            ]\nREQUIRED: REST API Key Authentication\nLimit of 2,000 entries per REST\
+            \ API call.\nNote: If targeting push, email, or sms subscribers with same\
+            \ ids, use with channel_for_external_user_ids to indicate you are sending\
+            \ a push or email or sms.\n"
+          items:
+            type: string
+          type: array
+        include_email_tokens:
+          description: "Recommended for Sending Emails - Target specific email addresses.\n\
+            If an email does not correspond to an existing user, a new user will be\
+            \ created.\nExample: nick@catfac.ts\nLimit of 2,000 entries per REST API\
+            \ call\n"
+          items:
+            type: string
+          type: array
+        include_phone_numbers:
+          description: "Recommended for Sending SMS - Target specific phone numbers.\
+            \ The phone number should be in the E.164 format. Phone number should\
+            \ be an existing subscriber on OneSignal. Refer our docs to learn how\
+            \ to add phone numbers to OneSignal.\nExample phone number: +1999999999\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_ios_tokens:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using iOS device tokens.\n\
+            Warning: Only works with Production tokens.\nAll non-alphanumeric characters\
+            \ must be removed from each token. If a token does not correspond to an\
+            \ existing user, a new user will be created.\nExample: ce777617da7f548fe7a9ab6febb56cf39fba6d38203...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_wp_wns_uris:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using Windows URIs. If\
+            \ a token does not correspond to an existing user, a new user will be\
+            \ created.\nExample: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_amazon_reg_ids:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using Amazon ADM registration\
+            \ IDs. If a token does not correspond to an existing user, a new user\
+            \ will be created.\nExample: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_chrome_reg_ids:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using Chrome App registration\
+            \ IDs. If a token does not correspond to an existing user, a new user\
+            \ will be created.\nExample: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_chrome_web_reg_ids:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using Chrome Web Push\
+            \ registration IDs. If a token does not correspond to an existing user,\
+            \ a new user will be created.\nExample: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+        include_android_reg_ids:
+          description: "Not Recommended: Please consider using include_player_ids\
+            \ or include_external_user_ids instead.\nTarget using Android device registration\
+            \ IDs. If a token does not correspond to an existing user, a new user\
+            \ will be created.\nExample: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_...\n\
+            Limit of 2,000 entries per REST API call\n"
+          items:
+            type: string
+          type: array
+      type: object
+    NotificationTarget:
+      anyOf:
+      - $ref: '#/components/schemas/SegmentNotificationTarget'
+      - $ref: '#/components/schemas/FilterNotificationTarget'
+      - $ref: '#/components/schemas/PlayerNotificationTarget'
+    Notification:
+      allOf:
+      - $ref: '#/components/schemas/NotificationTarget'
+      - $ref: '#/components/schemas/Notification_allOf'
+      - required:
+        - app_id
+    Button:
+      properties:
+        id:
+          type: string
+        text:
+          type: string
+        icon:
+          type: string
+      required:
+      - id
+      type: object
+    Buttons:
+      items:
+        $ref: '#/components/schemas/Button'
+      type: array
+    StringMap:
+      properties:
+        en:
+          description: Text in English.  Will be used as a fallback
+          type: string
+        ar:
+          description: Text in Arabic.
+          type: string
+        bs:
+          description: Text in Bosnian.
+          type: string
+        bg:
+          description: Text in Bulgarian.
+          type: string
+        ca:
+          description: Text in Catalan.
+          type: string
+        zh-Hans:
+          description: Text in Chinese (Simplified).
+          type: string
+        zh-Hant:
+          description: Text in Chinese (Traditional).
+          type: string
+        zh:
+          description: Alias for zh-Hans.
+          type: string
+        hr:
+          description: Text in Croatian.
+          type: string
+        cs:
+          description: Text in Czech.
+          type: string
+        da:
+          description: Text in Danish.
+          type: string
+        nl:
+          description: Text in Dutch.
+          type: string
+        et:
+          description: Text in Estonian.
+          type: string
+        fi:
+          description: Text in Finnish.
+          type: string
+        fr:
+          description: Text in French.
+          type: string
+        ka:
+          description: Text in Georgian.
+          type: string
+        de:
+          description: Text in German.
+          type: string
+        el:
+          description: Text in Greek.
+          type: string
+        hi:
+          description: Text in Hindi.
+          type: string
+        he:
+          description: Text in Hebrew.
+          type: string
+        hu:
+          description: Text in Hungarian.
+          type: string
+        id:
+          description: Text in Indonesian.
+          type: string
+        it:
+          description: Text in Italian.
+          type: string
+        ja:
+          description: Text in Japanese.
+          type: string
+        ko:
+          description: Text in Korean.
+          type: string
+        lv:
+          description: Text in Latvian.
+          type: string
+        lt:
+          description: Text in Lithuanian.
+          type: string
+        ms:
+          description: Text in Malay.
+          type: string
+        nb:
+          description: Text in Norwegian.
+          type: string
+        pl:
+          description: Text in Polish.
+          type: string
+        fa:
+          description: Text in Persian.
+          type: string
+        pt:
+          description: Text in Portugese.
+          type: string
+        pa:
+          description: Text in Punjabi.
+          type: string
+        ro:
+          description: Text in Romanian.
+          type: string
+        ru:
+          description: Text in Russian.
+          type: string
+        sr:
+          description: Text in Serbian.
+          type: string
+        sk:
+          description: Text in Slovak.
+          type: string
+        es:
+          description: Text in Spanish.
+          type: string
+        sv:
+          description: Text in Swedish.
+          type: string
+        th:
+          description: Text in Thai.
+          type: string
+        tr:
+          description: Text in Turkish.
+          type: string
+        uk:
+          description: Text in Ukrainian.
+          type: string
+        vi:
+          description: Text in Vietnamese.
+          type: string
+      required:
+      - en
+      type: object
+    Notifications:
+      items:
+        $ref: '#/components/schemas/Notification'
+      type: array
+    NotificationSlice:
+      example:
+        offset: 6
+        total_count: 0
+        limit: 1
+        notifications:
+        - null
+        - null
+      properties:
+        total_count:
+          type: integer
+        offset:
+          type: integer
+        limit:
+          type: integer
+        notifications:
+          items:
+            $ref: '#/components/schemas/Notification'
+          type: array
+      type: object
+    PlatformDeliveryData:
+      description: Hash of delivery statistics broken out by target device platform.
+      properties:
+        edge_web_push:
+          $ref: '#/components/schemas/DeliveryData'
+        chrome_web_push:
+          $ref: '#/components/schemas/DeliveryData'
+        firefox_web_push:
+          $ref: '#/components/schemas/DeliveryData'
+        safari_web_push:
+          $ref: '#/components/schemas/DeliveryData'
+        android:
+          $ref: '#/components/schemas/DeliveryData'
+        ios:
+          $ref: '#/components/schemas/DeliveryData'
+      type: object
+    DeliveryData:
+      properties:
+        successful:
+          type: integer
+        failed:
+          type: integer
+        errored:
+          type: integer
+        converted:
+          type: integer
+        received:
+          type: integer
+      type: object
+    Purchase:
+      properties:
+        sku:
+          description: The unique identifier of the purchased item.
+          type: string
+        amount:
+          description: "The amount, in USD, spent purchasing the item."
+          type: number
+        iso:
+          description: The 3-letter ISO 4217 currency code. Required for correct storage
+            and conversion of amount.
+          type: string
+      required:
+      - amount
+      - iso
+      - sku
+      type: object
+    OutcomeData:
+      example:
+        aggregation: sum
+        id: id
+        value: 0
+      properties:
+        id:
+          type: string
+        value:
+          type: integer
+        aggregation:
+          enum:
+          - sum
+          - count
+          type: string
+      required:
+      - aggregation
+      - id
+      - value
+      type: object
+    OutcomesData:
+      example:
+        outcomes:
+        - aggregation: sum
+          id: id
+          value: 0
+        - aggregation: sum
+          id: id
+          value: 0
+      properties:
+        outcomes:
+          items:
+            $ref: '#/components/schemas/OutcomeData'
+          type: array
+      type: object
+    Filter:
+      properties:
+        field:
+          description: Name of the field to use as the first operand in the filter
+            expression.
+          type: string
+        key:
+          description: "If `field` is `tag`, this field is *required* to specify `key`\
+            \ inside the tags."
+          type: string
+        value:
+          description: Constant value to use as the second operand in the filter expression.  This
+            value is *required* when the relation operator is a binary operator.
+          type: string
+        relation:
+          description: Operator of a filter expression.
+          enum:
+          - '>'
+          - <
+          - =
+          - '!='
+          - exists
+          - not_exists
+          - time_elapsed_gt
+          - time_elapsed_lt
+          type: string
+      required:
+      - field
+      - relation
+      type: object
+    Operator:
+      properties:
+        operator:
+          description: "Strictly, this must be either `\"OR\"`, or `\"AND\"`.  It\
+            \ can be used to compose Filters as part of a Filters object."
+          enum:
+          - OR
+          - AND
+          type: string
+      type: object
+    FilterExpressions:
+      anyOf:
+      - $ref: '#/components/schemas/Filter'
+      - $ref: '#/components/schemas/Operator'
+    Segment:
+      example:
+        name: name
+        id: id
+        filters:
+        - null
+        - null
+      properties:
+        id:
+          description: "UUID of the segment.  If left empty, it will be assigned automaticaly."
+          type: string
+        name:
+          description: Name of the segment.  You'll see this name on the Web UI.
+          type: string
+        filters:
+          description: "Filter or operators the segment will have.  For a list of\
+            \ available filters with details, please see Send to Users Based on Filters."
+          items:
+            $ref: '#/components/schemas/FilterExpressions'
+          type: array
+      required:
+      - filters
+      - name
+      type: object
+    Player:
+      example:
+        country: country
+        external_user_id_auth_hash: external_user_id_auth_hash
+        device_model: device_model
+        timezone: 5
+        created_at: 7
+        device_type: 5
+        language: language
+        playtime: 9
+        long: 1.2315135367772556
+        amount_spent: amount_spent
+        id: id
+        app_id: app_id
+        lat: 1.0246457001441578
+        identifier: identifier
+        game_version: game_version
+        notification_types: 4
+        device_os: device_os
+        email_auth_hash: email_auth_hash
+        test_type: 7
+        external_user_id: external_user_id
+        tags: "{}"
+        ad_id: ad_id
+        session_count: 2
+        sdk: sdk
+        last_active: 2
+        invalid_identifier: true
+        badge_count: 3
+      properties:
+        id:
+          description: The device's OneSignal ID
+          readOnly: true
+          type: string
+        invalid_identifier:
+          description: "If true, this is the equivalent of a user being Unsubscribed"
+          readOnly: true
+          type: boolean
+        app_id:
+          type: string
+        device_type:
+          description: |
+            Required
+            The device's platform:
+              0 = iOS
+              1 = Android
+              2 = Amazon
+              3 = WindowsPhone (MPNS)
+              4 = Chrome Apps / Extensions
+              5 = Chrome Web Push
+              6 = Windows (WNS)
+              7 = Safari
+              8 = Firefox
+              9 = MacOS
+              10 = Alexa
+              11 = Email
+              13 = For Huawei App Gallery Builds SDK Setup. Not for Huawei Devices using FCM
+              14 = SMS
+          type: integer
+        external_user_id:
+          description: a custom user ID
+          type: string
+        external_user_id_auth_hash:
+          description: Only required if you have enabled Identity Verification and
+            device_type is NOT 11 email.
+          type: string
+        email_auth_hash:
+          description: Email - Only required if you have enabled Identity Verification
+            and device_type is email (11).
+          type: string
+        identifier:
+          description: "Recommended: For Push Notifications, this is the Push Token\
+            \ Identifier from Google or Apple. For Apple Push identifiers, you must\
+            \ strip all non alphanumeric characters.\nExamples:\niOS: 7abcd558f29d0b1f048083e2834ad8ea4b3d87d8ad9c088b33c132706ff445f0\n\
+            Android: APA91bHbYHk7aq-Uam_2pyJ2qbZvqllyyh2wjfPRaw5gLEX2SUlQBRvOc6sck1sa7H7nGeLNlDco8lXj83HWWwzV...\n\
+            For Email Addresses, set the full email address email@email.com and make\
+            \ sure to set device_type to 11.\n"
+          type: string
+        language:
+          description: "Language code. Typically lower case two letters, except for\
+            \ Chinese where it must be one of zh-Hans or zh-Hant. Example: en\n"
+          type: string
+        timezone:
+          description: "Number of seconds away from UTC. Example: -28800\n"
+          type: integer
+        game_version:
+          description: "Version of your app. Example: 1.1\n"
+          type: string
+        device_model:
+          description: "Device make and model. Example: iPhone5,1\n"
+          type: string
+        device_os:
+          description: "Device operating system version. Example: 7.0.4\n"
+          type: string
+        ad_id:
+          description: |
+            The ad id for the device's platform:
+            Android = Advertising Id
+            iOS = identifierForVendor
+            WP8.0 = DeviceUniqueId
+            WP8.1 = AdvertisingId
+          type: string
+        sdk:
+          description: Name and version of the sdk/plugin that's calling this API
+            method (if any)
+          type: string
+        session_count:
+          description: "Number of times the user has played the game, defaults to\
+            \ 1"
+          type: integer
+        tags:
+          description: "Custom tags for the player. Only support string and integer\
+            \ key value pairs. Does not support arrays or other nested objects. Setting\
+            \ a tag value to null or an empty string will remove the tag. Example:\
+            \ {\"foo\":\"bar\",\"this\":\"that\"}\nLimitations:\n- 100 tags per call\n\
+            - Android SDK users: tags cannot be removed or changed via API if set\
+            \ through SDK sendTag methods.\nRecommended to only tag devices with 1\
+            \ kilobyte of data\nPlease consider using your own Database to save more\
+            \ than 1 kilobyte of data. See: Internal Database & CRM\n"
+          type: object
+        amount_spent:
+          description: "Amount the user has spent in USD, up to two decimal places"
+          type: string
+        created_at:
+          description: Unixtime when the player joined the game
+          type: integer
+        playtime:
+          description: Seconds player was running your app.
+          type: integer
+        badge_count:
+          description: "Current iOS badge count displayed on the app icon\nNOTE: Not\
+            \ supported for apps created after June 2018, since badge count for apps\
+            \ created after this date are handled on the client.\n"
+          type: integer
+        last_active:
+          description: Unixtime when the player was last active
+          type: integer
+        notification_types:
+          description: |
+            1 = subscribed
+            -2 = unsubscribed
+            iOS - These values are set each time the user opens the app from the SDK. Use the SDK function set Subscription instead.
+            Android - You may set this but you can no longer use the SDK method setSubscription later in your app as it will create synchronization issues.
+          type: integer
+        test_type:
+          description: |
+            This is used in deciding whether to use your iOS Sandbox or Production push certificate when sending a push when both have been uploaded. Set to the iOS provisioning profile that was used to build your app.
+            1 = Development
+            2 = Ad-Hoc
+            Omit this field for App Store builds.
+          type: integer
+        long:
+          description: "Longitude of the device, used for geotagging to segment on."
+          type: number
+        lat:
+          description: "Latitude of the device, used for geotagging to segment on."
+          type: number
+        country:
+          description: Country code in the ISO 3166-1 Alpha 2 format
+          type: string
+      required:
+      - app_id
+      - device_type
+      - id
+      type: object
+    Players:
+      items:
+        $ref: '#/components/schemas/Player'
+      type: array
+    PlayerSlice:
+      example:
+        offset: 6
+        total_count: 0
+        players:
+        - country: country
+          external_user_id_auth_hash: external_user_id_auth_hash
+          device_model: device_model
+          timezone: 5
+          created_at: 7
+          device_type: 5
+          language: language
+          playtime: 9
+          long: 1.2315135367772556
+          amount_spent: amount_spent
+          id: id
+          app_id: app_id
+          lat: 1.0246457001441578
+          identifier: identifier
+          game_version: game_version
+          notification_types: 4
+          device_os: device_os
+          email_auth_hash: email_auth_hash
+          test_type: 7
+          external_user_id: external_user_id
+          tags: "{}"
+          ad_id: ad_id
+          session_count: 2
+          sdk: sdk
+          last_active: 2
+          invalid_identifier: true
+          badge_count: 3
+        - country: country
+          external_user_id_auth_hash: external_user_id_auth_hash
+          device_model: device_model
+          timezone: 5
+          created_at: 7
+          device_type: 5
+          language: language
+          playtime: 9
+          long: 1.2315135367772556
+          amount_spent: amount_spent
+          id: id
+          app_id: app_id
+          lat: 1.0246457001441578
+          identifier: identifier
+          game_version: game_version
+          notification_types: 4
+          device_os: device_os
+          email_auth_hash: email_auth_hash
+          test_type: 7
+          external_user_id: external_user_id
+          tags: "{}"
+          ad_id: ad_id
+          session_count: 2
+          sdk: sdk
+          last_active: 2
+          invalid_identifier: true
+          badge_count: 3
+        limit: 1
+      properties:
+        total_count:
+          type: integer
+        offset:
+          type: integer
+        limit:
+          type: integer
+        players:
+          items:
+            $ref: '#/components/schemas/Player'
+          type: array
+      type: object
+    InvalidIdentifierError:
+      properties:
+        invalid_external_user_ids:
+          description: Returned if using include_external_user_ids
+          items:
+            type: string
+          type: array
+        invalid_player_ids:
+          description: Returned if using include_player_ids and some were valid and
+            others were not.
+          items:
+            type: string
+          type: array
+      type: object
+    NoSubscribersError:
+      description: |
+        Returned if no subscribed players.
+      items:
+        type: string
+      type: array
+    Notification200Errors:
+      oneOf:
+      - $ref: '#/components/schemas/InvalidIdentifierError'
+      - $ref: '#/components/schemas/NoSubscribersError'
+    inline_response_200:
+      example:
+        recipients: 0
+        external_id: external_id
+        id: id
+        errors: null
+      properties:
+        id:
+          type: string
+        recipients:
+          description: Estimated number of subscribers targetted by notification.
+          type: integer
+        external_id:
+          type: string
+        errors:
+          $ref: '#/components/schemas/Notification200Errors'
+      required:
+      - id
+      - recipients
+      type: object
+    inline_response_400:
+      properties:
+        errors:
+          items:
+            type: string
+          type: array
+      type: object
+    inline_response_200_1:
+      example:
+        success: success
+      properties:
+        success:
+          type: string
+      type: object
+    get_notification_request_body:
+      properties:
+        events:
+          description: "-> \"sent\" - All the devices by player_id that were sent\
+            \ the specified notification_id.  Notifications targeting under 1000 recipients\
+            \ will not have \"sent\" events recorded, but will show \"clicked\" events.\
+            \ \"clicked\" - All the devices by `player_id` that clicked the specified\
+            \ notification_id."
+          enum:
+          - sent
+          - clicked
+          type: string
+        email:
+          description: The email address you would like the report sent.
+          type: string
+        app_id:
+          type: string
+      required:
+      - id
+      title: get_notification_request_body
+      type: object
+    inline_response_200_2:
+      example:
+        success: success
+        destination_url: destination_url
+      properties:
+        success:
+          type: string
+        destination_url:
+          type: string
+      type: object
+    inline_response_400_1:
+      properties:
+        success:
+          type: string
+        errors:
+          items:
+            type: string
+          type: array
+      type: object
+    update_player_tags_request_body:
+      properties:
+        tags:
+          description: "Custom tags for the device record.  Only support string key\
+            \ value pairs.  Does not support arrays or other nested objects.  Example\
+            \ `{\"foo\":\"bar\",\"this\":\"that\"}`.\nLimitations:\n- 100 tags per\
+            \ call\n- Android SDK users: tags cannot be removed or changed via API\
+            \ if set through SDK sendTag methods.\nRecommended to only tag devices\
+            \ with 1 kilobyte of ata\nPlease consider using your own Database to save\
+            \ more than 1 kilobyte of data.  See: Internal Database & CRM\n"
+          type: object
+      title: update_player_tags_request_body
+      type: object
+    inline_response_200_3:
+      example:
+        success: true
+      properties:
+        success:
+          type: boolean
+      type: object
+    inline_response_201:
+      example:
+        success: true
+        id: id
+      properties:
+        success:
+          type: boolean
+        id:
+          description: UUID of created segment
+          type: string
+      type: object
+    inline_response_400_2:
+      properties:
+        success:
+          type: boolean
+        errors:
+          items:
+            type: string
+          type: array
+      type: object
+    inline_response_400_3:
+      properties:
+        erorrs:
+          items:
+            type: string
+          type: array
+      type: object
+    inline_response_200_4:
+      example:
+        success: true
+        id: id
+      properties:
+        success:
+          type: boolean
+        id:
+          type: string
+      type: object
+    export_players_request_body:
+      properties:
+        extra_fields:
+          description: "Additional fields that you wish to include. Currently supports\
+            \ location, country, rooted, notification_types, ip, external_user_id,\
+            \ web_auth, and web_p256."
+          items:
+            type: string
+          type: array
+        last_active_since:
+          description: Export all devices with a last_active timestamp greater than
+            this time.  Unixtime in seconds.
+          type: integer
+        segment_name:
+          description: Export al ldevices belonging to the segment.
+          type: string
+      title: export_players_request_body
+      type: object
+    inline_response_200_5:
+      example:
+        csv_file_url: csv_file_url
+      properties:
+        csv_file_url:
+          type: string
+      type: object
+    Notification_allOf_android_background_layout:
+      description: "Channel: Push Notifications\nPlatform: Android\nAllowing setting\
+        \ a background image for the notification. This is a JSON object containing\
+        \ the following keys. See our Background Image documentation for image sizes.\n"
+      properties:
+        image:
+          description: "Asset file, android resource name, or URL to remote image."
+          type: string
+        headings_color:
+          description: Title text color ARGB Hex format. Example(Blue) "FF0000FF".
+          type: string
+        contents_color:
+          description: Body text color ARGB Hex format. Example(Red) "FFFF0000".
+          type: string
+      type: object
+      writeOnly: true
+    Notification_allOf:
+      properties:
+        id:
+          type: string
+        value:
+          readOnly: true
+          type: integer
+        aggregation:
+          enum:
+          - sum
+          - count
+          readOnly: true
+          type: string
+        isIos:
+          default: true
+          description: Indicates whether to send to all devices registered under your
+            app's Apple iOS platform.
+          type: boolean
+          writeOnly: true
+        isAndroid:
+          description: Indicates whether to send to all devices registered under your
+            app's Google Android platform.
+          type: boolean
+          writeOnly: true
+        isHuawei:
+          description: Indicates whether to send to all devices registered under your
+            app's Huawei Android platform.
+          type: boolean
+          writeOnly: true
+        isAnyWeb:
+          description: "Indicates whether to send to all subscribed web browser users,\
+            \ including Chrome, Firefox, and Safari.\nYou may use this instead as\
+            \ a combined flag instead of separately enabling isChromeWeb, isFirefox,\
+            \ and isSafari, though the three options are equivalent to this one.\n"
+          type: boolean
+          writeOnly: true
+        isChromeWeb:
+          description: "Indicates whether to send to all Google Chrome, Chrome on\
+            \ Android, and Mozilla Firefox users registered under your Chrome & Firefox\
+            \ web push platform."
+          type: boolean
+          writeOnly: true
+        isFirefox:
+          description: Indicates whether to send to all Mozilla Firefox desktop users
+            registered under your Firefox web push platform.
+          type: boolean
+          writeOnly: true
+        isSafari:
+          description: Does not support iOS Safari. Indicates whether to send to all
+            Apple's Safari desktop users registered under your Safari web push platform.
+            Read more iOS Safari
+          type: boolean
+          writeOnly: true
+        isWP_WNS:
+          description: Indicates whether to send to all devices registered under your
+            app's Windows platform.
+          type: boolean
+          writeOnly: true
+        isAdm:
+          description: Indicates whether to send to all devices registered under your
+            app's Amazon Fire platform.
+          type: boolean
+          writeOnly: true
+        isChrome:
+          description: |
+            This flag is not used for web push Please see isChromeWeb for sending to web push users. This flag only applies to Google Chrome Apps & Extensions.
+            Indicates whether to send to all devices registered under your app's Google Chrome Apps & Extension platform.
+          type: boolean
+          writeOnly: true
+        channel_for_external_user_ids:
+          description: "Indicates if the message type when targeting with include_external_user_ids\
+            \ for cases where an email, sms, and/or push subscribers have the same\
+            \ external user id.\nExample: Use the string \"push\" to indicate you\
+            \ are sending a push notification or the string \"email\"for sending emails\
+            \ or \"sms\"for sending SMS.\n"
+          type: string
+          writeOnly: true
+        app_id:
+          description: "Required: Your OneSignal Application ID, which can be found\
+            \ in Keys & IDs.\nIt is a UUID and looks similar to 8250eaf6-1a58-489e-b136-7c74a864b434.\n"
+          type: string
+          writeOnly: true
+        external_id:
+          description: "Correlation and idempotency key.\nA request received with\
+            \ this parameter will first look for another notification with the same\
+            \ external_id. If one exists, a notification will not be sent, and result\
+            \ of the previous operation will instead be returned. Therefore, if you\
+            \ plan on using this feature, it's important to use a good source of randomness\
+            \ to generate the UUID passed here.\nThis key is only idempotent for 30\
+            \ days. After 30 days, the notification could be removed from our system\
+            \ and a notification with the same external_id will be sent again.\n \
+            \ See Idempotent Notification Requests for more details\nwriteOnly: true\n"
+          type: string
+        contents:
+          allOf:
+          - $ref: '#/components/schemas/StringMap'
+          - description: "Required unless content_available=true or template_id is\
+              \ set.\nThe message's content (excluding the title), a map of language\
+              \ codes to text for each language.\nEach hash must have a language code\
+              \ string for a key, mapped to the localized text you would like users\
+              \ to receive for that language.\nThis field supports inline substitutions.\n\
+              English must be included in the hash.\nExample: {\"en\": \"English Message\"\
+              , \"es\": \"Spanish Message\"}\n"
+            writeOnly: true
+        headings:
+          allOf:
+          - $ref: '#/components/schemas/StringMap'
+          - description: "The message's title, a map of language codes to text for\
+              \ each language. Each hash must have a language code string for a key,\
+              \ mapped to the localized text you would like users to receive for that\
+              \ language.\nThis field supports inline substitutions.\nExample: {\"\
+              en\": \"English Title\", \"es\": \"Spanish Title\"}\n"
+            writeOnly: true
+        subtitle:
+          allOf:
+          - $ref: '#/components/schemas/StringMap'
+          - description: "The message's subtitle, a map of language codes to text\
+              \ for each language. Each hash must have a language code string for\
+              \ a key, mapped to the localized text you would like users to receive\
+              \ for that language.\nThis field supports inline substitutions.\nExample:\
+              \ {\"en\": \"English Subtitle\", \"es\": \"Spanish Subtitle\"}\n"
+            writeOnly: true
+        data:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nA custom map\
+            \ of data that is passed back to your app. Same as using Additional Data\
+            \ within the dashboard. Can use up to 2048 bytes of data.\nExample: {\"\
+            abc\": 123, \"foo\": \"bar\", \"event_performed\": true, \"amount\": 12.1}\n"
+          type: object
+          writeOnly: true
+        huawei_msg_type:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nUse \"data\"\
+            \ or \"message\" depending on the type of notification you are sending.\
+            \ More details in Data & Background Notifications.\n"
+          type: string
+          writeOnly: true
+        url:
+          description: "Channel: Push Notifications\nPlatform: All\nThe URL to open\
+            \ in the browser when a user clicks on the notification.\nNote: iOS needs\
+            \ https or updated NSAppTransportSecurity in plist\nThis field supports\
+            \ inline substitutions.\nOmit if including web_url or app_url\nExample:\
+            \ https://onesignal.com\n"
+          type: string
+          writeOnly: true
+        web_url:
+          description: "Channel: Push Notifications\nPlatform: All Browsers\nSame\
+            \ as url but only sent to web push platforms.\nIncluding Chrome, Firefox,\
+            \ Safari, Opera, etc.\nExample: https://onesignal.com\n"
+          type: string
+          writeOnly: true
+        app_url:
+          description: "Channel: Push Notifications\nPlatform: All Browsers\nSame\
+            \ as url but only sent to web push platforms.\nIncluding iOS, Android,\
+            \ macOS, Windows, ChromeApps, etc.\nExample: https://onesignal.com\n"
+          type: string
+          writeOnly: true
+        ios_attachments:
+          description: "Channel: Push Notifications\nPlatform: iOS 10+\nAdds media\
+            \ attachments to notifications. Set as JSON object, key as a media id\
+            \ of your choice and the value as a valid local filename or URL. User\
+            \ must press and hold on the notification to view.\nDo not set mutable_content\
+            \ to download attachments. The OneSignal SDK does this automatically\n\
+            Example: {\"id1\": \"https://domain.com/image.jpg\"}\n"
+          type: object
+          writeOnly: true
+        template_id:
+          description: "Channel: Push Notifications\nPlatform: All\nUse a template\
+            \ you setup on our dashboard. The template_id is the UUID found in the\
+            \ URL when viewing a template on our dashboard.\nExample: be4a8044-bbd6-11e4-a581-000c2940e62c\n"
+          type: string
+          writeOnly: true
+        content_available:
+          description: "Channel: Push Notifications\nPlatform: iOS\nSending true wakes\
+            \ your app from background to run custom native code (Apple interprets\
+            \ this as content-available=1). Note: Not applicable if the app is in\
+            \ the \"force-quit\" state (i.e app was swiped away). Omit the contents\
+            \ field to prevent displaying a visible notification.\n"
+          type: boolean
+          writeOnly: true
+        mutable_content:
+          description: "Channel: Push Notifications\nPlatform: iOS 10+\nAlways defaults\
+            \ to true and cannot be turned off. Allows tracking of notification receives\
+            \ and changing of the notification content in your app before it is displayed.\
+            \ Triggers didReceive(_:withContentHandler:) on your UNNotificationServiceExtension.\n"
+          type: boolean
+          writeOnly: true
+        target_content_identifier:
+          description: "Channel: Push Notifications\nPlatform: iOS 13+\nUse to target\
+            \ a specific experience in your App Clip, or to target your notification\
+            \ to a specific window in a multi-scene App.\n"
+          type: string
+          writeOnly: true
+        big_picture:
+          description: "Channel: Push Notifications\nPlatform: Android\nPicture to\
+            \ display in the expanded view. Can be a drawable resource name or a URL.\n"
+          type: string
+          writeOnly: true
+        huawei_big_picture:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nPicture to\
+            \ display in the expanded view. Can be a drawable resource name or a URL.\n"
+          type: string
+          writeOnly: true
+        adm_big_picture:
+          description: "Channel: Push Notifications\nPlatform: Amazon\nPicture to\
+            \ display in the expanded view. Can be a drawable resource name or a URL.\n"
+          type: string
+          writeOnly: true
+        chrome_big_picture:
+          description: "Channel: Push Notifications\nPlatform: ChromeApp\nLarge picture\
+            \ to display below the notification text. Must be a local URL.\n"
+          type: string
+          writeOnly: true
+        chrome_web_image:
+          description: "Channel: Push Notifications\nPlatform: Chrome 56+\nSets the\
+            \ web push notification's large image to be shown below the notification's\
+            \ title and text. Please see Web Push Notification Icons.\n"
+          type: string
+          writeOnly: true
+        buttons:
+          description: "Channel: Push Notifications\nPlatform: iOS 8.0+, Android 4.1+,\
+            \ and derivatives like Amazon Buttons to add to the notification. Icon\
+            \ only works for Android.\nButtons show in reverse order of array position\
+            \ i.e. Last item in array shows as first button on device.\nExample: [{\"\
+            id\": \"id2\", \"text\": \"second button\", \"icon\": \"ic_menu_share\"\
+            }, {\"id\": \"id1\", \"text\": \"first button\", \"icon\": \"ic_menu_send\"\
+            }]\n"
+          items:
+            $ref: '#/components/schemas/Button'
+          type: array
+          writeOnly: true
+        web_buttons:
+          description: "Channel: Push Notifications\nPlatform: Chrome 48+\nAdd action\
+            \ buttons to the notification. The id field is required.\nExample: [{\"\
+            id\": \"like-button\", \"text\": \"Like\", \"icon\": \"http://i.imgur.com/N8SN8ZS.png\"\
+            , \"url\": \"https://yoursite.com\"}, {\"id\": \"read-more-button\", \"\
+            text\": \"Read more\", \"icon\": \"http://i.imgur.com/MIxJp1L.png\", \"\
+            url\": \"https://yoursite.com\"}]\n"
+          items:
+            $ref: '#/components/schemas/Button'
+          type: array
+          writeOnly: true
+        ios_category:
+          description: "Channel: Push Notifications\nPlatform: iOS\nCategory APS payload,\
+            \ use with registerUserNotificationSettings:categories in your Objective-C\
+            \ / Swift code.\nExample: calendar category which contains actions like\
+            \ accept and decline\niOS 10+ This will trigger your UNNotificationContentExtension\
+            \ whose ID matches this category.\n"
+          type: string
+          writeOnly: true
+        android_channel_id:
+          description: "Channel: Push Notifications\nPlatform: Android\nThe Android\
+            \ Oreo Notification Category to send the notification under. See the Category\
+            \ documentation on creating one and getting it's id.\n"
+          type: string
+          writeOnly: true
+        huawei_channel_id:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nThe Android\
+            \ Oreo Notification Category to send the notification under. See the Category\
+            \ documentation on creating one and getting it's id.\n"
+          type: string
+          writeOnly: true
+        existing_android_channel_id:
+          description: "Channel: Push Notifications\nPlatform: Android\nUse this if\
+            \ you have client side Android Oreo Channels you have already defined\
+            \ in your app with code.\n"
+          type: string
+          writeOnly: true
+        huawei_existing_channel_id:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nUse this if\
+            \ you have client side Android Oreo Channels you have already defined\
+            \ in your app with code.\n"
+          type: string
+          writeOnly: true
+        android_background_layout:
+          $ref: '#/components/schemas/Notification_allOf_android_background_layout'
+        small_icon:
+          description: "Channel: Push Notifications\nPlatform: Android\nIcon shown\
+            \ in the status bar and on the top left of the notification.\nIf not set\
+            \ a bell icon will be used or ic_stat_onesignal_default if you have set\
+            \ this resource name.\nSee: How to create small icons\n"
+          type: string
+          writeOnly: true
+        huawei_small_icon:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nIcon shown\
+            \ in the status bar and on the top left of the notification.\nUse an Android\
+            \ resource path (E.g. /drawable/small_icon).\nDefaults to your app icon\
+            \ if not set.\n"
+          type: string
+          writeOnly: true
+        large_icon:
+          description: "Channel: Push Notifications\nPlatform: Android\nCan be a drawable\
+            \ resource name or a URL.\nSee: How to create large icons\n"
+          type: string
+          writeOnly: true
+        huawei_large_icon:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nCan be a drawable\
+            \ resource name or a URL.\nSee: How to create large icons\n"
+          type: string
+          writeOnly: true
+        adm_small_icon:
+          description: "Channel: Push Notifications\nPlatform: Amazon\nIf not set\
+            \ a bell icon will be used or ic_stat_onesignal_default if you have set\
+            \ this resource name.\nSee: How to create small icons\n"
+          type: string
+          writeOnly: true
+        adm_large_icon:
+          description: "Channel: Push Notifications\nPlatform: Amazon\nIf blank the\
+            \ small_icon is used. Can be a drawable resource name or a URL.\nSee:\
+            \ How to create large icons\n"
+          type: string
+          writeOnly: true
+        chrome_web_icon:
+          description: "Channel: Push Notifications\nPlatform: Chrome\nSets the web\
+            \ push notification's icon. An image URL linking to a valid image. Common\
+            \ image types are supported; GIF will not animate. We recommend 256x256\
+            \ (at least 80x80) to display well on high DPI devices. Firefox will also\
+            \ use this icon, unless you specify firefox_icon.\n"
+          type: string
+        chrome_web_badge:
+          description: "Channel: Push Notifications\nPlatform: Chrome\nSets the web\
+            \ push notification icon for Android devices in the notification shade.\
+            \ Please see Web Push Notification Badge.\n"
+          type: string
+          writeOnly: true
+        firefox_icon:
+          description: "Channel: Push Notifications\nPlatform: Firefox\nNot recommended\
+            \ Few people need to set Firefox-specific icons. We recommend setting\
+            \ chrome_web_icon instead, which Firefox will also use.\nSets the web\
+            \ push notification's icon for Firefox. An image URL linking to a valid\
+            \ image. Common image types are supported; GIF will not animate. We recommend\
+            \ 256x256 (at least 80x80) to display well on high DPI devices.\n"
+          type: string
+          writeOnly: true
+        chrome_icon:
+          description: "Channel: Push Notifications\nPlatform: ChromeApp\nThis flag\
+            \ is not used for web push For web push, please see chrome_web_icon instead.\n\
+            The local URL to an icon to use. If blank, the app icon will be used.\n"
+          type: string
+          writeOnly: true
+        ios_sound:
+          description: "Channel: Push Notifications\nPlatform: iOS\nSound file that\
+            \ is included in your app to play instead of the default device notification\
+            \ sound. Pass nil to disable vibration and sound for the notification.\n\
+            Example: \"notification.wav\"\n"
+          type: string
+          writeOnly: true
+        android_sound:
+          description: "Channel: Push Notifications\nPlatform: Android\n&#9888;&#65039;Deprecated,\
+            \ this field doesn't work on Android 8 (Oreo) and newer devices!\nPlease\
+            \ use Notification Categories / Channels noted above instead to support\
+            \ ALL versions of Android.\nSound file that is included in your app to\
+            \ play instead of the default device notification sound. Pass nil to disable\
+            \ sound for the notification.\nNOTE: Leave off file extension for Android.\n\
+            Example: \"notification\"\n"
+          type: string
+          writeOnly: true
+        huawei_sound:
+          description: "Channel: Push Notifications\nPlatform: Huawei\n&#9888;&#65039;Deprecated,\
+            \ this field ONLY works on EMUI 5 (Android 7 based) and older devices.\n\
+            Please also set Notification Categories / Channels noted above to support\
+            \ EMUI 8 (Android 8 based) devices.\nSound file that is included in your\
+            \ app to play instead of the default device notification sound. NOTE:\
+            \ Leave off file extension for and include the full path.\n\nExample:\
+            \ \"/res/raw/notification\"\n"
+          type: string
+          writeOnly: true
+        adm_sound:
+          description: "Channel: Push Notifications\nPlatform: Amazon\n&#9888;&#65039;Deprecated,\
+            \ this field doesn't work on Android 8 (Oreo) and newer devices!\nPlease\
+            \ use Notification Categories / Channels noted above instead to support\
+            \ ALL versions of Android.\nSound file that is included in your app to\
+            \ play instead of the default device notification sound. Pass nil to disable\
+            \ sound for the notification.\nNOTE: Leave off file extension for Android.\n\
+            Example: \"notification\"\n"
+          type: string
+          writeOnly: true
+        wp_wns_sound:
+          description: "Channel: Push Notifications\nPlatform: Windows\nSound file\
+            \ that is included in your app to play instead of the default device notification\
+            \ sound.\nExample: \"notification.wav\"\n"
+          type: string
+          writeOnly: true
+        android_led_color:
+          description: "Channel: Push Notifications\nPlatform: Android\n&#9888;&#65039;Deprecated,\
+            \ this field doesn't work on Android 8 (Oreo) and newer devices!\nPlease\
+            \ use Notification Categories / Channels noted above instead to support\
+            \ ALL versions of Android.\nSets the devices LED notification light if\
+            \ the device has one. ARGB Hex format.\nExample(Blue): \"FF0000FF\"\n"
+          type: string
+          writeOnly: true
+        huawei_led_color:
+          description: "Channel: Push Notifications\nPlatform: Huawei\n&#9888;&#65039;Deprecated,\
+            \ this field ONLY works on EMUI 5 (Android 7 based) and older devices.\n\
+            Please also set Notification Categories / Channels noted above to support\
+            \ EMUI 8 (Android 8 based) devices.\nSets the devices LED notification\
+            \ light if the device has one. RGB Hex format.\nExample(Blue): \"0000FF\"\
+            \n"
+          type: string
+          writeOnly: true
+        android_accent_color:
+          description: "Channel: Push Notifications\nPlatform: Android\nSets the background\
+            \ color of the notification circle to the left of the notification text.\
+            \ Only applies to apps targeting Android API level 21+ on Android 5.0+\
+            \ devices.\nExample(Red): \"FFFF0000\"\n"
+          type: string
+          writeOnly: true
+        huawei_accent_color:
+          description: "Channel: Push Notifications\nPlatform: Huawei\nAccent Color\
+            \ used on Action Buttons and Group overflow count.\nUses RGB Hex value\
+            \ (E.g. #9900FF).\nDefaults to device's theme color if not set.\n"
+          type: string
+          writeOnly: true
+        android_visibility:
+          description: "Channel: Push Notifications\nPlatform: Android 5.0_\n&#9888;&#65039;Deprecated,\
+            \ this field doesn't work on Android 8 (Oreo) and newer devices!\nPlease\
+            \ use Notification Categories / Channels noted above instead to support\
+            \ ALL versions of Android.\n1 = Public (default) (Shows the full message\
+            \ on the lock screen unless the user has disabled all notifications from\
+            \ showing on the lock screen. Please consider the user and mark private\
+            \ if the contents are.)\n0 = Private (Hides message contents on lock screen\
+            \ if the user set \"Hide sensitive notification content\" in the system\
+            \ settings)\n-1 = Secret (Notification does not show on the lock screen\
+            \ at all)\n"
+          type: integer
+          writeOnly: true
+        huawei_visibility:
+          description: "Channel: Push Notifications\nPlatform: Huawei\n&#9888;&#65039;Deprecated,\
+            \ this field ONLY works on EMUI 5 (Android 7 based) and older devices.\n\
+            Please also set Notification Categories / Channels noted above to support\
+            \ EMUI 8 (Android 8 based) devices.\n1 = Public (default) (Shows the full\
+            \ message on the lock screen unless the user has disabled all notifications\
+            \ from showing on the lock screen. Please consider the user and mark private\
+            \ if the contents are.)\n0 = Private (Hides message contents on lock screen\
+            \ if the user set \"Hide sensitive notification content\" in the system\
+            \ settings)\n-1 = Secret (Notification does not show on the lock screen\
+            \ at all)\n"
+          type: integer
+          writeOnly: true
+        ios_badgeType:
+          description: "Channel: Push Notifications\nPlatform: iOS\nDescribes whether\
+            \ to set or increase/decrease your app's iOS badge count by the ios_badgeCount\
+            \ specified count. Can specify None, SetTo, or Increase.\n`None` leaves\
+            \ the count unaffected.\n`SetTo` directly sets the badge count to the\
+            \ number specified in ios_badgeCount.\n`Increase` adds the number specified\
+            \ in ios_badgeCount to the total. Use a negative number to decrease the\
+            \ badge count.\n"
+          type: string
+          writeOnly: true
+        ios_badgeCount:
+          description: "Channel: Push Notifications\nPlatform: iOS\nUsed with ios_badgeType,\
+            \ describes the value to set or amount to increase/decrease your app's\
+            \ iOS badge count by.\nYou can use a negative number to decrease the badge\
+            \ count when used with an ios_badgeType of Increase.\n"
+          type: integer
+          writeOnly: true
+        collapse_id:
+          description: "Channel: Push Notifications\nPlatform: iOS 10+, Android\n\
+            Only one notification with the same id will be shown on the device. Use\
+            \ the same id to update an existing notification instead of showing a\
+            \ new one. Limit of 64 characters.\n"
+          type: string
+          writeOnly: true
+        web_push_topic:
+          description: "Channel: Push Notifications\nPlatform: All Browsers\nDisplay\
+            \ multiple notifications at once with different topics.\n"
+          type: string
+        apns_alert:
+          description: "Channel: Push Notifications\nPlatform: iOS 10+\niOS can localize\
+            \ push notification messages on the client using special parameters such\
+            \ as loc-key. When using the Create Notification endpoint, you must include\
+            \ these parameters inside of a field called apns_alert. Please see Apple's\
+            \ guide on localizing push notifications to learn more.\n"
+          type: object
+          writeOnly: true
+        send_after:
+          description: "Channel: All\nSchedule notification for future delivery. API\
+            \ defaults to UTC -1100\nExamples: All examples are the exact same date\
+            \ & time.\n\"Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\"\n\"September 24th\
+            \ 2015, 2:00:00 pm UTC-07:00\"\n\"2015-09-24 14:00:00 GMT-0700\"\n\"Sept\
+            \ 24 2015 14:00:00 GMT-0700\"\n\"Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific\
+            \ Daylight Time)\"\nNote: SMS currently only supports send_after parameter.\n"
+          type: string
+          writeOnly: true
+        delayed_option:
+          description: "Channel: All\nPossible values are:\ntimezone (Deliver at a\
+            \ specific time-of-day in each users own timezone)\nlast-active Same as\
+            \ Intelligent Delivery . (Deliver at the same time of day as each user\
+            \ last used your app).\nIf send_after is used, this takes effect after\
+            \ the send_after time has elapsed.\n"
+          type: string
+          writeOnly: true
+        delivery_time_of_day:
+          description: "Channel: All\nUse with delayed_option=timezone.\nExamples:\
+            \ \"9:00AM\"\n\"21:45\"\n\"9:45:30\"\n"
+          type: string
+          writeOnly: true
+        ttl:
+          description: "Channel: Push Notifications\nPlatform: iOS, Android, Chrome,\
+            \ Firefox, Safari, ChromeWeb\nTime To Live - In seconds. The notification\
+            \ will be expired if the device does not come back online within this\
+            \ time. The default is 259,200 seconds (3 days).\nMax value to set is\
+            \ 2419200 seconds (28 days).\n"
+          type: integer
+          writeOnly: true
+        priority:
+          description: "Channel: Push Notifications\nPlatform: Android, Chrome, ChromeWeb\n\
+            Delivery priority through the push server (example GCM/FCM). Pass 10 for\
+            \ high priority or any other integer for normal priority. Defaults to\
+            \ normal priority for Android and high for iOS. For Android 6.0+ devices\
+            \ setting priority to high will wake the device out of doze mode.\n"
+          type: integer
+          writeOnly: true
+        apns_push_type_override:
+          description: "Channel: Push Notifications\nPlatform: iOS\nvalid values:\
+            \ voip\nSet the value to voip for sending VoIP Notifications\nThis field\
+            \ maps to the APNS header apns-push-type.\nNote: alert and background\
+            \ are automatically set by OneSignal\n"
+          type: string
+          writeOnly: true
+        throttle_rate_per_minute:
+          description: "Channel: All\nApps with throttling enabled:\n  - the parameter\
+            \ value will be used to override the default application throttling value\
+            \ set from the dashboard settings.\n  - parameter value 0 indicates not\
+            \ to apply throttling to the notification.\n  - if the parameter is not\
+            \ passed then the default app throttling value will be applied to the\
+            \ notification.\nApps with throttling disabled:\n  - this parameter can\
+            \ be used to throttle delivery for the notification even though throttling\
+            \ is not enabled at the application level.\nRefer to throttling for more\
+            \ details.\n"
+          type: string
+          writeOnly: true
+        android_group:
+          description: "Channel: Push Notifications\nPlatform: Android\nNotifications\
+            \ with the same group will be stacked together using Android's Notification\
+            \ Grouping feature.\n"
+          type: string
+          writeOnly: true
+        android_group_message:
+          description: "Channel: Push Notifications\nPlatform: Android\nNote: This\
+            \ only works for Android 6 and older. Android 7+ allows full expansion\
+            \ of all message.\nSummary message to display when 2+ notifications are\
+            \ stacked together. Default is \"# new messages\". Include $[notif_count]\
+            \ in your message and it will be replaced with the current number.\nLanguages\
+            \ - The value of each key is the message that will be sent to users for\
+            \ that language. \"en\" (English) is required. The key of each hash is\
+            \ either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified\
+            \ or Traditional Chinese. Read more: supported languages.\nExample: {\"\
+            en\": \"You have $[notif_count] new messages\"}\n"
+          type: string
+          writeOnly: true
+        adm_group:
+          description: "Channel: Push Notifications\nPlatform: Amazon\nNotifications\
+            \ with the same group will be stacked together using Android's Notification\
+            \ Grouping feature.\n"
+          type: string
+          writeOnly: true
+        adm_group_message:
+          description: "Channel: Push Notifications\nPlatform: Amazon\nSummary message\
+            \ to display when 2+ notifications are stacked together. Default is \"\
+            # new messages\". Include $[notif_count] in your message and it will be\
+            \ replaced with the current number. \"en\" (English) is required. The\
+            \ key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant\
+            \ for Simplified or Traditional Chinese. The value of each key is the\
+            \ message that will be sent to users for that language.\nExample: {\"\
+            en\": \"You have $[notif_count] new messages\"}\n"
+          type: object
+          writeOnly: true
+        thread_id:
+          description: "Channel: Push Notifications\nPlatform: iOS 12+\nThis parameter\
+            \ is supported in iOS 12 and above. It allows you to group related notifications\
+            \ together.\nIf two notifications have the same thread-id, they will both\
+            \ be added to the same group.\n"
+          type: string
+          writeOnly: true
+        summary_arg:
+          description: "Channel: Push Notifications\nPlatform: iOS 12+\nWhen using\
+            \ thread_id to create grouped notifications in iOS 12+, you can also control\
+            \ the summary. For example, a grouped notification can say \"12 more notifications\
+            \ from John Doe\".\nThe summary_arg lets you set the name of the person/thing\
+            \ the notifications are coming from, and will show up as \"X more notifications\
+            \ from summary_arg\"\n"
+          type: string
+          writeOnly: true
+        summary_arg_count:
+          description: "Channel: Push Notifications\nPlatform: iOS 12+\nWhen using\
+            \ thread_id, you can also control the count of the number of notifications\
+            \ in the group. For example, if the group already has 12 notifications,\
+            \ and you send a new notification with summary_arg_count = 2, the new\
+            \ total will be 14 and the summary will be \"14 more notifications from\
+            \ summary_arg\"\n"
+          type: integer
+          writeOnly: true
+        email_subect:
+          description: "Channel: Email\nRequired.  The subject of the email.\n"
+          type: string
+          writeOnly: true
+        email_body:
+          description: "Channel: Email\nRequired unless template_id is set.\nHTML\
+            \ suported\nThe body of the email you wish to send. Typically, customers\
+            \ include their own HTML templates here. Must include [unsubscribe_url]\
+            \ in an <a> tag somewhere in the email.\nNote: any malformed HTML content\
+            \ will be sent to users. Please double-check your HTML is valid.\n"
+          type: string
+          writeOnly: true
+        email_from_name:
+          description: "Channel: Email\nThe name the email is from. If not specified,\
+            \ will default to \"from name\" set in the OneSignal Dashboard Email Settings.\n"
+          type: string
+          writeOnly: true
+        email_from_address:
+          description: "Channel: Email\nThe email address the email is from. If not\
+            \ specified, will default to \"from email\" set in the OneSignal Dashboard\
+            \ Email Settings.\n"
+          type: string
+          writeOnly: true
+        sms_from:
+          description: "Channel: SMS\nPhone Number used to send SMS. Should be a registered\
+            \ Twilio phone number in E.164 format.\n"
+          type: string
+          writeOnly: true
+        sms_media_urls:
+          description: "Channel: SMS\nURLs for the media files to be attached to the\
+            \ SMS content.\nLimit: 10 media urls with a total max. size of 5MBs.\n"
+          items:
+            type: string
+          type: array
+          writeOnly: true
+      type: object
+  securitySchemes:
+    app_key:
+      scheme: bearer
+      type: http
+    user_key:
+      scheme: bearer
+      type: http
diff --git a/api_default.go b/api_default.go
new file mode 100644
index 0000000..7a89ce8
--- /dev/null
+++ b/api_default.go
@@ -0,0 +1,2411 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"bytes"
+	"context"
+	"io/ioutil"
+	"net/http"
+	"net/url"
+	"strings"
+)
+
+
+// DefaultApiService DefaultApi service
+type DefaultApiService service
+
+type ApiCancelNotificationRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	notificationId string
+}
+
+func (r ApiCancelNotificationRequest) AppId(appId string) ApiCancelNotificationRequest {
+	r.appId = &appId
+	return r
+}
+
+func (r ApiCancelNotificationRequest) Execute() (*InlineResponse2001, *http.Response, error) {
+	return r.ApiService.CancelNotificationExecute(r)
+}
+
+/*
+CancelNotification Stop a scheduled or currently outgoing notification
+
+Used to stop a scheduled or currently outgoing notification
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param notificationId
+ @return ApiCancelNotificationRequest
+*/
+func (a *DefaultApiService) CancelNotification(ctx context.Context, notificationId string) ApiCancelNotificationRequest {
+	return ApiCancelNotificationRequest{
+		ApiService: a,
+		ctx: ctx,
+		notificationId: notificationId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2001
+func (a *DefaultApiService) CancelNotificationExecute(r ApiCancelNotificationRequest) (*InlineResponse2001, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodDelete
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2001
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.CancelNotification")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/notifications/{notification_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"notification_id"+"}", url.PathEscape(parameterToString(r.notificationId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreateAppRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	app *App
+}
+
+func (r ApiCreateAppRequest) App(app App) ApiCreateAppRequest {
+	r.app = &app
+	return r
+}
+
+func (r ApiCreateAppRequest) Execute() (*App, *http.Response, error) {
+	return r.ApiService.CreateAppExecute(r)
+}
+
+/*
+CreateApp Create an app
+
+Creates a new OneSignal app
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateAppRequest
+*/
+func (a *DefaultApiService) CreateApp(ctx context.Context) ApiCreateAppRequest {
+	return ApiCreateAppRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return App
+func (a *DefaultApiService) CreateAppExecute(r ApiCreateAppRequest) (*App, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *App
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.CreateApp")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.app == nil {
+		return localVarReturnValue, nil, reportError("app is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.app
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreateNotificationRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	notification *Notification
+}
+
+func (r ApiCreateNotificationRequest) Notification(notification Notification) ApiCreateNotificationRequest {
+	r.notification = &notification
+	return r
+}
+
+func (r ApiCreateNotificationRequest) Execute() (*InlineResponse200, *http.Response, error) {
+	return r.ApiService.CreateNotificationExecute(r)
+}
+
+/*
+CreateNotification Create notification
+
+Sends notifications to your users
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateNotificationRequest
+*/
+func (a *DefaultApiService) CreateNotification(ctx context.Context) ApiCreateNotificationRequest {
+	return ApiCreateNotificationRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse200
+func (a *DefaultApiService) CreateNotificationExecute(r ApiCreateNotificationRequest) (*InlineResponse200, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse200
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.CreateNotification")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/notifications"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.notification == nil {
+		return localVarReturnValue, nil, reportError("notification is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.notification
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v InlineResponse400
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreatePlayerRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	player *Player
+}
+
+func (r ApiCreatePlayerRequest) Player(player Player) ApiCreatePlayerRequest {
+	r.player = &player
+	return r
+}
+
+func (r ApiCreatePlayerRequest) Execute() (*InlineResponse2004, *http.Response, error) {
+	return r.ApiService.CreatePlayerExecute(r)
+}
+
+/*
+CreatePlayer Add a device
+
+Register a new device to one of your OneSignal apps
+&#x1F6A7;
+Don't use this
+This API endpoint is designed to be used from our open source Mobile and Web Push SDKs. It is not designed for developers to use it directly, unless instructed to do so by OneSignal support.
+If you use this method instead of our SDKs, many OneSignal features such as conversion tracking, timezone tracking, language detection, and rich-push won't work out of the box. It will also make it harder to identify possible setup issues.
+This method is used to register a new device with OneSignal.
+If a device is already registered with the specified identifier, then this will update the existing device record instead of creating a new one.
+The returned player is a player / user ID. Use the returned ID to send push notifications to this specific user later, or to include this player when sending to a set of users.
+&#x1F6A7;
+iOS
+Must set test_type to 1 when building your iOS app as development. Omit this field in your production app builds.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreatePlayerRequest
+*/
+func (a *DefaultApiService) CreatePlayer(ctx context.Context) ApiCreatePlayerRequest {
+	return ApiCreatePlayerRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2004
+func (a *DefaultApiService) CreatePlayerExecute(r ApiCreatePlayerRequest) (*InlineResponse2004, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2004
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.CreatePlayer")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.player == nil {
+		return localVarReturnValue, nil, reportError("player is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.player
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreateSegmentsRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	segment *Segment
+}
+
+func (r ApiCreateSegmentsRequest) Segment(segment Segment) ApiCreateSegmentsRequest {
+	r.segment = &segment
+	return r
+}
+
+func (r ApiCreateSegmentsRequest) Execute() (*InlineResponse201, *http.Response, error) {
+	return r.ApiService.CreateSegmentsExecute(r)
+}
+
+/*
+CreateSegments Create Segments
+
+Create segments visible and usable in the dashboard and API - Required: OneSignal Paid Plan
+The Create Segment method is used when you want your server to programmatically create a segment instead of using the OneSignal Dashboard UI. Just like creating Segments from the dashboard you can pass in filters with multiple "AND" or "OR" operator's.
+&#x1F6A7;
+Does Not Update Segments
+This endpoint will only create segments, it does not edit or update currently created Segments. You will need to use the Delete Segments endpoint and re-create it with this endpoint to edit.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId The OneSignal App ID for your app.  Available in Keys & IDs.
+ @return ApiCreateSegmentsRequest
+*/
+func (a *DefaultApiService) CreateSegments(ctx context.Context, appId string) ApiCreateSegmentsRequest {
+	return ApiCreateSegmentsRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse201
+func (a *DefaultApiService) CreateSegmentsExecute(r ApiCreateSegmentsRequest) (*InlineResponse201, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse201
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.CreateSegments")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}/segments"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.segment
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v InlineResponse4002
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 409 {
+			var v InlineResponse4002
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeletePlayerRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	playerId string
+}
+
+// The OneSignal App ID for your app.  Available in Keys &amp; IDs.
+func (r ApiDeletePlayerRequest) AppId(appId string) ApiDeletePlayerRequest {
+	r.appId = &appId
+	return r
+}
+
+func (r ApiDeletePlayerRequest) Execute() (*InlineResponse2001, *http.Response, error) {
+	return r.ApiService.DeletePlayerExecute(r)
+}
+
+/*
+DeletePlayer Delete a user record
+
+Delete player - Required:
+Used to delete a single, specific Player ID record from a specific OneSignal app.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param playerId The OneSignal player_id
+ @return ApiDeletePlayerRequest
+*/
+func (a *DefaultApiService) DeletePlayer(ctx context.Context, playerId string) ApiDeletePlayerRequest {
+	return ApiDeletePlayerRequest{
+		ApiService: a,
+		ctx: ctx,
+		playerId: playerId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2001
+func (a *DefaultApiService) DeletePlayerExecute(r ApiDeletePlayerRequest) (*InlineResponse2001, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodDelete
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2001
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.DeletePlayer")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players/{player_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"player_id"+"}", url.PathEscape(parameterToString(r.playerId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v InlineResponse4003
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v InlineResponse2001
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteSegmentsRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	segmentId string
+}
+
+func (r ApiDeleteSegmentsRequest) Execute() (*InlineResponse2003, *http.Response, error) {
+	return r.ApiService.DeleteSegmentsExecute(r)
+}
+
+/*
+DeleteSegments Delete Segments
+
+Delete segments (not user devices) - Required: OneSignal Paid Plan
+You can delete a segment under your app by calling this API. You must provide an API key in the Authorization header that has admin access on the app.
+The segment_id can be found in the URL of the segment when viewing it in the dashboard.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId The OneSignal App ID for your app.  Available in Keys & IDs.
+ @param segmentId The segment_id can be found in the URL of the segment when viewing it in the dashboard.
+ @return ApiDeleteSegmentsRequest
+*/
+func (a *DefaultApiService) DeleteSegments(ctx context.Context, appId string, segmentId string) ApiDeleteSegmentsRequest {
+	return ApiDeleteSegmentsRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+		segmentId: segmentId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2003
+func (a *DefaultApiService) DeleteSegmentsExecute(r ApiDeleteSegmentsRequest) (*InlineResponse2003, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodDelete
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2003
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.DeleteSegments")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}/segments/{segment_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"segment_id"+"}", url.PathEscape(parameterToString(r.segmentId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v InlineResponse4003
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v InlineResponse2003
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiExportPlayersRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	exportPlayersRequestBody *ExportPlayersRequestBody
+}
+
+func (r ApiExportPlayersRequest) ExportPlayersRequestBody(exportPlayersRequestBody ExportPlayersRequestBody) ApiExportPlayersRequest {
+	r.exportPlayersRequestBody = &exportPlayersRequestBody
+	return r
+}
+
+func (r ApiExportPlayersRequest) Execute() (*InlineResponse2005, *http.Response, error) {
+	return r.ApiService.ExportPlayersExecute(r)
+}
+
+/*
+ExportPlayers CSV export
+
+Generate a compressed CSV export of all of your current user data
+This method can be used to generate a compressed CSV export of all of your current user data. It is a much faster alternative than retrieving this data using the /players API endpoint.
+The file will be compressed using GZip.
+The file may take several minutes to generate depending on the number of users in your app.
+The URL generated will be available for 3 days and includes random v4 uuid as part of the resource name to be unguessable.
+&#x1F6A7;
+403 Error Responses          You can test if it is complete by making a GET request to the csv_file_url value. This file may take time to generate depending on how many device records are being pulled. If the file is not ready, a 403 error will be returned. Otherwise the file itself will be returned.
+&#x1F6A7;
+Requires Authentication Key
+Requires your OneSignal App's REST API Key, available in Keys & IDs.
+&#x1F6A7;
+Concurrent Exports
+Only one concurrent export is allowed per OneSignal account. Please ensure you have successfully downloaded the .csv.gz file before exporting another app.
+CSV File Format:
+- Default Columns:
+  | Field | Details |
+  | --- | --- |
+  | id | OneSignal Player Id |
+  | identifier | Push Token |
+  | session_count | Number of times they visited the app or site
+  | language | Device language code |
+  | timezone | Number of seconds away from UTC. Example: -28800 |
+  | game_version | Version of your mobile app gathered from Android Studio versionCode in your App/build.gradle and iOS uses kCFBundleVersionKey in Xcode. |
+  | device_os | Device Operating System Version. Example: 80 = Chrome 80, 9 = Android 9 |
+  | device_type | Device Operating System Type |
+  | device_model | Device Hardware String Code. Example: Mobile Web Subscribers will have `Linux armv` |
+  | ad_id | Based on the Google Advertising Id for Android, identifierForVendor for iOS. OptedOut means user turned off Advertising tracking on the device. |
+  | tags | Current OneSignal Data Tags on the device. |
+  | last_active | Date and time the user last opened the mobile app or visited the site. |
+  | playtime | Total amount of time in seconds the user had the mobile app open. |
+  | amount_spent | 	Mobile only - amount spent in USD on In-App Purchases. | 
+  | created_at | Date and time the device record was created in OneSignal. Mobile - first time they opened the app with OneSignal SDK. Web - first time the user subscribed to the site. |
+  | invalid_identifier | t = unsubscribed, f = subscibed |
+  | badge_count | Current number of badges on the device |
+- Extra Columns:
+  | Field | Details |
+  | --- | --- |
+  | external_user_id | Your User Id set on the device |
+  | notification_types | Notification types |
+  | location | Location points (Latitude and Longitude) set on the device. |
+  | country | Country code |
+  | rooted | Android device rooted or not |
+  | ip | IP Address of the device if being tracked. See Handling Personal Data. |
+  | web_auth | Web Only authorization key. |
+  | web_p256 | Web Only p256 key. |
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId The app ID that you want to export devices from
+ @return ApiExportPlayersRequest
+*/
+func (a *DefaultApiService) ExportPlayers(ctx context.Context, appId string) ApiExportPlayersRequest {
+	return ApiExportPlayersRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2005
+func (a *DefaultApiService) ExportPlayersExecute(r ApiExportPlayersRequest) (*InlineResponse2005, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2005
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.ExportPlayers")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players/csv_export?app_id={app_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.exportPlayersRequestBody
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v map[string]interface{}
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetAppRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+}
+
+func (r ApiGetAppRequest) Execute() (*App, *http.Response, error) {
+	return r.ApiService.GetAppExecute(r)
+}
+
+/*
+GetApp View an app
+
+View the details of a single OneSignal app
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId An app id
+ @return ApiGetAppRequest
+*/
+func (a *DefaultApiService) GetApp(ctx context.Context, appId string) ApiGetAppRequest {
+	return ApiGetAppRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+// Execute executes the request
+//  @return App
+func (a *DefaultApiService) GetAppExecute(r ApiGetAppRequest) (*App, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *App
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetApp")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetAppsRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+}
+
+func (r ApiGetAppsRequest) Execute() (string, *http.Response, error) {
+	return r.ApiService.GetAppsExecute(r)
+}
+
+/*
+GetApps View apps
+
+View the details of all of your current OneSignal apps
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiGetAppsRequest
+*/
+func (a *DefaultApiService) GetApps(ctx context.Context) ApiGetAppsRequest {
+	return ApiGetAppsRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return string
+func (a *DefaultApiService) GetAppsExecute(r ApiGetAppsRequest) (string, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  string
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetApps")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetNotificationRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	notificationId string
+}
+
+func (r ApiGetNotificationRequest) AppId(appId string) ApiGetNotificationRequest {
+	r.appId = &appId
+	return r
+}
+
+func (r ApiGetNotificationRequest) Execute() (*Notification, *http.Response, error) {
+	return r.ApiService.GetNotificationExecute(r)
+}
+
+/*
+GetNotification View notification
+
+View the details of a single notification and outcomes associated with it
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param notificationId
+ @return ApiGetNotificationRequest
+*/
+func (a *DefaultApiService) GetNotification(ctx context.Context, notificationId string) ApiGetNotificationRequest {
+	return ApiGetNotificationRequest{
+		ApiService: a,
+		ctx: ctx,
+		notificationId: notificationId,
+	}
+}
+
+// Execute executes the request
+//  @return Notification
+func (a *DefaultApiService) GetNotificationExecute(r ApiGetNotificationRequest) (*Notification, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *Notification
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetNotification")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/notifications/{notification_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"notification_id"+"}", url.PathEscape(parameterToString(r.notificationId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetNotificationHistoryRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	notificationId string
+	getNotificationRequestBody *GetNotificationRequestBody
+}
+
+func (r ApiGetNotificationHistoryRequest) GetNotificationRequestBody(getNotificationRequestBody GetNotificationRequestBody) ApiGetNotificationHistoryRequest {
+	r.getNotificationRequestBody = &getNotificationRequestBody
+	return r
+}
+
+func (r ApiGetNotificationHistoryRequest) Execute() (*InlineResponse2002, *http.Response, error) {
+	return r.ApiService.GetNotificationHistoryExecute(r)
+}
+
+/*
+GetNotificationHistory Notification History
+
+-> View the devices sent a message - OneSignal Paid Plan Required This method will return all devices that were sent the given notification_id of an Email or Push Notification if used within 7 days of the date sent. After 7 days of the sending date, the message history data will be unavailable. After a successful response is received, the destination url may be polled until the file becomes available. Most exports are done in ~1-3 minutes, so setting a poll interval of 10 seconds should be adequate. For use cases that are not meant to be consumed by a script, an email will be sent to the supplied email address. &#x1F6A7; Requirements A OneSignal Paid Plan. Turn on Send History via OneSignal API in Settings -> Analytics. Cannot get data before this was turned on. Must be called within 7 days after sending the message. Messages targeting under 1000 recipients will not have "sent" events recorded, but will show "clicked" events. Requires your OneSignal App's REST API Key, available in Keys & IDs.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param notificationId The \"id\" of the message found in the Notification object
+ @return ApiGetNotificationHistoryRequest
+*/
+func (a *DefaultApiService) GetNotificationHistory(ctx context.Context, notificationId string) ApiGetNotificationHistoryRequest {
+	return ApiGetNotificationHistoryRequest{
+		ApiService: a,
+		ctx: ctx,
+		notificationId: notificationId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2002
+func (a *DefaultApiService) GetNotificationHistoryExecute(r ApiGetNotificationHistoryRequest) (*InlineResponse2002, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPost
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2002
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetNotificationHistory")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/notifications/{notification_id}/history"
+	localVarPath = strings.Replace(localVarPath, "{"+"notification_id"+"}", url.PathEscape(parameterToString(r.notificationId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.getNotificationRequestBody == nil {
+		return localVarReturnValue, nil, reportError("getNotificationRequestBody is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.getNotificationRequestBody
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v InlineResponse4001
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetNotificationsRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	limit *string
+	offset *int32
+	kind *int32
+}
+
+// The app ID that you want to view notifications from
+func (r ApiGetNotificationsRequest) AppId(appId string) ApiGetNotificationsRequest {
+	r.appId = &appId
+	return r
+}
+
+// How many notifications to return.  Max is 50.  Default is 50.
+func (r ApiGetNotificationsRequest) Limit(limit string) ApiGetNotificationsRequest {
+	r.limit = &limit
+	return r
+}
+
+// Page offset.  Default is 0.  Results are sorted by queued_at in descending order.  queued_at is a representation of the time that the notification was queued at.
+func (r ApiGetNotificationsRequest) Offset(offset int32) ApiGetNotificationsRequest {
+	r.offset = &offset
+	return r
+}
+
+// Kind of notifications returned:   * unset - All notification types (default)   * &#x60;0&#x60; - Dashboard only   * &#x60;1&#x60; - API only   * &#x60;3&#x60; - Automated only 
+func (r ApiGetNotificationsRequest) Kind(kind int32) ApiGetNotificationsRequest {
+	r.kind = &kind
+	return r
+}
+
+func (r ApiGetNotificationsRequest) Execute() (*NotificationSlice, *http.Response, error) {
+	return r.ApiService.GetNotificationsExecute(r)
+}
+
+/*
+GetNotifications View notifications
+
+View the details of multiple notifications
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiGetNotificationsRequest
+*/
+func (a *DefaultApiService) GetNotifications(ctx context.Context) ApiGetNotificationsRequest {
+	return ApiGetNotificationsRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return NotificationSlice
+func (a *DefaultApiService) GetNotificationsExecute(r ApiGetNotificationsRequest) (*NotificationSlice, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *NotificationSlice
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetNotifications")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/notifications"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	if r.limit != nil {
+		localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+	}
+	if r.offset != nil {
+		localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+	}
+	if r.kind != nil {
+		localVarQueryParams.Add("kind", parameterToString(*r.kind, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetOutcomesRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	outcomeNames *string
+	outcomeNames2 *string
+	outcomeTimeRange *string
+	outcomePlatforms *string
+	outcomeAttribution *string
+}
+
+// Required Comma-separated list of names and the value (sum/count) for the returned outcome data. Note: Clicks only support count aggregation. For out-of-the-box OneSignal outcomes such as click and session duration, please use the \&quot;os\&quot; prefix with two underscores. For other outcomes, please use the name specified by the user. Example:os__session_duration.count,os__click.count,CustomOutcomeName.sum 
+func (r ApiGetOutcomesRequest) OutcomeNames(outcomeNames string) ApiGetOutcomesRequest {
+	r.outcomeNames = &outcomeNames
+	return r
+}
+
+// Optional If outcome names contain any commas, then please specify only one value at a time. Example: outcome_names[]&#x3D;os__click.count&amp;outcome_names[]&#x3D;Sales, Purchase.count where \&quot;Sales, Purchase\&quot; is the custom outcomes with a comma in the name. 
+func (r ApiGetOutcomesRequest) OutcomeNames2(outcomeNames2 string) ApiGetOutcomesRequest {
+	r.outcomeNames2 = &outcomeNames2
+	return r
+}
+
+// Optional Time range for the returned data. The values can be 1h (for the last 1 hour data), 1d (for the last 1 day data), or 1mo (for the last 1 month data). Default is 1h if the parameter is omitted. 
+func (r ApiGetOutcomesRequest) OutcomeTimeRange(outcomeTimeRange string) ApiGetOutcomesRequest {
+	r.outcomeTimeRange = &outcomeTimeRange
+	return r
+}
+
+// Optional Platform id. Refer device&#39;s platform ids for values. Example: outcome_platform&#x3D;0 for iOS outcome_platform&#x3D;7,8 for Safari and Firefox Default is data from all platforms if the parameter is omitted. 
+func (r ApiGetOutcomesRequest) OutcomePlatforms(outcomePlatforms string) ApiGetOutcomesRequest {
+	r.outcomePlatforms = &outcomePlatforms
+	return r
+}
+
+// Optional Attribution type for the outcomes. The values can be direct or influenced or unattributed. Example: outcome_attribution&#x3D;direct Default is total (returns direct+influenced+unattributed) if the parameter is omitted. 
+func (r ApiGetOutcomesRequest) OutcomeAttribution(outcomeAttribution string) ApiGetOutcomesRequest {
+	r.outcomeAttribution = &outcomeAttribution
+	return r
+}
+
+func (r ApiGetOutcomesRequest) Execute() (*OutcomesData, *http.Response, error) {
+	return r.ApiService.GetOutcomesExecute(r)
+}
+
+/*
+GetOutcomes View Outcomes
+
+View the details of all the outcomes associated with your app
+
+&#x1F6A7;
+Requires Authentication Key
+Requires your OneSignal App's REST API Key, available in Keys & IDs.
+
+&#x1F6A7;
+Outcome Data Limitations
+Outcomes are only accessible for around 30 days before deleted from our servers. You will need to export this data every month if you want to keep it.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId The OneSignal App ID for your app.  Available in Keys & IDs.
+ @return ApiGetOutcomesRequest
+*/
+func (a *DefaultApiService) GetOutcomes(ctx context.Context, appId string) ApiGetOutcomesRequest {
+	return ApiGetOutcomesRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+// Execute executes the request
+//  @return OutcomesData
+func (a *DefaultApiService) GetOutcomesExecute(r ApiGetOutcomesRequest) (*OutcomesData, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *OutcomesData
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetOutcomes")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}/outcomes"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.outcomeNames == nil {
+		return localVarReturnValue, nil, reportError("outcomeNames is required and must be specified")
+	}
+
+	localVarQueryParams.Add("outcome_names", parameterToString(*r.outcomeNames, ""))
+	if r.outcomeNames2 != nil {
+		localVarQueryParams.Add("outcome_names[]", parameterToString(*r.outcomeNames2, ""))
+	}
+	if r.outcomeTimeRange != nil {
+		localVarQueryParams.Add("outcome_time_range", parameterToString(*r.outcomeTimeRange, ""))
+	}
+	if r.outcomePlatforms != nil {
+		localVarQueryParams.Add("outcome_platforms", parameterToString(*r.outcomePlatforms, ""))
+	}
+	if r.outcomeAttribution != nil {
+		localVarQueryParams.Add("outcome_attribution", parameterToString(*r.outcomeAttribution, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetPlayerRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	playerId string
+	emailAuthHash *string
+}
+
+// Your app_id for this device
+func (r ApiGetPlayerRequest) AppId(appId string) ApiGetPlayerRequest {
+	r.appId = &appId
+	return r
+}
+
+// Email - Only required if you have enabled Identity Verification and device_type is email (11).
+func (r ApiGetPlayerRequest) EmailAuthHash(emailAuthHash string) ApiGetPlayerRequest {
+	r.emailAuthHash = &emailAuthHash
+	return r
+}
+
+func (r ApiGetPlayerRequest) Execute() (*Player, *http.Response, error) {
+	return r.ApiService.GetPlayerExecute(r)
+}
+
+/*
+GetPlayer View device
+
+View the details of an existing device in one of your OneSignal apps
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param playerId Player's OneSignal ID
+ @return ApiGetPlayerRequest
+*/
+func (a *DefaultApiService) GetPlayer(ctx context.Context, playerId string) ApiGetPlayerRequest {
+	return ApiGetPlayerRequest{
+		ApiService: a,
+		ctx: ctx,
+		playerId: playerId,
+	}
+}
+
+// Execute executes the request
+//  @return Player
+func (a *DefaultApiService) GetPlayerExecute(r ApiGetPlayerRequest) (*Player, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *Player
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetPlayer")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players/{player_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"player_id"+"}", url.PathEscape(parameterToString(r.playerId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	if r.emailAuthHash != nil {
+		localVarQueryParams.Add("email_auth_hash", parameterToString(*r.emailAuthHash, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetPlayersRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId *string
+	limit *string
+	offset *int32
+}
+
+// The app ID that you want to view players from
+func (r ApiGetPlayersRequest) AppId(appId string) ApiGetPlayersRequest {
+	r.appId = &appId
+	return r
+}
+
+// How many devices to return. Max is 300. Default is 300
+func (r ApiGetPlayersRequest) Limit(limit string) ApiGetPlayersRequest {
+	r.limit = &limit
+	return r
+}
+
+// Result offset. Default is 0. Results are sorted by id;
+func (r ApiGetPlayersRequest) Offset(offset int32) ApiGetPlayersRequest {
+	r.offset = &offset
+	return r
+}
+
+func (r ApiGetPlayersRequest) Execute() (*PlayerSlice, *http.Response, error) {
+	return r.ApiService.GetPlayersExecute(r)
+}
+
+/*
+GetPlayers View devices
+
+View the details of multiple devices in one of your OneSignal apps
+Unavailable for Apps Over 80,000 Users
+For performance reasons, this method is not available for larger apps. Larger apps should use the CSV export API endpoint, which is much more performant.
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiGetPlayersRequest
+*/
+func (a *DefaultApiService) GetPlayers(ctx context.Context) ApiGetPlayersRequest {
+	return ApiGetPlayersRequest{
+		ApiService: a,
+		ctx: ctx,
+	}
+}
+
+// Execute executes the request
+//  @return PlayerSlice
+func (a *DefaultApiService) GetPlayersExecute(r ApiGetPlayersRequest) (*PlayerSlice, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodGet
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *PlayerSlice
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetPlayers")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players"
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.appId == nil {
+		return localVarReturnValue, nil, reportError("appId is required and must be specified")
+	}
+
+	localVarQueryParams.Add("app_id", parameterToString(*r.appId, ""))
+	if r.limit != nil {
+		localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+	}
+	if r.offset != nil {
+		localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+	}
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdateAppRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	app *App
+}
+
+func (r ApiUpdateAppRequest) App(app App) ApiUpdateAppRequest {
+	r.app = &app
+	return r
+}
+
+func (r ApiUpdateAppRequest) Execute() (*App, *http.Response, error) {
+	return r.ApiService.UpdateAppExecute(r)
+}
+
+/*
+UpdateApp Update an app
+
+Updates the name or configuration settings of an existing OneSignal app
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId An app id
+ @return ApiUpdateAppRequest
+*/
+func (a *DefaultApiService) UpdateApp(ctx context.Context, appId string) ApiUpdateAppRequest {
+	return ApiUpdateAppRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+// Execute executes the request
+//  @return App
+func (a *DefaultApiService) UpdateAppExecute(r ApiUpdateAppRequest) (*App, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPut
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *App
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.UpdateApp")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.app == nil {
+		return localVarReturnValue, nil, reportError("app is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.app
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdatePlayerRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	playerId string
+	player *Player
+}
+
+func (r ApiUpdatePlayerRequest) Player(player Player) ApiUpdatePlayerRequest {
+	r.player = &player
+	return r
+}
+
+func (r ApiUpdatePlayerRequest) Execute() (*InlineResponse2001, *http.Response, error) {
+	return r.ApiService.UpdatePlayerExecute(r)
+}
+
+/*
+UpdatePlayer Edit device
+
+Update an existing device in one of your OneSignal apps
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param playerId Player's OneSignal ID
+ @return ApiUpdatePlayerRequest
+*/
+func (a *DefaultApiService) UpdatePlayer(ctx context.Context, playerId string) ApiUpdatePlayerRequest {
+	return ApiUpdatePlayerRequest{
+		ApiService: a,
+		ctx: ctx,
+		playerId: playerId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2001
+func (a *DefaultApiService) UpdatePlayerExecute(r ApiUpdatePlayerRequest) (*InlineResponse2001, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPut
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2001
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.UpdatePlayer")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/players/{player_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"player_id"+"}", url.PathEscape(parameterToString(r.playerId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+	if r.player == nil {
+		return localVarReturnValue, nil, reportError("player is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.player
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdatePlayerTagsRequest struct {
+	ctx context.Context
+	ApiService *DefaultApiService
+	appId string
+	externalUserId string
+	updatePlayerTagsRequestBody *UpdatePlayerTagsRequestBody
+}
+
+func (r ApiUpdatePlayerTagsRequest) UpdatePlayerTagsRequestBody(updatePlayerTagsRequestBody UpdatePlayerTagsRequestBody) ApiUpdatePlayerTagsRequest {
+	r.updatePlayerTagsRequestBody = &updatePlayerTagsRequestBody
+	return r
+}
+
+func (r ApiUpdatePlayerTagsRequest) Execute() (*InlineResponse2003, *http.Response, error) {
+	return r.ApiService.UpdatePlayerTagsExecute(r)
+}
+
+/*
+UpdatePlayerTags Edit tags with external user id
+
+Update an existing device's tags in one of your OneSignal apps using the External User ID.
+Warning - Android SDK Data Synchronization
+Tags added through the Android SDK tagging methods may not update if using the API to change or update the same tag.
+For example, if you use SDK method sendTag("key", "value1") then update the tag value to "value2" with this API endpoint. You will not be able to set the value back to "value1" through the SDK, you will need to change it to something different through the SDK to be reset.
+Recommendations if using this Endpoint on Android Mobile Apps:
+1 - Do not use the same tag keys for SDK and API updates
+2 - If you want to use the same key for both SDK and API updates, call the SDK getTags method first to update the device's tags.
+This is only applicable on the Android Mobile App SDKs.
+&#128216;
+Deleting Tags
+To delete a tag, include its key and set its value to blank. Omitting a key/value will not delete it.
+For example, if I wanted to delete two existing tags rank and category while simultaneously adding a new tag class, the tags JSON would look like the following:
+"tags": {
+   "rank": "",
+   "category": "",
+   "class": "my_new_value"
+}
+
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param appId The OneSignal App ID the user record is found under.
+ @param externalUserId The External User ID mapped to teh device record in OneSignal.  Must be actively set on the device to be updated.
+ @return ApiUpdatePlayerTagsRequest
+*/
+func (a *DefaultApiService) UpdatePlayerTags(ctx context.Context, appId string, externalUserId string) ApiUpdatePlayerTagsRequest {
+	return ApiUpdatePlayerTagsRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+		externalUserId: externalUserId,
+	}
+}
+
+// Execute executes the request
+//  @return InlineResponse2003
+func (a *DefaultApiService) UpdatePlayerTagsExecute(r ApiUpdatePlayerTagsRequest) (*InlineResponse2003, *http.Response, error) {
+	var (
+		localVarHTTPMethod   = http.MethodPut
+		localVarPostBody     interface{}
+		formFiles            []formFile
+		localVarReturnValue  *InlineResponse2003
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.UpdatePlayerTags")
+	if err != nil {
+		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/apps/{app_id}/users/{external_user_id}"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", url.PathEscape(parameterToString(r.appId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"external_user_id"+"}", url.PathEscape(parameterToString(r.externalUserId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := url.Values{}
+	localVarFormParams := url.Values{}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.updatePlayerTagsRequestBody
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := &GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/client.go b/client.go
new file mode 100644
index 0000000..3ba3ded
--- /dev/null
+++ b/client.go
@@ -0,0 +1,569 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"bytes"
+	"context"
+	"encoding/json"
+	"encoding/xml"
+	"errors"
+	"fmt"
+	"io"
+	"io/ioutil"
+	"log"
+	"mime/multipart"
+	"net/http"
+	"net/http/httputil"
+	"net/url"
+	"os"
+	"path/filepath"
+	"reflect"
+	"regexp"
+	"strconv"
+	"strings"
+	"time"
+	"unicode/utf8"
+
+	"golang.org/x/oauth2"
+)
+
+var (
+	jsonCheck = regexp.MustCompile(`(?i:(?:application|text)/(?:vnd\.[^;]+\+)?json)`)
+	xmlCheck  = regexp.MustCompile(`(?i:(?:application|text)/xml)`)
+)
+
+// APIClient manages communication with the OneSignal API v1.0.2
+// In most cases there should be only one, shared, APIClient.
+type APIClient struct {
+	cfg    *Configuration
+	common service // Reuse a single struct instead of allocating one for each service on the heap.
+
+	// API Services
+
+	DefaultApi *DefaultApiService
+}
+
+type service struct {
+	client *APIClient
+}
+
+// NewAPIClient creates a new API client. Requires a userAgent string describing your application.
+// optionally a custom http.Client to allow for advanced features such as caching.
+func NewAPIClient(cfg *Configuration) *APIClient {
+	if cfg.HTTPClient == nil {
+		cfg.HTTPClient = http.DefaultClient
+	}
+
+	c := &APIClient{}
+	c.cfg = cfg
+	c.common.client = c
+
+	// API Services
+	c.DefaultApi = (*DefaultApiService)(&c.common)
+
+	return c
+}
+
+func atoi(in string) (int, error) {
+	return strconv.Atoi(in)
+}
+
+// selectHeaderContentType select a content type from the available list.
+func selectHeaderContentType(contentTypes []string) string {
+	if len(contentTypes) == 0 {
+		return ""
+	}
+	if contains(contentTypes, "application/json") {
+		return "application/json"
+	}
+	return contentTypes[0] // use the first content type specified in 'consumes'
+}
+
+// selectHeaderAccept join all accept types and return
+func selectHeaderAccept(accepts []string) string {
+	if len(accepts) == 0 {
+		return ""
+	}
+
+	if contains(accepts, "application/json") {
+		return "application/json"
+	}
+
+	return strings.Join(accepts, ",")
+}
+
+// contains is a case insensitive match, finding needle in a haystack
+func contains(haystack []string, needle string) bool {
+	for _, a := range haystack {
+		if strings.ToLower(a) == strings.ToLower(needle) {
+			return true
+		}
+	}
+	return false
+}
+
+// Verify optional parameters are of the correct type.
+func typeCheckParameter(obj interface{}, expected string, name string) error {
+	// Make sure there is an object.
+	if obj == nil {
+		return nil
+	}
+
+	// Check the type is as expected.
+	if reflect.TypeOf(obj).String() != expected {
+		return fmt.Errorf("Expected %s to be of type %s but received %s.", name, expected, reflect.TypeOf(obj).String())
+	}
+	return nil
+}
+
+// parameterToString convert interface{} parameters to string, using a delimiter if format is provided.
+func parameterToString(obj interface{}, collectionFormat string) string {
+	var delimiter string
+
+	switch collectionFormat {
+	case "pipes":
+		delimiter = "|"
+	case "ssv":
+		delimiter = " "
+	case "tsv":
+		delimiter = "\t"
+	case "csv":
+		delimiter = ","
+	}
+
+	if reflect.TypeOf(obj).Kind() == reflect.Slice {
+		return strings.Trim(strings.Replace(fmt.Sprint(obj), " ", delimiter, -1), "[]")
+	} else if t, ok := obj.(time.Time); ok {
+		return t.Format(time.RFC3339)
+	}
+
+	return fmt.Sprintf("%v", obj)
+}
+
+// helper for converting interface{} parameters to json strings
+func parameterToJson(obj interface{}) (string, error) {
+	jsonBuf, err := json.Marshal(obj)
+	if err != nil {
+		return "", err
+	}
+	return string(jsonBuf), err
+}
+
+// callAPI do the request.
+func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) {
+	if c.cfg.Debug {
+		dump, err := httputil.DumpRequestOut(request, true)
+		if err != nil {
+			return nil, err
+		}
+		log.Printf("\n%s\n", string(dump))
+	}
+
+	resp, err := c.cfg.HTTPClient.Do(request)
+	if err != nil {
+		return resp, err
+	}
+
+	if c.cfg.Debug {
+		dump, err := httputil.DumpResponse(resp, true)
+		if err != nil {
+			return resp, err
+		}
+		log.Printf("\n%s\n", string(dump))
+	}
+	return resp, err
+}
+
+// Allow modification of underlying config for alternate implementations and testing
+// Caution: modifying the configuration while live can cause data races and potentially unwanted behavior
+func (c *APIClient) GetConfig() *Configuration {
+	return c.cfg
+}
+
+type formFile struct {
+		fileBytes []byte
+		fileName string
+		formFileName string
+}
+
+// prepareRequest build the request
+func (c *APIClient) prepareRequest(
+	ctx context.Context,
+	path string, method string,
+	postBody interface{},
+	headerParams map[string]string,
+	queryParams url.Values,
+	formParams url.Values,
+	formFiles []formFile) (localVarRequest *http.Request, err error) {
+
+	var body *bytes.Buffer
+
+	// Detect postBody type and post.
+	if postBody != nil {
+		contentType := headerParams["Content-Type"]
+		if contentType == "" {
+			contentType = detectContentType(postBody)
+			headerParams["Content-Type"] = contentType
+		}
+
+		body, err = setBody(postBody, contentType)
+		if err != nil {
+			return nil, err
+		}
+	}
+
+	// add form parameters and file if available.
+	if strings.HasPrefix(headerParams["Content-Type"], "multipart/form-data") && len(formParams) > 0 || (len(formFiles) > 0) {
+		if body != nil {
+			return nil, errors.New("Cannot specify postBody and multipart form at the same time.")
+		}
+		body = &bytes.Buffer{}
+		w := multipart.NewWriter(body)
+
+		for k, v := range formParams {
+			for _, iv := range v {
+				if strings.HasPrefix(k, "@") { // file
+					err = addFile(w, k[1:], iv)
+					if err != nil {
+						return nil, err
+					}
+				} else { // form value
+					w.WriteField(k, iv)
+				}
+			}
+		}
+		for _, formFile := range formFiles {
+			if len(formFile.fileBytes) > 0 && formFile.fileName != "" {
+				w.Boundary()
+				part, err := w.CreateFormFile(formFile.formFileName, filepath.Base(formFile.fileName))
+				if err != nil {
+						return nil, err
+				}
+				_, err = part.Write(formFile.fileBytes)
+				if err != nil {
+						return nil, err
+				}
+			}
+		}
+
+		// Set the Boundary in the Content-Type
+		headerParams["Content-Type"] = w.FormDataContentType()
+
+		// Set Content-Length
+		headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len())
+		w.Close()
+	}
+
+	if strings.HasPrefix(headerParams["Content-Type"], "application/x-www-form-urlencoded") && len(formParams) > 0 {
+		if body != nil {
+			return nil, errors.New("Cannot specify postBody and x-www-form-urlencoded form at the same time.")
+		}
+		body = &bytes.Buffer{}
+		body.WriteString(formParams.Encode())
+		// Set Content-Length
+		headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len())
+	}
+
+	// Setup path and query parameters
+	url, err := url.Parse(path)
+	if err != nil {
+		return nil, err
+	}
+
+	// Override request host, if applicable
+	if c.cfg.Host != "" {
+		url.Host = c.cfg.Host
+	}
+
+	// Override request scheme, if applicable
+	if c.cfg.Scheme != "" {
+		url.Scheme = c.cfg.Scheme
+	}
+
+	// Adding Query Param
+	query := url.Query()
+	for k, v := range queryParams {
+		for _, iv := range v {
+			query.Add(k, iv)
+		}
+	}
+
+	// Encode the parameters.
+	url.RawQuery = query.Encode()
+
+	// Generate a new request
+	if body != nil {
+		localVarRequest, err = http.NewRequest(method, url.String(), body)
+	} else {
+		localVarRequest, err = http.NewRequest(method, url.String(), nil)
+	}
+	if err != nil {
+		return nil, err
+	}
+
+	// add header parameters, if any
+	if len(headerParams) > 0 {
+		headers := http.Header{}
+		for h, v := range headerParams {
+			headers[h] = []string{v}
+		}
+		localVarRequest.Header = headers
+	}
+
+	// Add the user agent to the request.
+	localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
+
+    // Add the SDK version to OS-Usage header for telemetry
+    localVarRequest.Header.Add("OS-Usage-Data", "kind=sdk, name=onesignal-go, version=1.0.2")
+
+	if ctx != nil {
+		// add context to the request
+		localVarRequest = localVarRequest.WithContext(ctx)
+
+		// Walk through any authentication.
+
+		// OAuth2 authentication
+		if tok, ok := ctx.Value(ContextOAuth2).(oauth2.TokenSource); ok {
+			// We were able to grab an oauth2 token from the context
+			var latestToken *oauth2.Token
+			if latestToken, err = tok.Token(); err != nil {
+				return nil, err
+			}
+
+			latestToken.SetAuthHeader(localVarRequest)
+		}
+
+		// Basic HTTP Authentication
+		if auth, ok := ctx.Value(ContextBasicAuth).(BasicAuth); ok {
+			localVarRequest.SetBasicAuth(auth.UserName, auth.Password)
+		}
+
+		// AccessToken Authentication
+		if auth, ok := ctx.Value(AppAuth).(string); ok {
+			localVarRequest.Header.Add("Authorization", "Basic "+auth)
+		}
+
+        // AccessToken Authentication
+		if auth, ok := ctx.Value(UserAuth).(string); ok {
+			localVarRequest.Header.Add("Authorization", "Basic "+auth)
+		}
+
+	}
+
+	for header, value := range c.cfg.DefaultHeader {
+		localVarRequest.Header.Add(header, value)
+	}
+	return localVarRequest, nil
+}
+
+func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err error) {
+	if len(b) == 0 {
+		return nil
+	}
+	if s, ok := v.(*string); ok {
+		*s = string(b)
+		return nil
+	}
+	if f, ok := v.(**os.File); ok {
+		*f, err = ioutil.TempFile("", "HttpClientFile")
+		if err != nil {
+			return
+		}
+		_, err = (*f).Write(b)
+		if err != nil {
+			return
+		}
+		_, err = (*f).Seek(0, io.SeekStart)
+		return
+	}
+	if xmlCheck.MatchString(contentType) {
+		if err = xml.Unmarshal(b, v); err != nil {
+			return err
+		}
+		return nil
+	}
+	if jsonCheck.MatchString(contentType) {
+		if actualObj, ok := v.(interface{ GetActualInstance() interface{} }); ok { // oneOf, anyOf schemas
+			if unmarshalObj, ok := actualObj.(interface{ UnmarshalJSON([]byte) error }); ok { // make sure it has UnmarshalJSON defined
+				if err = unmarshalObj.UnmarshalJSON(b); err != nil {
+					return err
+				}
+			} else {
+				return errors.New("Unknown type with GetActualInstance but no unmarshalObj.UnmarshalJSON defined")
+			}
+		} else if err = json.Unmarshal(b, v); err != nil { // simple model
+			return err
+		}
+		return nil
+	}
+	return errors.New("undefined response type")
+}
+
+// Add a file to the multipart request
+func addFile(w *multipart.Writer, fieldName, path string) error {
+	file, err := os.Open(path)
+	if err != nil {
+		return err
+	}
+	defer file.Close()
+
+	part, err := w.CreateFormFile(fieldName, filepath.Base(path))
+	if err != nil {
+		return err
+	}
+	_, err = io.Copy(part, file)
+
+	return err
+}
+
+// Prevent trying to import "fmt"
+func reportError(format string, a ...interface{}) error {
+	return fmt.Errorf(format, a...)
+}
+
+// A wrapper for strict JSON decoding
+func newStrictDecoder(data []byte) *json.Decoder {
+	dec := json.NewDecoder(bytes.NewBuffer(data))
+	dec.DisallowUnknownFields()
+	return dec
+}
+
+// Set request body from an interface{}
+func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err error) {
+	if bodyBuf == nil {
+		bodyBuf = &bytes.Buffer{}
+	}
+
+	if reader, ok := body.(io.Reader); ok {
+		_, err = bodyBuf.ReadFrom(reader)
+	} else if fp, ok := body.(**os.File); ok {
+		_, err = bodyBuf.ReadFrom(*fp)
+	} else if b, ok := body.([]byte); ok {
+		_, err = bodyBuf.Write(b)
+	} else if s, ok := body.(string); ok {
+		_, err = bodyBuf.WriteString(s)
+	} else if s, ok := body.(*string); ok {
+		_, err = bodyBuf.WriteString(*s)
+	} else if jsonCheck.MatchString(contentType) {
+		err = json.NewEncoder(bodyBuf).Encode(body)
+	} else if xmlCheck.MatchString(contentType) {
+		err = xml.NewEncoder(bodyBuf).Encode(body)
+	}
+
+	if err != nil {
+		return nil, err
+	}
+
+	if bodyBuf.Len() == 0 {
+		err = fmt.Errorf("Invalid body type %s\n", contentType)
+		return nil, err
+	}
+	return bodyBuf, nil
+}
+
+// detectContentType method is used to figure out `Request.Body` content type for request header
+func detectContentType(body interface{}) string {
+	contentType := "text/plain; charset=utf-8"
+	kind := reflect.TypeOf(body).Kind()
+
+	switch kind {
+	case reflect.Struct, reflect.Map, reflect.Ptr:
+		contentType = "application/json; charset=utf-8"
+	case reflect.String:
+		contentType = "text/plain; charset=utf-8"
+	default:
+		if b, ok := body.([]byte); ok {
+			contentType = http.DetectContentType(b)
+		} else if kind == reflect.Slice {
+			contentType = "application/json; charset=utf-8"
+		}
+	}
+
+	return contentType
+}
+
+// Ripped from https://github.com/gregjones/httpcache/blob/master/httpcache.go
+type cacheControl map[string]string
+
+func parseCacheControl(headers http.Header) cacheControl {
+	cc := cacheControl{}
+	ccHeader := headers.Get("Cache-Control")
+	for _, part := range strings.Split(ccHeader, ",") {
+		part = strings.Trim(part, " ")
+		if part == "" {
+			continue
+		}
+		if strings.ContainsRune(part, '=') {
+			keyval := strings.Split(part, "=")
+			cc[strings.Trim(keyval[0], " ")] = strings.Trim(keyval[1], ",")
+		} else {
+			cc[part] = ""
+		}
+	}
+	return cc
+}
+
+// CacheExpires helper function to determine remaining time before repeating a request.
+func CacheExpires(r *http.Response) time.Time {
+	// Figure out when the cache expires.
+	var expires time.Time
+	now, err := time.Parse(time.RFC1123, r.Header.Get("date"))
+	if err != nil {
+		return time.Now()
+	}
+	respCacheControl := parseCacheControl(r.Header)
+
+	if maxAge, ok := respCacheControl["max-age"]; ok {
+		lifetime, err := time.ParseDuration(maxAge + "s")
+		if err != nil {
+			expires = now
+		} else {
+			expires = now.Add(lifetime)
+		}
+	} else {
+		expiresHeader := r.Header.Get("Expires")
+		if expiresHeader != "" {
+			expires, err = time.Parse(time.RFC1123, expiresHeader)
+			if err != nil {
+				expires = now
+			}
+		}
+	}
+	return expires
+}
+
+func strlen(s string) int {
+	return utf8.RuneCountInString(s)
+}
+
+// GenericOpenAPIError Provides access to the body, error and model on returned errors.
+type GenericOpenAPIError struct {
+	body  []byte
+	error string
+	model interface{}
+}
+
+// Error returns non-empty string if there was an error.
+func (e GenericOpenAPIError) Error() string {
+	return e.error
+}
+
+// Body returns the raw bytes of the response
+func (e GenericOpenAPIError) Body() []byte {
+	return e.body
+}
+
+// Model returns the unpacked model of the error
+func (e GenericOpenAPIError) Model() interface{} {
+	return e.model
+}
diff --git a/configuration.go b/configuration.go
new file mode 100644
index 0000000..a3322bc
--- /dev/null
+++ b/configuration.go
@@ -0,0 +1,234 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"context"
+	"fmt"
+	"net/http"
+	"strings"
+)
+
+// contextKeys are used to identify the type of value in the context.
+// Since these are string, it is possible to get a short description of the
+// context key for logging and debugging using key.String().
+
+type contextKey string
+
+func (c contextKey) String() string {
+	return "auth " + string(c)
+}
+
+var (
+	// ContextOAuth2 takes an oauth2.TokenSource as authentication for the request.
+	ContextOAuth2 = contextKey("token")
+
+	// ContextBasicAuth takes BasicAuth as authentication for the request.
+	ContextBasicAuth = contextKey("basic")
+
+	// AppAuth takes a string oauth2 access token as authentication for the request.
+	AppAuth = contextKey("osappkey")
+
+    // UserAuth takes a string oauth2 access token as authentication for the request.
+	UserAuth = contextKey("osuserkey")
+
+	// ContextAPIKeys takes a string apikey as authentication for the request
+	ContextAPIKeys = contextKey("apiKeys")
+
+	// ContextHttpSignatureAuth takes HttpSignatureAuth as authentication for the request.
+	ContextHttpSignatureAuth = contextKey("httpsignature")
+
+	// ContextServerIndex uses a server configuration from the index.
+	ContextServerIndex = contextKey("serverIndex")
+
+	// ContextOperationServerIndices uses a server configuration from the index mapping.
+	ContextOperationServerIndices = contextKey("serverOperationIndices")
+
+	// ContextServerVariables overrides a server configuration variables.
+	ContextServerVariables = contextKey("serverVariables")
+
+	// ContextOperationServerVariables overrides a server configuration variables using operation specific values.
+	ContextOperationServerVariables = contextKey("serverOperationVariables")
+)
+
+// BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth
+type BasicAuth struct {
+	UserName string `json:"userName,omitempty"`
+	Password string `json:"password,omitempty"`
+}
+
+// APIKey provides API key based authentication to a request passed via context using ContextAPIKey
+type APIKey struct {
+	Key    string
+	Prefix string
+}
+
+// ServerVariable stores the information about a server variable
+type ServerVariable struct {
+	Description  string
+	DefaultValue string
+	EnumValues   []string
+}
+
+// ServerConfiguration stores the information about a server
+type ServerConfiguration struct {
+	URL string
+	Description string
+	Variables map[string]ServerVariable
+}
+
+// ServerConfigurations stores multiple ServerConfiguration items
+type ServerConfigurations []ServerConfiguration
+
+// Configuration stores the configuration of the API client
+type Configuration struct {
+	Host             string            `json:"host,omitempty"`
+	Scheme           string            `json:"scheme,omitempty"`
+	DefaultHeader    map[string]string `json:"defaultHeader,omitempty"`
+	UserAgent        string            `json:"userAgent,omitempty"`
+	Debug            bool              `json:"debug,omitempty"`
+	Servers          ServerConfigurations
+	OperationServers map[string]ServerConfigurations
+	HTTPClient       *http.Client
+}
+
+// NewConfiguration returns a new Configuration object
+func NewConfiguration() *Configuration {
+	cfg := &Configuration{
+		DefaultHeader:    make(map[string]string),
+		UserAgent:        "OpenAPI-Generator/1.0.0/go",
+		Debug:            false,
+		Servers:          ServerConfigurations{
+			{
+				URL: "https://onesignal.com/api/v1",
+				Description: "No description provided",
+			},
+		},
+		OperationServers: map[string]ServerConfigurations{
+		},
+	}
+	return cfg
+}
+
+// AddDefaultHeader adds a new HTTP header to the default header in the request
+func (c *Configuration) AddDefaultHeader(key string, value string) {
+	c.DefaultHeader[key] = value
+}
+
+// URL formats template on a index using given variables
+func (sc ServerConfigurations) URL(index int, variables map[string]string) (string, error) {
+	if index < 0 || len(sc) <= index {
+		return "", fmt.Errorf("Index %v out of range %v", index, len(sc)-1)
+	}
+	server := sc[index]
+	url := server.URL
+
+	// go through variables and replace placeholders
+	for name, variable := range server.Variables {
+		if value, ok := variables[name]; ok {
+			found := bool(len(variable.EnumValues) == 0)
+			for _, enumValue := range variable.EnumValues {
+				if value == enumValue {
+					found = true
+				}
+			}
+			if !found {
+				return "", fmt.Errorf("The variable %s in the server URL has invalid value %v. Must be %v", name, value, variable.EnumValues)
+			}
+			url = strings.Replace(url, "{"+name+"}", value, -1)
+		} else {
+			url = strings.Replace(url, "{"+name+"}", variable.DefaultValue, -1)
+		}
+	}
+	return url, nil
+}
+
+// ServerURL returns URL based on server settings
+func (c *Configuration) ServerURL(index int, variables map[string]string) (string, error) {
+	return c.Servers.URL(index, variables)
+}
+
+func getServerIndex(ctx context.Context) (int, error) {
+	si := ctx.Value(ContextServerIndex)
+	if si != nil {
+		if index, ok := si.(int); ok {
+			return index, nil
+		}
+		return 0, reportError("Invalid type %T should be int", si)
+	}
+	return 0, nil
+}
+
+func getServerOperationIndex(ctx context.Context, endpoint string) (int, error) {
+	osi := ctx.Value(ContextOperationServerIndices)
+	if osi != nil {
+		if operationIndices, ok := osi.(map[string]int); !ok {
+			return 0, reportError("Invalid type %T should be map[string]int", osi)
+		} else {
+			index, ok := operationIndices[endpoint]
+			if ok {
+				return index, nil
+			}
+		}
+	}
+	return getServerIndex(ctx)
+}
+
+func getServerVariables(ctx context.Context) (map[string]string, error) {
+	sv := ctx.Value(ContextServerVariables)
+	if sv != nil {
+		if variables, ok := sv.(map[string]string); ok {
+			return variables, nil
+		}
+		return nil, reportError("ctx value of ContextServerVariables has invalid type %T should be map[string]string", sv)
+	}
+	return nil, nil
+}
+
+func getServerOperationVariables(ctx context.Context, endpoint string) (map[string]string, error) {
+	osv := ctx.Value(ContextOperationServerVariables)
+	if osv != nil {
+		if operationVariables, ok := osv.(map[string]map[string]string); !ok {
+			return nil, reportError("ctx value of ContextOperationServerVariables has invalid type %T should be map[string]map[string]string", osv)
+		} else {
+			variables, ok := operationVariables[endpoint]
+			if ok {
+				return variables, nil
+			}
+		}
+	}
+	return getServerVariables(ctx)
+}
+
+// ServerURLWithContext returns a new server URL given an endpoint
+func (c *Configuration) ServerURLWithContext(ctx context.Context, endpoint string) (string, error) {
+	sc, ok := c.OperationServers[endpoint]
+	if !ok {
+		sc = c.Servers
+	}
+
+	if ctx == nil {
+		return sc.URL(0, nil)
+	}
+
+	index, err := getServerOperationIndex(ctx, endpoint)
+	if err != nil {
+		return "", err
+	}
+
+	variables, err := getServerOperationVariables(ctx, endpoint)
+	if err != nil {
+		return "", err
+	}
+
+	return sc.URL(index, variables)
+}
diff --git a/docs/App.md b/docs/App.md
new file mode 100644
index 0000000..86f239f
--- /dev/null
+++ b/docs/App.md
@@ -0,0 +1,805 @@
+# App
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** |  | [readonly] 
+**Name** | Pointer to **string** | The name of your app, as displayed on your apps list on the dashboard.  This can be renamed. | [optional] 
+**Players** | Pointer to **int32** |  | [optional] [readonly] 
+**MessageablePlayers** | Pointer to **int32** |  | [optional] [readonly] 
+**UpdatedAt** | Pointer to **time.Time** |  | [optional] [readonly] 
+**CreatedAt** | Pointer to **time.Time** |  | [optional] [readonly] 
+**AndroidGcmSenderId** | Pointer to **string** | Android: Your Google Project number.  Also known as Sender ID. | [optional] 
+**GcmKey** | Pointer to **string** | Android: Your Google Push Messaging Auth Key | [optional] 
+**ChromeWebOrigin** | Pointer to **string** | Chrome (All Browsers except Safari) (Recommended): The URL to your website.  This field is required if you wish to enable web push and specify other web push parameters. | [optional] 
+**ChromeKey** | Pointer to **string** | Not for web push.  Your Google Push Messaging Auth Key if you use Chrome Apps / Extensions. | [optional] 
+**ChromeWebDefaultNotificationIcon** | Pointer to **string** | Chrome (All Browsers except Safari): Your default notification icon. Should be 256x256 pixels, min 80x80. | [optional] 
+**ChromeWebSubDomain** | Pointer to **string** | Chrome (All Browsers except Safari): A subdomain of your choice in order to support Web Push on non-HTTPS websites. This field must be set in order for the chrome_web_gcm_sender_id property to be processed. | [optional] 
+**ApnsEnv** | Pointer to **string** | iOS: Either sandbox or production | [optional] 
+**ApnsP12** | Pointer to **string** | iOS: Your apple push notification p12 certificate file, converted to a string and Base64 encoded. | [optional] 
+**ApnsP12Password** | Pointer to **string** | iOS: Required if using p12 certificate.  Password for the apns_p12 file. | [optional] 
+**ApnsCertificates** | Pointer to **string** |  | [optional] [readonly] 
+**SafariApnsCertificates** | Pointer to **string** |  | [optional] [readonly] 
+**SafariApnsP12** | Pointer to **string** | Safari: Your apple push notification p12 certificate file for Safari Push Notifications, converted to a string and Base64 encoded. | [optional] 
+**SafariApnsP12Password** | Pointer to **string** | Safari: Password for safari_apns_p12 file | [optional] 
+**SafariSiteOrigin** | Pointer to **string** | Safari (Recommended): The hostname to your website including http(s):// | [optional] 
+**SafariPushId** | Pointer to **string** |  | [optional] [readonly] 
+**SafariIcon1616** | Pointer to **string** |  | [optional] [readonly] 
+**SafariIcon3232** | Pointer to **string** |  | [optional] [readonly] 
+**SafariIcon6464** | Pointer to **string** |  | [optional] [readonly] 
+**SafariIcon128128** | Pointer to **string** |  | [optional] [readonly] 
+**SafariIcon256256** | Pointer to **string** | Safari: A url for a 256x256 png notification icon. This is the only Safari icon URL you need to provide. | [optional] 
+**SiteName** | Pointer to **string** | All Browsers (Recommended): The Site Name. Requires both chrome_web_origin and safari_site_origin to be set to add or update it. | [optional] 
+**BasicAuthKey** | Pointer to **string** |  | [optional] [readonly] 
+**OrganizationId** | Pointer to **string** | The Id of the Organization you would like to add this app to. | [optional] 
+**AdditionalDataIsRootPayload** | Pointer to **bool** | iOS: Notification data (additional data) values will be added to the root of the apns payload when sent to the device.  Ignore if you&#39;re not using any other plugins, or not using OneSignal SDK methods to read the payload. | [optional] 
+
+## Methods
+
+### NewApp
+
+`func NewApp(id string, ) *App`
+
+NewApp instantiates a new App object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewAppWithDefaults
+
+`func NewAppWithDefaults() *App`
+
+NewAppWithDefaults instantiates a new App object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *App) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *App) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *App) SetId(v string)`
+
+SetId sets Id field to given value.
+
+
+### GetName
+
+`func (o *App) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *App) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *App) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *App) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetPlayers
+
+`func (o *App) GetPlayers() int32`
+
+GetPlayers returns the Players field if non-nil, zero value otherwise.
+
+### GetPlayersOk
+
+`func (o *App) GetPlayersOk() (*int32, bool)`
+
+GetPlayersOk returns a tuple with the Players field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPlayers
+
+`func (o *App) SetPlayers(v int32)`
+
+SetPlayers sets Players field to given value.
+
+### HasPlayers
+
+`func (o *App) HasPlayers() bool`
+
+HasPlayers returns a boolean if a field has been set.
+
+### GetMessageablePlayers
+
+`func (o *App) GetMessageablePlayers() int32`
+
+GetMessageablePlayers returns the MessageablePlayers field if non-nil, zero value otherwise.
+
+### GetMessageablePlayersOk
+
+`func (o *App) GetMessageablePlayersOk() (*int32, bool)`
+
+GetMessageablePlayersOk returns a tuple with the MessageablePlayers field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMessageablePlayers
+
+`func (o *App) SetMessageablePlayers(v int32)`
+
+SetMessageablePlayers sets MessageablePlayers field to given value.
+
+### HasMessageablePlayers
+
+`func (o *App) HasMessageablePlayers() bool`
+
+HasMessageablePlayers returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *App) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *App) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *App) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *App) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+### GetCreatedAt
+
+`func (o *App) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *App) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *App) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *App) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetAndroidGcmSenderId
+
+`func (o *App) GetAndroidGcmSenderId() string`
+
+GetAndroidGcmSenderId returns the AndroidGcmSenderId field if non-nil, zero value otherwise.
+
+### GetAndroidGcmSenderIdOk
+
+`func (o *App) GetAndroidGcmSenderIdOk() (*string, bool)`
+
+GetAndroidGcmSenderIdOk returns a tuple with the AndroidGcmSenderId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidGcmSenderId
+
+`func (o *App) SetAndroidGcmSenderId(v string)`
+
+SetAndroidGcmSenderId sets AndroidGcmSenderId field to given value.
+
+### HasAndroidGcmSenderId
+
+`func (o *App) HasAndroidGcmSenderId() bool`
+
+HasAndroidGcmSenderId returns a boolean if a field has been set.
+
+### GetGcmKey
+
+`func (o *App) GetGcmKey() string`
+
+GetGcmKey returns the GcmKey field if non-nil, zero value otherwise.
+
+### GetGcmKeyOk
+
+`func (o *App) GetGcmKeyOk() (*string, bool)`
+
+GetGcmKeyOk returns a tuple with the GcmKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetGcmKey
+
+`func (o *App) SetGcmKey(v string)`
+
+SetGcmKey sets GcmKey field to given value.
+
+### HasGcmKey
+
+`func (o *App) HasGcmKey() bool`
+
+HasGcmKey returns a boolean if a field has been set.
+
+### GetChromeWebOrigin
+
+`func (o *App) GetChromeWebOrigin() string`
+
+GetChromeWebOrigin returns the ChromeWebOrigin field if non-nil, zero value otherwise.
+
+### GetChromeWebOriginOk
+
+`func (o *App) GetChromeWebOriginOk() (*string, bool)`
+
+GetChromeWebOriginOk returns a tuple with the ChromeWebOrigin field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebOrigin
+
+`func (o *App) SetChromeWebOrigin(v string)`
+
+SetChromeWebOrigin sets ChromeWebOrigin field to given value.
+
+### HasChromeWebOrigin
+
+`func (o *App) HasChromeWebOrigin() bool`
+
+HasChromeWebOrigin returns a boolean if a field has been set.
+
+### GetChromeKey
+
+`func (o *App) GetChromeKey() string`
+
+GetChromeKey returns the ChromeKey field if non-nil, zero value otherwise.
+
+### GetChromeKeyOk
+
+`func (o *App) GetChromeKeyOk() (*string, bool)`
+
+GetChromeKeyOk returns a tuple with the ChromeKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeKey
+
+`func (o *App) SetChromeKey(v string)`
+
+SetChromeKey sets ChromeKey field to given value.
+
+### HasChromeKey
+
+`func (o *App) HasChromeKey() bool`
+
+HasChromeKey returns a boolean if a field has been set.
+
+### GetChromeWebDefaultNotificationIcon
+
+`func (o *App) GetChromeWebDefaultNotificationIcon() string`
+
+GetChromeWebDefaultNotificationIcon returns the ChromeWebDefaultNotificationIcon field if non-nil, zero value otherwise.
+
+### GetChromeWebDefaultNotificationIconOk
+
+`func (o *App) GetChromeWebDefaultNotificationIconOk() (*string, bool)`
+
+GetChromeWebDefaultNotificationIconOk returns a tuple with the ChromeWebDefaultNotificationIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebDefaultNotificationIcon
+
+`func (o *App) SetChromeWebDefaultNotificationIcon(v string)`
+
+SetChromeWebDefaultNotificationIcon sets ChromeWebDefaultNotificationIcon field to given value.
+
+### HasChromeWebDefaultNotificationIcon
+
+`func (o *App) HasChromeWebDefaultNotificationIcon() bool`
+
+HasChromeWebDefaultNotificationIcon returns a boolean if a field has been set.
+
+### GetChromeWebSubDomain
+
+`func (o *App) GetChromeWebSubDomain() string`
+
+GetChromeWebSubDomain returns the ChromeWebSubDomain field if non-nil, zero value otherwise.
+
+### GetChromeWebSubDomainOk
+
+`func (o *App) GetChromeWebSubDomainOk() (*string, bool)`
+
+GetChromeWebSubDomainOk returns a tuple with the ChromeWebSubDomain field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebSubDomain
+
+`func (o *App) SetChromeWebSubDomain(v string)`
+
+SetChromeWebSubDomain sets ChromeWebSubDomain field to given value.
+
+### HasChromeWebSubDomain
+
+`func (o *App) HasChromeWebSubDomain() bool`
+
+HasChromeWebSubDomain returns a boolean if a field has been set.
+
+### GetApnsEnv
+
+`func (o *App) GetApnsEnv() string`
+
+GetApnsEnv returns the ApnsEnv field if non-nil, zero value otherwise.
+
+### GetApnsEnvOk
+
+`func (o *App) GetApnsEnvOk() (*string, bool)`
+
+GetApnsEnvOk returns a tuple with the ApnsEnv field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsEnv
+
+`func (o *App) SetApnsEnv(v string)`
+
+SetApnsEnv sets ApnsEnv field to given value.
+
+### HasApnsEnv
+
+`func (o *App) HasApnsEnv() bool`
+
+HasApnsEnv returns a boolean if a field has been set.
+
+### GetApnsP12
+
+`func (o *App) GetApnsP12() string`
+
+GetApnsP12 returns the ApnsP12 field if non-nil, zero value otherwise.
+
+### GetApnsP12Ok
+
+`func (o *App) GetApnsP12Ok() (*string, bool)`
+
+GetApnsP12Ok returns a tuple with the ApnsP12 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsP12
+
+`func (o *App) SetApnsP12(v string)`
+
+SetApnsP12 sets ApnsP12 field to given value.
+
+### HasApnsP12
+
+`func (o *App) HasApnsP12() bool`
+
+HasApnsP12 returns a boolean if a field has been set.
+
+### GetApnsP12Password
+
+`func (o *App) GetApnsP12Password() string`
+
+GetApnsP12Password returns the ApnsP12Password field if non-nil, zero value otherwise.
+
+### GetApnsP12PasswordOk
+
+`func (o *App) GetApnsP12PasswordOk() (*string, bool)`
+
+GetApnsP12PasswordOk returns a tuple with the ApnsP12Password field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsP12Password
+
+`func (o *App) SetApnsP12Password(v string)`
+
+SetApnsP12Password sets ApnsP12Password field to given value.
+
+### HasApnsP12Password
+
+`func (o *App) HasApnsP12Password() bool`
+
+HasApnsP12Password returns a boolean if a field has been set.
+
+### GetApnsCertificates
+
+`func (o *App) GetApnsCertificates() string`
+
+GetApnsCertificates returns the ApnsCertificates field if non-nil, zero value otherwise.
+
+### GetApnsCertificatesOk
+
+`func (o *App) GetApnsCertificatesOk() (*string, bool)`
+
+GetApnsCertificatesOk returns a tuple with the ApnsCertificates field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsCertificates
+
+`func (o *App) SetApnsCertificates(v string)`
+
+SetApnsCertificates sets ApnsCertificates field to given value.
+
+### HasApnsCertificates
+
+`func (o *App) HasApnsCertificates() bool`
+
+HasApnsCertificates returns a boolean if a field has been set.
+
+### GetSafariApnsCertificates
+
+`func (o *App) GetSafariApnsCertificates() string`
+
+GetSafariApnsCertificates returns the SafariApnsCertificates field if non-nil, zero value otherwise.
+
+### GetSafariApnsCertificatesOk
+
+`func (o *App) GetSafariApnsCertificatesOk() (*string, bool)`
+
+GetSafariApnsCertificatesOk returns a tuple with the SafariApnsCertificates field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariApnsCertificates
+
+`func (o *App) SetSafariApnsCertificates(v string)`
+
+SetSafariApnsCertificates sets SafariApnsCertificates field to given value.
+
+### HasSafariApnsCertificates
+
+`func (o *App) HasSafariApnsCertificates() bool`
+
+HasSafariApnsCertificates returns a boolean if a field has been set.
+
+### GetSafariApnsP12
+
+`func (o *App) GetSafariApnsP12() string`
+
+GetSafariApnsP12 returns the SafariApnsP12 field if non-nil, zero value otherwise.
+
+### GetSafariApnsP12Ok
+
+`func (o *App) GetSafariApnsP12Ok() (*string, bool)`
+
+GetSafariApnsP12Ok returns a tuple with the SafariApnsP12 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariApnsP12
+
+`func (o *App) SetSafariApnsP12(v string)`
+
+SetSafariApnsP12 sets SafariApnsP12 field to given value.
+
+### HasSafariApnsP12
+
+`func (o *App) HasSafariApnsP12() bool`
+
+HasSafariApnsP12 returns a boolean if a field has been set.
+
+### GetSafariApnsP12Password
+
+`func (o *App) GetSafariApnsP12Password() string`
+
+GetSafariApnsP12Password returns the SafariApnsP12Password field if non-nil, zero value otherwise.
+
+### GetSafariApnsP12PasswordOk
+
+`func (o *App) GetSafariApnsP12PasswordOk() (*string, bool)`
+
+GetSafariApnsP12PasswordOk returns a tuple with the SafariApnsP12Password field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariApnsP12Password
+
+`func (o *App) SetSafariApnsP12Password(v string)`
+
+SetSafariApnsP12Password sets SafariApnsP12Password field to given value.
+
+### HasSafariApnsP12Password
+
+`func (o *App) HasSafariApnsP12Password() bool`
+
+HasSafariApnsP12Password returns a boolean if a field has been set.
+
+### GetSafariSiteOrigin
+
+`func (o *App) GetSafariSiteOrigin() string`
+
+GetSafariSiteOrigin returns the SafariSiteOrigin field if non-nil, zero value otherwise.
+
+### GetSafariSiteOriginOk
+
+`func (o *App) GetSafariSiteOriginOk() (*string, bool)`
+
+GetSafariSiteOriginOk returns a tuple with the SafariSiteOrigin field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariSiteOrigin
+
+`func (o *App) SetSafariSiteOrigin(v string)`
+
+SetSafariSiteOrigin sets SafariSiteOrigin field to given value.
+
+### HasSafariSiteOrigin
+
+`func (o *App) HasSafariSiteOrigin() bool`
+
+HasSafariSiteOrigin returns a boolean if a field has been set.
+
+### GetSafariPushId
+
+`func (o *App) GetSafariPushId() string`
+
+GetSafariPushId returns the SafariPushId field if non-nil, zero value otherwise.
+
+### GetSafariPushIdOk
+
+`func (o *App) GetSafariPushIdOk() (*string, bool)`
+
+GetSafariPushIdOk returns a tuple with the SafariPushId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariPushId
+
+`func (o *App) SetSafariPushId(v string)`
+
+SetSafariPushId sets SafariPushId field to given value.
+
+### HasSafariPushId
+
+`func (o *App) HasSafariPushId() bool`
+
+HasSafariPushId returns a boolean if a field has been set.
+
+### GetSafariIcon1616
+
+`func (o *App) GetSafariIcon1616() string`
+
+GetSafariIcon1616 returns the SafariIcon1616 field if non-nil, zero value otherwise.
+
+### GetSafariIcon1616Ok
+
+`func (o *App) GetSafariIcon1616Ok() (*string, bool)`
+
+GetSafariIcon1616Ok returns a tuple with the SafariIcon1616 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariIcon1616
+
+`func (o *App) SetSafariIcon1616(v string)`
+
+SetSafariIcon1616 sets SafariIcon1616 field to given value.
+
+### HasSafariIcon1616
+
+`func (o *App) HasSafariIcon1616() bool`
+
+HasSafariIcon1616 returns a boolean if a field has been set.
+
+### GetSafariIcon3232
+
+`func (o *App) GetSafariIcon3232() string`
+
+GetSafariIcon3232 returns the SafariIcon3232 field if non-nil, zero value otherwise.
+
+### GetSafariIcon3232Ok
+
+`func (o *App) GetSafariIcon3232Ok() (*string, bool)`
+
+GetSafariIcon3232Ok returns a tuple with the SafariIcon3232 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariIcon3232
+
+`func (o *App) SetSafariIcon3232(v string)`
+
+SetSafariIcon3232 sets SafariIcon3232 field to given value.
+
+### HasSafariIcon3232
+
+`func (o *App) HasSafariIcon3232() bool`
+
+HasSafariIcon3232 returns a boolean if a field has been set.
+
+### GetSafariIcon6464
+
+`func (o *App) GetSafariIcon6464() string`
+
+GetSafariIcon6464 returns the SafariIcon6464 field if non-nil, zero value otherwise.
+
+### GetSafariIcon6464Ok
+
+`func (o *App) GetSafariIcon6464Ok() (*string, bool)`
+
+GetSafariIcon6464Ok returns a tuple with the SafariIcon6464 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariIcon6464
+
+`func (o *App) SetSafariIcon6464(v string)`
+
+SetSafariIcon6464 sets SafariIcon6464 field to given value.
+
+### HasSafariIcon6464
+
+`func (o *App) HasSafariIcon6464() bool`
+
+HasSafariIcon6464 returns a boolean if a field has been set.
+
+### GetSafariIcon128128
+
+`func (o *App) GetSafariIcon128128() string`
+
+GetSafariIcon128128 returns the SafariIcon128128 field if non-nil, zero value otherwise.
+
+### GetSafariIcon128128Ok
+
+`func (o *App) GetSafariIcon128128Ok() (*string, bool)`
+
+GetSafariIcon128128Ok returns a tuple with the SafariIcon128128 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariIcon128128
+
+`func (o *App) SetSafariIcon128128(v string)`
+
+SetSafariIcon128128 sets SafariIcon128128 field to given value.
+
+### HasSafariIcon128128
+
+`func (o *App) HasSafariIcon128128() bool`
+
+HasSafariIcon128128 returns a boolean if a field has been set.
+
+### GetSafariIcon256256
+
+`func (o *App) GetSafariIcon256256() string`
+
+GetSafariIcon256256 returns the SafariIcon256256 field if non-nil, zero value otherwise.
+
+### GetSafariIcon256256Ok
+
+`func (o *App) GetSafariIcon256256Ok() (*string, bool)`
+
+GetSafariIcon256256Ok returns a tuple with the SafariIcon256256 field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariIcon256256
+
+`func (o *App) SetSafariIcon256256(v string)`
+
+SetSafariIcon256256 sets SafariIcon256256 field to given value.
+
+### HasSafariIcon256256
+
+`func (o *App) HasSafariIcon256256() bool`
+
+HasSafariIcon256256 returns a boolean if a field has been set.
+
+### GetSiteName
+
+`func (o *App) GetSiteName() string`
+
+GetSiteName returns the SiteName field if non-nil, zero value otherwise.
+
+### GetSiteNameOk
+
+`func (o *App) GetSiteNameOk() (*string, bool)`
+
+GetSiteNameOk returns a tuple with the SiteName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSiteName
+
+`func (o *App) SetSiteName(v string)`
+
+SetSiteName sets SiteName field to given value.
+
+### HasSiteName
+
+`func (o *App) HasSiteName() bool`
+
+HasSiteName returns a boolean if a field has been set.
+
+### GetBasicAuthKey
+
+`func (o *App) GetBasicAuthKey() string`
+
+GetBasicAuthKey returns the BasicAuthKey field if non-nil, zero value otherwise.
+
+### GetBasicAuthKeyOk
+
+`func (o *App) GetBasicAuthKeyOk() (*string, bool)`
+
+GetBasicAuthKeyOk returns a tuple with the BasicAuthKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBasicAuthKey
+
+`func (o *App) SetBasicAuthKey(v string)`
+
+SetBasicAuthKey sets BasicAuthKey field to given value.
+
+### HasBasicAuthKey
+
+`func (o *App) HasBasicAuthKey() bool`
+
+HasBasicAuthKey returns a boolean if a field has been set.
+
+### GetOrganizationId
+
+`func (o *App) GetOrganizationId() string`
+
+GetOrganizationId returns the OrganizationId field if non-nil, zero value otherwise.
+
+### GetOrganizationIdOk
+
+`func (o *App) GetOrganizationIdOk() (*string, bool)`
+
+GetOrganizationIdOk returns a tuple with the OrganizationId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrganizationId
+
+`func (o *App) SetOrganizationId(v string)`
+
+SetOrganizationId sets OrganizationId field to given value.
+
+### HasOrganizationId
+
+`func (o *App) HasOrganizationId() bool`
+
+HasOrganizationId returns a boolean if a field has been set.
+
+### GetAdditionalDataIsRootPayload
+
+`func (o *App) GetAdditionalDataIsRootPayload() bool`
+
+GetAdditionalDataIsRootPayload returns the AdditionalDataIsRootPayload field if non-nil, zero value otherwise.
+
+### GetAdditionalDataIsRootPayloadOk
+
+`func (o *App) GetAdditionalDataIsRootPayloadOk() (*bool, bool)`
+
+GetAdditionalDataIsRootPayloadOk returns a tuple with the AdditionalDataIsRootPayload field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdditionalDataIsRootPayload
+
+`func (o *App) SetAdditionalDataIsRootPayload(v bool)`
+
+SetAdditionalDataIsRootPayload sets AdditionalDataIsRootPayload field to given value.
+
+### HasAdditionalDataIsRootPayload
+
+`func (o *App) HasAdditionalDataIsRootPayload() bool`
+
+HasAdditionalDataIsRootPayload returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Button.md b/docs/Button.md
new file mode 100644
index 0000000..14ce592
--- /dev/null
+++ b/docs/Button.md
@@ -0,0 +1,103 @@
+# Button
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** |  | 
+**Text** | Pointer to **string** |  | [optional] 
+**Icon** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewButton
+
+`func NewButton(id string, ) *Button`
+
+NewButton instantiates a new Button object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewButtonWithDefaults
+
+`func NewButtonWithDefaults() *Button`
+
+NewButtonWithDefaults instantiates a new Button object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Button) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Button) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Button) SetId(v string)`
+
+SetId sets Id field to given value.
+
+
+### GetText
+
+`func (o *Button) GetText() string`
+
+GetText returns the Text field if non-nil, zero value otherwise.
+
+### GetTextOk
+
+`func (o *Button) GetTextOk() (*string, bool)`
+
+GetTextOk returns a tuple with the Text field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetText
+
+`func (o *Button) SetText(v string)`
+
+SetText sets Text field to given value.
+
+### HasText
+
+`func (o *Button) HasText() bool`
+
+HasText returns a boolean if a field has been set.
+
+### GetIcon
+
+`func (o *Button) GetIcon() string`
+
+GetIcon returns the Icon field if non-nil, zero value otherwise.
+
+### GetIconOk
+
+`func (o *Button) GetIconOk() (*string, bool)`
+
+GetIconOk returns a tuple with the Icon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIcon
+
+`func (o *Button) SetIcon(v string)`
+
+SetIcon sets Icon field to given value.
+
+### HasIcon
+
+`func (o *Button) HasIcon() bool`
+
+HasIcon returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md
new file mode 100644
index 0000000..382db4a
--- /dev/null
+++ b/docs/DefaultApi.md
@@ -0,0 +1,1471 @@
+# \DefaultApi
+
+All URIs are relative to *https://onesignal.com/api/v1*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**CancelNotification**](DefaultApi.md#CancelNotification) | **Delete** /notifications/{notification_id} | Stop a scheduled or currently outgoing notification
+[**CreateApp**](DefaultApi.md#CreateApp) | **Post** /apps | Create an app
+[**CreateNotification**](DefaultApi.md#CreateNotification) | **Post** /notifications | Create notification
+[**CreatePlayer**](DefaultApi.md#CreatePlayer) | **Post** /players | Add a device
+[**CreateSegments**](DefaultApi.md#CreateSegments) | **Post** /apps/{app_id}/segments | Create Segments
+[**DeletePlayer**](DefaultApi.md#DeletePlayer) | **Delete** /players/{player_id} | Delete a user record
+[**DeleteSegments**](DefaultApi.md#DeleteSegments) | **Delete** /apps/{app_id}/segments/{segment_id} | Delete Segments
+[**ExportPlayers**](DefaultApi.md#ExportPlayers) | **Post** /players/csv_export?app_id&#x3D;{app_id} | CSV export
+[**GetApp**](DefaultApi.md#GetApp) | **Get** /apps/{app_id} | View an app
+[**GetApps**](DefaultApi.md#GetApps) | **Get** /apps | View apps
+[**GetNotification**](DefaultApi.md#GetNotification) | **Get** /notifications/{notification_id} | View notification
+[**GetNotificationHistory**](DefaultApi.md#GetNotificationHistory) | **Post** /notifications/{notification_id}/history | Notification History
+[**GetNotifications**](DefaultApi.md#GetNotifications) | **Get** /notifications | View notifications
+[**GetOutcomes**](DefaultApi.md#GetOutcomes) | **Get** /apps/{app_id}/outcomes | View Outcomes
+[**GetPlayer**](DefaultApi.md#GetPlayer) | **Get** /players/{player_id} | View device
+[**GetPlayers**](DefaultApi.md#GetPlayers) | **Get** /players | View devices
+[**UpdateApp**](DefaultApi.md#UpdateApp) | **Put** /apps/{app_id} | Update an app
+[**UpdatePlayer**](DefaultApi.md#UpdatePlayer) | **Put** /players/{player_id} | Edit device
+[**UpdatePlayerTags**](DefaultApi.md#UpdatePlayerTags) | **Put** /apps/{app_id}/users/{external_user_id} | Edit tags with external user id
+
+
+
+## CancelNotification
+
+> InlineResponse2001 CancelNotification(ctx, notificationId).AppId(appId).Execute()
+
+Stop a scheduled or currently outgoing notification
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | 
+    notificationId := "notificationId_example" // string | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.CancelNotification(appAuth, notificationId).AppId(appId).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.CancelNotification``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `CancelNotification`: InlineResponse2001
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.CancelNotification`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**notificationId** | **string** |  | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCancelNotificationRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** |  | 
+
+
+### Return type
+
+[**InlineResponse2001**](InlineResponse2001.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateApp
+
+> App CreateApp(ctx).App(app).Execute()
+
+Create an app
+
+
+
+### Authorization
+
+[user_key](../README.md#user_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    app := *openapiclient.NewApp("Id_example") // App | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    userAuth := context.WithValue(context.Background(), onesignal.UserAuth, "USER_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.CreateApp(userAuth).App(app).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.CreateApp``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `CreateApp`: App
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.CreateApp`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateAppRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **app** | [**App**](App.md) |  | 
+
+### Return type
+
+[**App**](App.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateNotification
+
+> InlineResponse200 CreateNotification(ctx).Notification(notification).Execute()
+
+Create notification
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    notification := *openapiclient.NewNotification("AppId_example") // Notification | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.CreateNotification(appAuth).Notification(notification).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.CreateNotification``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `CreateNotification`: InlineResponse200
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.CreateNotification`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateNotificationRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **notification** | [**Notification**](Notification.md) |  | 
+
+### Return type
+
+[**InlineResponse200**](InlineResponse200.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreatePlayer
+
+> InlineResponse2004 CreatePlayer(ctx).Player(player).Execute()
+
+Add a device
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    player := *openapiclient.NewPlayer("Id_example", "AppId_example", int32(123)) // Player | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.CreatePlayer(appAuth).Player(player).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.CreatePlayer``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `CreatePlayer`: InlineResponse2004
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.CreatePlayer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreatePlayerRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **player** | [**Player**](Player.md) |  | 
+
+### Return type
+
+[**InlineResponse2004**](InlineResponse2004.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateSegments
+
+> InlineResponse201 CreateSegments(ctx, appId).Segment(segment).Execute()
+
+Create Segments
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The OneSignal App ID for your app.  Available in Keys & IDs.
+    segment := *openapiclient.NewSegment("Name_example", []openapiclient.FilterExpressions{*openapiclient.NewFilterExpressions("Field_example", "Relation_example")}) // Segment |  (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.CreateSegments(appAuth, appId).Segment(segment).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.CreateSegments``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `CreateSegments`: InlineResponse201
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.CreateSegments`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | The OneSignal App ID for your app.  Available in Keys &amp; IDs. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateSegmentsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **segment** | [**Segment**](Segment.md) |  | 
+
+### Return type
+
+[**InlineResponse201**](InlineResponse201.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeletePlayer
+
+> InlineResponse2001 DeletePlayer(ctx, playerId).AppId(appId).Execute()
+
+Delete a user record
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The OneSignal App ID for your app.  Available in Keys & IDs.
+    playerId := "playerId_example" // string | The OneSignal player_id
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.DeletePlayer(appAuth, playerId).AppId(appId).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.DeletePlayer``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `DeletePlayer`: InlineResponse2001
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.DeletePlayer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**playerId** | **string** | The OneSignal player_id | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeletePlayerRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** | The OneSignal App ID for your app.  Available in Keys &amp; IDs. | 
+
+
+### Return type
+
+[**InlineResponse2001**](InlineResponse2001.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteSegments
+
+> InlineResponse2003 DeleteSegments(ctx, appId, segmentId).Execute()
+
+Delete Segments
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The OneSignal App ID for your app.  Available in Keys & IDs.
+    segmentId := "segmentId_example" // string | The segment_id can be found in the URL of the segment when viewing it in the dashboard.
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.DeleteSegments(appAuth, appId, segmentId).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.DeleteSegments``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `DeleteSegments`: InlineResponse2003
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.DeleteSegments`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | The OneSignal App ID for your app.  Available in Keys &amp; IDs. | 
+**segmentId** | **string** | The segment_id can be found in the URL of the segment when viewing it in the dashboard. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteSegmentsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+### Return type
+
+[**InlineResponse2003**](InlineResponse2003.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ExportPlayers
+
+> InlineResponse2005 ExportPlayers(ctx, appId).ExportPlayersRequestBody(exportPlayersRequestBody).Execute()
+
+CSV export
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The app ID that you want to export devices from
+    exportPlayersRequestBody := *openapiclient.NewExportPlayersRequestBody() // ExportPlayersRequestBody |  (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.ExportPlayers(appAuth, appId).ExportPlayersRequestBody(exportPlayersRequestBody).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.ExportPlayers``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `ExportPlayers`: InlineResponse2005
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.ExportPlayers`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | The app ID that you want to export devices from | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiExportPlayersRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **exportPlayersRequestBody** | [**ExportPlayersRequestBody**](ExportPlayersRequestBody.md) |  | 
+
+### Return type
+
+[**InlineResponse2005**](InlineResponse2005.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetApp
+
+> App GetApp(ctx, appId).Execute()
+
+View an app
+
+
+
+### Authorization
+
+[user_key](../README.md#user_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | An app id
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    userAuth := context.WithValue(context.Background(), onesignal.UserAuth, "USER_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetApp(userAuth, appId).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetApp``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetApp`: App
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetApp`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | An app id | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetAppRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**App**](App.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetApps
+
+> string GetApps(ctx).Execute()
+
+View apps
+
+
+
+### Authorization
+
+[user_key](../README.md#user_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    userAuth := context.WithValue(context.Background(), onesignal.UserAuth, "USER_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetApps(userAuth).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetApps``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetApps`: string
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetApps`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+This endpoint does not need any parameter.
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetAppsRequest struct via the builder pattern
+
+
+### Return type
+
+**string**
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetNotification
+
+> Notification GetNotification(ctx, notificationId).AppId(appId).Execute()
+
+View notification
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | 
+    notificationId := "notificationId_example" // string | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetNotification(appAuth, notificationId).AppId(appId).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetNotification``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetNotification`: Notification
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetNotification`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**notificationId** | **string** |  | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetNotificationRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** |  | 
+
+
+### Return type
+
+[**Notification**](Notification.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetNotificationHistory
+
+> InlineResponse2002 GetNotificationHistory(ctx, notificationId).GetNotificationRequestBody(getNotificationRequestBody).Execute()
+
+Notification History
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    notificationId := "notificationId_example" // string | The \"id\" of the message found in the Notification object
+    getNotificationRequestBody := *openapiclient.NewGetNotificationRequestBody() // GetNotificationRequestBody | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetNotificationHistory(appAuth, notificationId).GetNotificationRequestBody(getNotificationRequestBody).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetNotificationHistory``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetNotificationHistory`: InlineResponse2002
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetNotificationHistory`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**notificationId** | **string** | The \&quot;id\&quot; of the message found in the Notification object | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetNotificationHistoryRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **getNotificationRequestBody** | [**GetNotificationRequestBody**](GetNotificationRequestBody.md) |  | 
+
+### Return type
+
+[**InlineResponse2002**](InlineResponse2002.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetNotifications
+
+> NotificationSlice GetNotifications(ctx).AppId(appId).Limit(limit).Offset(offset).Kind(kind).Execute()
+
+View notifications
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The app ID that you want to view notifications from
+    limit := "limit_example" // string | How many notifications to return.  Max is 50.  Default is 50. (optional)
+    offset := int32(56) // int32 | Page offset.  Default is 0.  Results are sorted by queued_at in descending order.  queued_at is a representation of the time that the notification was queued at. (optional)
+    kind := int32(56) // int32 | Kind of notifications returned:   * unset - All notification types (default)   * `0` - Dashboard only   * `1` - API only   * `3` - Automated only  (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetNotifications(appAuth).AppId(appId).Limit(limit).Offset(offset).Kind(kind).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetNotifications``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetNotifications`: NotificationSlice
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetNotifications`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetNotificationsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** | The app ID that you want to view notifications from | 
+ **limit** | **string** | How many notifications to return.  Max is 50.  Default is 50. | 
+ **offset** | **int32** | Page offset.  Default is 0.  Results are sorted by queued_at in descending order.  queued_at is a representation of the time that the notification was queued at. | 
+ **kind** | **int32** | Kind of notifications returned:   * unset - All notification types (default)   * &#x60;0&#x60; - Dashboard only   * &#x60;1&#x60; - API only   * &#x60;3&#x60; - Automated only  | 
+
+### Return type
+
+[**NotificationSlice**](NotificationSlice.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetOutcomes
+
+> OutcomesData GetOutcomes(ctx, appId).OutcomeNames(outcomeNames).OutcomeNames2(outcomeNames2).OutcomeTimeRange(outcomeTimeRange).OutcomePlatforms(outcomePlatforms).OutcomeAttribution(outcomeAttribution).Execute()
+
+View Outcomes
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The OneSignal App ID for your app.  Available in Keys & IDs.
+    outcomeNames := "outcomeNames_example" // string | Required Comma-separated list of names and the value (sum/count) for the returned outcome data. Note: Clicks only support count aggregation. For out-of-the-box OneSignal outcomes such as click and session duration, please use the \"os\" prefix with two underscores. For other outcomes, please use the name specified by the user. Example:os__session_duration.count,os__click.count,CustomOutcomeName.sum 
+    outcomeNames2 := "outcomeNames_example" // string | Optional If outcome names contain any commas, then please specify only one value at a time. Example: outcome_names[]=os__click.count&outcome_names[]=Sales, Purchase.count where \"Sales, Purchase\" is the custom outcomes with a comma in the name.  (optional)
+    outcomeTimeRange := "outcomeTimeRange_example" // string | Optional Time range for the returned data. The values can be 1h (for the last 1 hour data), 1d (for the last 1 day data), or 1mo (for the last 1 month data). Default is 1h if the parameter is omitted.  (optional)
+    outcomePlatforms := "outcomePlatforms_example" // string | Optional Platform id. Refer device's platform ids for values. Example: outcome_platform=0 for iOS outcome_platform=7,8 for Safari and Firefox Default is data from all platforms if the parameter is omitted.  (optional)
+    outcomeAttribution := "outcomeAttribution_example" // string | Optional Attribution type for the outcomes. The values can be direct or influenced or unattributed. Example: outcome_attribution=direct Default is total (returns direct+influenced+unattributed) if the parameter is omitted.  (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetOutcomes(appAuth, appId).OutcomeNames(outcomeNames).OutcomeNames2(outcomeNames2).OutcomeTimeRange(outcomeTimeRange).OutcomePlatforms(outcomePlatforms).OutcomeAttribution(outcomeAttribution).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetOutcomes``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetOutcomes`: OutcomesData
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetOutcomes`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | The OneSignal App ID for your app.  Available in Keys &amp; IDs. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetOutcomesRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **outcomeNames** | **string** | Required Comma-separated list of names and the value (sum/count) for the returned outcome data. Note: Clicks only support count aggregation. For out-of-the-box OneSignal outcomes such as click and session duration, please use the \&quot;os\&quot; prefix with two underscores. For other outcomes, please use the name specified by the user. Example:os__session_duration.count,os__click.count,CustomOutcomeName.sum  | 
+ **outcomeNames2** | **string** | Optional If outcome names contain any commas, then please specify only one value at a time. Example: outcome_names[]&#x3D;os__click.count&amp;outcome_names[]&#x3D;Sales, Purchase.count where \&quot;Sales, Purchase\&quot; is the custom outcomes with a comma in the name.  | 
+ **outcomeTimeRange** | **string** | Optional Time range for the returned data. The values can be 1h (for the last 1 hour data), 1d (for the last 1 day data), or 1mo (for the last 1 month data). Default is 1h if the parameter is omitted.  | 
+ **outcomePlatforms** | **string** | Optional Platform id. Refer device&#39;s platform ids for values. Example: outcome_platform&#x3D;0 for iOS outcome_platform&#x3D;7,8 for Safari and Firefox Default is data from all platforms if the parameter is omitted.  | 
+ **outcomeAttribution** | **string** | Optional Attribution type for the outcomes. The values can be direct or influenced or unattributed. Example: outcome_attribution&#x3D;direct Default is total (returns direct+influenced+unattributed) if the parameter is omitted.  | 
+
+### Return type
+
+[**OutcomesData**](OutcomesData.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetPlayer
+
+> Player GetPlayer(ctx, playerId).AppId(appId).EmailAuthHash(emailAuthHash).Execute()
+
+View device
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | Your app_id for this device
+    playerId := "playerId_example" // string | Player's OneSignal ID
+    emailAuthHash := "emailAuthHash_example" // string | Email - Only required if you have enabled Identity Verification and device_type is email (11). (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetPlayer(appAuth, playerId).AppId(appId).EmailAuthHash(emailAuthHash).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetPlayer``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetPlayer`: Player
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetPlayer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**playerId** | **string** | Player&#39;s OneSignal ID | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetPlayerRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** | Your app_id for this device | 
+
+ **emailAuthHash** | **string** | Email - Only required if you have enabled Identity Verification and device_type is email (11). | 
+
+### Return type
+
+[**Player**](Player.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetPlayers
+
+> PlayerSlice GetPlayers(ctx).AppId(appId).Limit(limit).Offset(offset).Execute()
+
+View devices
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The app ID that you want to view players from
+    limit := "limit_example" // string | How many devices to return. Max is 300. Default is 300 (optional)
+    offset := int32(56) // int32 | Result offset. Default is 0. Results are sorted by id; (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.GetPlayers(appAuth).AppId(appId).Limit(limit).Offset(offset).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.GetPlayers``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetPlayers`: PlayerSlice
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.GetPlayers`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetPlayersRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **appId** | **string** | The app ID that you want to view players from | 
+ **limit** | **string** | How many devices to return. Max is 300. Default is 300 | 
+ **offset** | **int32** | Result offset. Default is 0. Results are sorted by id; | 
+
+### Return type
+
+[**PlayerSlice**](PlayerSlice.md)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateApp
+
+> App UpdateApp(ctx, appId).App(app).Execute()
+
+Update an app
+
+
+
+### Authorization
+
+[user_key](../README.md#user_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | An app id
+    app := *openapiclient.NewApp("Id_example") // App | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    userAuth := context.WithValue(context.Background(), onesignal.UserAuth, "USER_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.UpdateApp(userAuth, appId).App(app).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.UpdateApp``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `UpdateApp`: App
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.UpdateApp`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | An app id | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateAppRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **app** | [**App**](App.md) |  | 
+
+### Return type
+
+[**App**](App.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdatePlayer
+
+> InlineResponse2001 UpdatePlayer(ctx, playerId).Player(player).Execute()
+
+Edit device
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    playerId := "playerId_example" // string | Player's OneSignal ID
+    player := *openapiclient.NewPlayer("Id_example", "AppId_example", int32(123)) // Player | 
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.UpdatePlayer(appAuth, playerId).Player(player).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.UpdatePlayer``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `UpdatePlayer`: InlineResponse2001
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.UpdatePlayer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**playerId** | **string** | Player&#39;s OneSignal ID | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdatePlayerRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+ **player** | [**Player**](Player.md) |  | 
+
+### Return type
+
+[**InlineResponse2001**](InlineResponse2001.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdatePlayerTags
+
+> InlineResponse2003 UpdatePlayerTags(ctx, appId, externalUserId).UpdatePlayerTagsRequestBody(updatePlayerTagsRequestBody).Execute()
+
+Edit tags with external user id
+
+
+
+### Authorization
+
+[app_key](../README.md#app_key)
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+
+    "onesignal"
+)
+
+func main() {
+    appId := "appId_example" // string | The OneSignal App ID the user record is found under.
+    externalUserId := "externalUserId_example" // string | The External User ID mapped to teh device record in OneSignal.  Must be actively set on the device to be updated.
+    updatePlayerTagsRequestBody := *openapiclient.NewUpdatePlayerTagsRequestBody() // UpdatePlayerTagsRequestBody |  (optional)
+
+    configuration := onesignal.NewConfiguration()
+    apiClient := onesignal.NewAPIClient(configuration)
+
+    appAuth := context.WithValue(context.Background(), onesignal.AppAuth, "APP_KEY_STRING")
+
+    resp, r, err := apiClient.DefaultApi.UpdatePlayerTags(appAuth, appId, externalUserId).UpdatePlayerTagsRequestBody(updatePlayerTagsRequestBody).Execute()
+
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.UpdatePlayerTags``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `UpdatePlayerTags`: InlineResponse2003
+    fmt.Fprintf(os.Stdout, "Response from `DefaultApi.UpdatePlayerTags`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**appId** | **string** | The OneSignal App ID the user record is found under. | 
+**externalUserId** | **string** | The External User ID mapped to teh device record in OneSignal.  Must be actively set on the device to be updated. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdatePlayerTagsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+ **updatePlayerTagsRequestBody** | [**UpdatePlayerTagsRequestBody**](UpdatePlayerTagsRequestBody.md) |  | 
+
+### Return type
+
+[**InlineResponse2003**](InlineResponse2003.md)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/docs/DeliveryData.md b/docs/DeliveryData.md
new file mode 100644
index 0000000..c70b242
--- /dev/null
+++ b/docs/DeliveryData.md
@@ -0,0 +1,160 @@
+# DeliveryData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Successful** | Pointer to **int32** |  | [optional] 
+**Failed** | Pointer to **int32** |  | [optional] 
+**Errored** | Pointer to **int32** |  | [optional] 
+**Converted** | Pointer to **int32** |  | [optional] 
+**Received** | Pointer to **int32** |  | [optional] 
+
+## Methods
+
+### NewDeliveryData
+
+`func NewDeliveryData() *DeliveryData`
+
+NewDeliveryData instantiates a new DeliveryData object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDeliveryDataWithDefaults
+
+`func NewDeliveryDataWithDefaults() *DeliveryData`
+
+NewDeliveryDataWithDefaults instantiates a new DeliveryData object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccessful
+
+`func (o *DeliveryData) GetSuccessful() int32`
+
+GetSuccessful returns the Successful field if non-nil, zero value otherwise.
+
+### GetSuccessfulOk
+
+`func (o *DeliveryData) GetSuccessfulOk() (*int32, bool)`
+
+GetSuccessfulOk returns a tuple with the Successful field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccessful
+
+`func (o *DeliveryData) SetSuccessful(v int32)`
+
+SetSuccessful sets Successful field to given value.
+
+### HasSuccessful
+
+`func (o *DeliveryData) HasSuccessful() bool`
+
+HasSuccessful returns a boolean if a field has been set.
+
+### GetFailed
+
+`func (o *DeliveryData) GetFailed() int32`
+
+GetFailed returns the Failed field if non-nil, zero value otherwise.
+
+### GetFailedOk
+
+`func (o *DeliveryData) GetFailedOk() (*int32, bool)`
+
+GetFailedOk returns a tuple with the Failed field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFailed
+
+`func (o *DeliveryData) SetFailed(v int32)`
+
+SetFailed sets Failed field to given value.
+
+### HasFailed
+
+`func (o *DeliveryData) HasFailed() bool`
+
+HasFailed returns a boolean if a field has been set.
+
+### GetErrored
+
+`func (o *DeliveryData) GetErrored() int32`
+
+GetErrored returns the Errored field if non-nil, zero value otherwise.
+
+### GetErroredOk
+
+`func (o *DeliveryData) GetErroredOk() (*int32, bool)`
+
+GetErroredOk returns a tuple with the Errored field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErrored
+
+`func (o *DeliveryData) SetErrored(v int32)`
+
+SetErrored sets Errored field to given value.
+
+### HasErrored
+
+`func (o *DeliveryData) HasErrored() bool`
+
+HasErrored returns a boolean if a field has been set.
+
+### GetConverted
+
+`func (o *DeliveryData) GetConverted() int32`
+
+GetConverted returns the Converted field if non-nil, zero value otherwise.
+
+### GetConvertedOk
+
+`func (o *DeliveryData) GetConvertedOk() (*int32, bool)`
+
+GetConvertedOk returns a tuple with the Converted field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetConverted
+
+`func (o *DeliveryData) SetConverted(v int32)`
+
+SetConverted sets Converted field to given value.
+
+### HasConverted
+
+`func (o *DeliveryData) HasConverted() bool`
+
+HasConverted returns a boolean if a field has been set.
+
+### GetReceived
+
+`func (o *DeliveryData) GetReceived() int32`
+
+GetReceived returns the Received field if non-nil, zero value otherwise.
+
+### GetReceivedOk
+
+`func (o *DeliveryData) GetReceivedOk() (*int32, bool)`
+
+GetReceivedOk returns a tuple with the Received field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetReceived
+
+`func (o *DeliveryData) SetReceived(v int32)`
+
+SetReceived sets Received field to given value.
+
+### HasReceived
+
+`func (o *DeliveryData) HasReceived() bool`
+
+HasReceived returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ExportPlayersRequestBody.md b/docs/ExportPlayersRequestBody.md
new file mode 100644
index 0000000..1581b9b
--- /dev/null
+++ b/docs/ExportPlayersRequestBody.md
@@ -0,0 +1,108 @@
+# ExportPlayersRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ExtraFields** | Pointer to **[]string** | Additional fields that you wish to include. Currently supports location, country, rooted, notification_types, ip, external_user_id, web_auth, and web_p256. | [optional] 
+**LastActiveSince** | Pointer to **int32** | Export all devices with a last_active timestamp greater than this time.  Unixtime in seconds. | [optional] 
+**SegmentName** | Pointer to **string** | Export al ldevices belonging to the segment. | [optional] 
+
+## Methods
+
+### NewExportPlayersRequestBody
+
+`func NewExportPlayersRequestBody() *ExportPlayersRequestBody`
+
+NewExportPlayersRequestBody instantiates a new ExportPlayersRequestBody object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewExportPlayersRequestBodyWithDefaults
+
+`func NewExportPlayersRequestBodyWithDefaults() *ExportPlayersRequestBody`
+
+NewExportPlayersRequestBodyWithDefaults instantiates a new ExportPlayersRequestBody object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetExtraFields
+
+`func (o *ExportPlayersRequestBody) GetExtraFields() []string`
+
+GetExtraFields returns the ExtraFields field if non-nil, zero value otherwise.
+
+### GetExtraFieldsOk
+
+`func (o *ExportPlayersRequestBody) GetExtraFieldsOk() (*[]string, bool)`
+
+GetExtraFieldsOk returns a tuple with the ExtraFields field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExtraFields
+
+`func (o *ExportPlayersRequestBody) SetExtraFields(v []string)`
+
+SetExtraFields sets ExtraFields field to given value.
+
+### HasExtraFields
+
+`func (o *ExportPlayersRequestBody) HasExtraFields() bool`
+
+HasExtraFields returns a boolean if a field has been set.
+
+### GetLastActiveSince
+
+`func (o *ExportPlayersRequestBody) GetLastActiveSince() int32`
+
+GetLastActiveSince returns the LastActiveSince field if non-nil, zero value otherwise.
+
+### GetLastActiveSinceOk
+
+`func (o *ExportPlayersRequestBody) GetLastActiveSinceOk() (*int32, bool)`
+
+GetLastActiveSinceOk returns a tuple with the LastActiveSince field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastActiveSince
+
+`func (o *ExportPlayersRequestBody) SetLastActiveSince(v int32)`
+
+SetLastActiveSince sets LastActiveSince field to given value.
+
+### HasLastActiveSince
+
+`func (o *ExportPlayersRequestBody) HasLastActiveSince() bool`
+
+HasLastActiveSince returns a boolean if a field has been set.
+
+### GetSegmentName
+
+`func (o *ExportPlayersRequestBody) GetSegmentName() string`
+
+GetSegmentName returns the SegmentName field if non-nil, zero value otherwise.
+
+### GetSegmentNameOk
+
+`func (o *ExportPlayersRequestBody) GetSegmentNameOk() (*string, bool)`
+
+GetSegmentNameOk returns a tuple with the SegmentName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSegmentName
+
+`func (o *ExportPlayersRequestBody) SetSegmentName(v string)`
+
+SetSegmentName sets SegmentName field to given value.
+
+### HasSegmentName
+
+`func (o *ExportPlayersRequestBody) HasSegmentName() bool`
+
+HasSegmentName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Filter.md b/docs/Filter.md
new file mode 100644
index 0000000..e483d68
--- /dev/null
+++ b/docs/Filter.md
@@ -0,0 +1,124 @@
+# Filter
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Field** | **string** | Name of the field to use as the first operand in the filter expression. | 
+**Key** | Pointer to **string** | If &#x60;field&#x60; is &#x60;tag&#x60;, this field is *required* to specify &#x60;key&#x60; inside the tags. | [optional] 
+**Value** | Pointer to **string** | Constant value to use as the second operand in the filter expression.  This value is *required* when the relation operator is a binary operator. | [optional] 
+**Relation** | **string** | Operator of a filter expression. | 
+
+## Methods
+
+### NewFilter
+
+`func NewFilter(field string, relation string, ) *Filter`
+
+NewFilter instantiates a new Filter object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewFilterWithDefaults
+
+`func NewFilterWithDefaults() *Filter`
+
+NewFilterWithDefaults instantiates a new Filter object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetField
+
+`func (o *Filter) GetField() string`
+
+GetField returns the Field field if non-nil, zero value otherwise.
+
+### GetFieldOk
+
+`func (o *Filter) GetFieldOk() (*string, bool)`
+
+GetFieldOk returns a tuple with the Field field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetField
+
+`func (o *Filter) SetField(v string)`
+
+SetField sets Field field to given value.
+
+
+### GetKey
+
+`func (o *Filter) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *Filter) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *Filter) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *Filter) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *Filter) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *Filter) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *Filter) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *Filter) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+### GetRelation
+
+`func (o *Filter) GetRelation() string`
+
+GetRelation returns the Relation field if non-nil, zero value otherwise.
+
+### GetRelationOk
+
+`func (o *Filter) GetRelationOk() (*string, bool)`
+
+GetRelationOk returns a tuple with the Relation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRelation
+
+`func (o *Filter) SetRelation(v string)`
+
+SetRelation sets Relation field to given value.
+
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/FilterExpressions.md b/docs/FilterExpressions.md
new file mode 100644
index 0000000..c5257cb
--- /dev/null
+++ b/docs/FilterExpressions.md
@@ -0,0 +1,150 @@
+# FilterExpressions
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Field** | **string** | Name of the field to use as the first operand in the filter expression. | 
+**Key** | Pointer to **string** | If &#x60;field&#x60; is &#x60;tag&#x60;, this field is *required* to specify &#x60;key&#x60; inside the tags. | [optional] 
+**Value** | Pointer to **string** | Constant value to use as the second operand in the filter expression.  This value is *required* when the relation operator is a binary operator. | [optional] 
+**Relation** | **string** | Operator of a filter expression. | 
+**Operator** | Pointer to **string** | Strictly, this must be either &#x60;\&quot;OR\&quot;&#x60;, or &#x60;\&quot;AND\&quot;&#x60;.  It can be used to compose Filters as part of a Filters object. | [optional] 
+
+## Methods
+
+### NewFilterExpressions
+
+`func NewFilterExpressions(field string, relation string, ) *FilterExpressions`
+
+NewFilterExpressions instantiates a new FilterExpressions object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewFilterExpressionsWithDefaults
+
+`func NewFilterExpressionsWithDefaults() *FilterExpressions`
+
+NewFilterExpressionsWithDefaults instantiates a new FilterExpressions object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetField
+
+`func (o *FilterExpressions) GetField() string`
+
+GetField returns the Field field if non-nil, zero value otherwise.
+
+### GetFieldOk
+
+`func (o *FilterExpressions) GetFieldOk() (*string, bool)`
+
+GetFieldOk returns a tuple with the Field field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetField
+
+`func (o *FilterExpressions) SetField(v string)`
+
+SetField sets Field field to given value.
+
+
+### GetKey
+
+`func (o *FilterExpressions) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *FilterExpressions) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *FilterExpressions) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *FilterExpressions) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *FilterExpressions) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *FilterExpressions) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *FilterExpressions) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *FilterExpressions) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+### GetRelation
+
+`func (o *FilterExpressions) GetRelation() string`
+
+GetRelation returns the Relation field if non-nil, zero value otherwise.
+
+### GetRelationOk
+
+`func (o *FilterExpressions) GetRelationOk() (*string, bool)`
+
+GetRelationOk returns a tuple with the Relation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRelation
+
+`func (o *FilterExpressions) SetRelation(v string)`
+
+SetRelation sets Relation field to given value.
+
+
+### GetOperator
+
+`func (o *FilterExpressions) GetOperator() string`
+
+GetOperator returns the Operator field if non-nil, zero value otherwise.
+
+### GetOperatorOk
+
+`func (o *FilterExpressions) GetOperatorOk() (*string, bool)`
+
+GetOperatorOk returns a tuple with the Operator field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOperator
+
+`func (o *FilterExpressions) SetOperator(v string)`
+
+SetOperator sets Operator field to given value.
+
+### HasOperator
+
+`func (o *FilterExpressions) HasOperator() bool`
+
+HasOperator returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/FilterNotificationTarget.md b/docs/FilterNotificationTarget.md
new file mode 100644
index 0000000..9fc8631
--- /dev/null
+++ b/docs/FilterNotificationTarget.md
@@ -0,0 +1,342 @@
+# FilterNotificationTarget
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**LastSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users last session. Example: \&quot;1.1\&quot;  | [optional] 
+**FirstSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users first session. Example: \&quot;1.1\&quot;  | [optional] 
+**SessionCount** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; number sessions. Example: \&quot;1\&quot;  | [optional] 
+**SessionTime** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; Time in seconds the user has been in your app. Example: \&quot;3600\&quot;  | [optional] 
+**AmountSpent** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, or \&quot;&#x3D;\&quot; value &#x3D; Amount in USD a user has spent on IAP (In App Purchases). Example: \&quot;0.99\&quot;  | [optional] 
+**BoughtSku** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot; or \&quot;&#x3D;\&quot; key &#x3D; SKU purchased in your app as an IAP (In App Purchases). Example: \&quot;com.domain.100coinpack\&quot; value &#x3D; value of SKU to compare to. Example: \&quot;0.99\&quot;  | [optional] 
+**Tag** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot;, \&quot;!&#x3D;\&quot;, \&quot;exists\&quot;, \&quot;not_exists\&quot;, \&quot;time_elapsed_gt\&quot; (paid plan only) or \&quot;time_elapsed_lt\&quot; (paid plan only) See Time Operators key &#x3D; Tag key to compare. value &#x3D; Tag value to compare. Not required for \&quot;exists\&quot; or \&quot;not_exists\&quot;. Example: See Formatting Filters  | [optional] 
+**Language** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; 2 character language code. Example: \&quot;en\&quot;. For a list of all language codes see Language &amp; Localization.  | [optional] 
+**AppVersion** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; app version. Example: \&quot;1.0.0\&quot;  | [optional] 
+**Location** | Pointer to **string** | radius &#x3D; in meters lat &#x3D; latitude long &#x3D; longitude  | [optional] 
+**Email** | Pointer to **string** | value &#x3D; email address Only for sending Push Notifications Use this for targeting push subscribers associated with an email set with all SDK setEmail methods To send emails to specific email addresses use include_email_tokens parameter  | [optional] 
+**Country** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; value &#x3D; 2-digit Country code Example: \&quot;field\&quot;: \&quot;country\&quot;, \&quot;relation\&quot;: \&quot;&#x3D;\&quot;, \&quot;value\&quot;, \&quot;US\&quot;  | [optional] 
+
+## Methods
+
+### NewFilterNotificationTarget
+
+`func NewFilterNotificationTarget() *FilterNotificationTarget`
+
+NewFilterNotificationTarget instantiates a new FilterNotificationTarget object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewFilterNotificationTargetWithDefaults
+
+`func NewFilterNotificationTargetWithDefaults() *FilterNotificationTarget`
+
+NewFilterNotificationTargetWithDefaults instantiates a new FilterNotificationTarget object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetLastSession
+
+`func (o *FilterNotificationTarget) GetLastSession() string`
+
+GetLastSession returns the LastSession field if non-nil, zero value otherwise.
+
+### GetLastSessionOk
+
+`func (o *FilterNotificationTarget) GetLastSessionOk() (*string, bool)`
+
+GetLastSessionOk returns a tuple with the LastSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastSession
+
+`func (o *FilterNotificationTarget) SetLastSession(v string)`
+
+SetLastSession sets LastSession field to given value.
+
+### HasLastSession
+
+`func (o *FilterNotificationTarget) HasLastSession() bool`
+
+HasLastSession returns a boolean if a field has been set.
+
+### GetFirstSession
+
+`func (o *FilterNotificationTarget) GetFirstSession() string`
+
+GetFirstSession returns the FirstSession field if non-nil, zero value otherwise.
+
+### GetFirstSessionOk
+
+`func (o *FilterNotificationTarget) GetFirstSessionOk() (*string, bool)`
+
+GetFirstSessionOk returns a tuple with the FirstSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirstSession
+
+`func (o *FilterNotificationTarget) SetFirstSession(v string)`
+
+SetFirstSession sets FirstSession field to given value.
+
+### HasFirstSession
+
+`func (o *FilterNotificationTarget) HasFirstSession() bool`
+
+HasFirstSession returns a boolean if a field has been set.
+
+### GetSessionCount
+
+`func (o *FilterNotificationTarget) GetSessionCount() string`
+
+GetSessionCount returns the SessionCount field if non-nil, zero value otherwise.
+
+### GetSessionCountOk
+
+`func (o *FilterNotificationTarget) GetSessionCountOk() (*string, bool)`
+
+GetSessionCountOk returns a tuple with the SessionCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionCount
+
+`func (o *FilterNotificationTarget) SetSessionCount(v string)`
+
+SetSessionCount sets SessionCount field to given value.
+
+### HasSessionCount
+
+`func (o *FilterNotificationTarget) HasSessionCount() bool`
+
+HasSessionCount returns a boolean if a field has been set.
+
+### GetSessionTime
+
+`func (o *FilterNotificationTarget) GetSessionTime() string`
+
+GetSessionTime returns the SessionTime field if non-nil, zero value otherwise.
+
+### GetSessionTimeOk
+
+`func (o *FilterNotificationTarget) GetSessionTimeOk() (*string, bool)`
+
+GetSessionTimeOk returns a tuple with the SessionTime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionTime
+
+`func (o *FilterNotificationTarget) SetSessionTime(v string)`
+
+SetSessionTime sets SessionTime field to given value.
+
+### HasSessionTime
+
+`func (o *FilterNotificationTarget) HasSessionTime() bool`
+
+HasSessionTime returns a boolean if a field has been set.
+
+### GetAmountSpent
+
+`func (o *FilterNotificationTarget) GetAmountSpent() string`
+
+GetAmountSpent returns the AmountSpent field if non-nil, zero value otherwise.
+
+### GetAmountSpentOk
+
+`func (o *FilterNotificationTarget) GetAmountSpentOk() (*string, bool)`
+
+GetAmountSpentOk returns a tuple with the AmountSpent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAmountSpent
+
+`func (o *FilterNotificationTarget) SetAmountSpent(v string)`
+
+SetAmountSpent sets AmountSpent field to given value.
+
+### HasAmountSpent
+
+`func (o *FilterNotificationTarget) HasAmountSpent() bool`
+
+HasAmountSpent returns a boolean if a field has been set.
+
+### GetBoughtSku
+
+`func (o *FilterNotificationTarget) GetBoughtSku() string`
+
+GetBoughtSku returns the BoughtSku field if non-nil, zero value otherwise.
+
+### GetBoughtSkuOk
+
+`func (o *FilterNotificationTarget) GetBoughtSkuOk() (*string, bool)`
+
+GetBoughtSkuOk returns a tuple with the BoughtSku field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBoughtSku
+
+`func (o *FilterNotificationTarget) SetBoughtSku(v string)`
+
+SetBoughtSku sets BoughtSku field to given value.
+
+### HasBoughtSku
+
+`func (o *FilterNotificationTarget) HasBoughtSku() bool`
+
+HasBoughtSku returns a boolean if a field has been set.
+
+### GetTag
+
+`func (o *FilterNotificationTarget) GetTag() string`
+
+GetTag returns the Tag field if non-nil, zero value otherwise.
+
+### GetTagOk
+
+`func (o *FilterNotificationTarget) GetTagOk() (*string, bool)`
+
+GetTagOk returns a tuple with the Tag field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTag
+
+`func (o *FilterNotificationTarget) SetTag(v string)`
+
+SetTag sets Tag field to given value.
+
+### HasTag
+
+`func (o *FilterNotificationTarget) HasTag() bool`
+
+HasTag returns a boolean if a field has been set.
+
+### GetLanguage
+
+`func (o *FilterNotificationTarget) GetLanguage() string`
+
+GetLanguage returns the Language field if non-nil, zero value otherwise.
+
+### GetLanguageOk
+
+`func (o *FilterNotificationTarget) GetLanguageOk() (*string, bool)`
+
+GetLanguageOk returns a tuple with the Language field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLanguage
+
+`func (o *FilterNotificationTarget) SetLanguage(v string)`
+
+SetLanguage sets Language field to given value.
+
+### HasLanguage
+
+`func (o *FilterNotificationTarget) HasLanguage() bool`
+
+HasLanguage returns a boolean if a field has been set.
+
+### GetAppVersion
+
+`func (o *FilterNotificationTarget) GetAppVersion() string`
+
+GetAppVersion returns the AppVersion field if non-nil, zero value otherwise.
+
+### GetAppVersionOk
+
+`func (o *FilterNotificationTarget) GetAppVersionOk() (*string, bool)`
+
+GetAppVersionOk returns a tuple with the AppVersion field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppVersion
+
+`func (o *FilterNotificationTarget) SetAppVersion(v string)`
+
+SetAppVersion sets AppVersion field to given value.
+
+### HasAppVersion
+
+`func (o *FilterNotificationTarget) HasAppVersion() bool`
+
+HasAppVersion returns a boolean if a field has been set.
+
+### GetLocation
+
+`func (o *FilterNotificationTarget) GetLocation() string`
+
+GetLocation returns the Location field if non-nil, zero value otherwise.
+
+### GetLocationOk
+
+`func (o *FilterNotificationTarget) GetLocationOk() (*string, bool)`
+
+GetLocationOk returns a tuple with the Location field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLocation
+
+`func (o *FilterNotificationTarget) SetLocation(v string)`
+
+SetLocation sets Location field to given value.
+
+### HasLocation
+
+`func (o *FilterNotificationTarget) HasLocation() bool`
+
+HasLocation returns a boolean if a field has been set.
+
+### GetEmail
+
+`func (o *FilterNotificationTarget) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *FilterNotificationTarget) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *FilterNotificationTarget) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *FilterNotificationTarget) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetCountry
+
+`func (o *FilterNotificationTarget) GetCountry() string`
+
+GetCountry returns the Country field if non-nil, zero value otherwise.
+
+### GetCountryOk
+
+`func (o *FilterNotificationTarget) GetCountryOk() (*string, bool)`
+
+GetCountryOk returns a tuple with the Country field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCountry
+
+`func (o *FilterNotificationTarget) SetCountry(v string)`
+
+SetCountry sets Country field to given value.
+
+### HasCountry
+
+`func (o *FilterNotificationTarget) HasCountry() bool`
+
+HasCountry returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetNotificationRequestBody.md b/docs/GetNotificationRequestBody.md
new file mode 100644
index 0000000..a3ec42e
--- /dev/null
+++ b/docs/GetNotificationRequestBody.md
@@ -0,0 +1,108 @@
+# GetNotificationRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Events** | Pointer to **string** | -&gt; \&quot;sent\&quot; - All the devices by player_id that were sent the specified notification_id.  Notifications targeting under 1000 recipients will not have \&quot;sent\&quot; events recorded, but will show \&quot;clicked\&quot; events. \&quot;clicked\&quot; - All the devices by &#x60;player_id&#x60; that clicked the specified notification_id. | [optional] 
+**Email** | Pointer to **string** | The email address you would like the report sent. | [optional] 
+**AppId** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewGetNotificationRequestBody
+
+`func NewGetNotificationRequestBody() *GetNotificationRequestBody`
+
+NewGetNotificationRequestBody instantiates a new GetNotificationRequestBody object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewGetNotificationRequestBodyWithDefaults
+
+`func NewGetNotificationRequestBodyWithDefaults() *GetNotificationRequestBody`
+
+NewGetNotificationRequestBodyWithDefaults instantiates a new GetNotificationRequestBody object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEvents
+
+`func (o *GetNotificationRequestBody) GetEvents() string`
+
+GetEvents returns the Events field if non-nil, zero value otherwise.
+
+### GetEventsOk
+
+`func (o *GetNotificationRequestBody) GetEventsOk() (*string, bool)`
+
+GetEventsOk returns a tuple with the Events field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEvents
+
+`func (o *GetNotificationRequestBody) SetEvents(v string)`
+
+SetEvents sets Events field to given value.
+
+### HasEvents
+
+`func (o *GetNotificationRequestBody) HasEvents() bool`
+
+HasEvents returns a boolean if a field has been set.
+
+### GetEmail
+
+`func (o *GetNotificationRequestBody) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *GetNotificationRequestBody) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *GetNotificationRequestBody) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *GetNotificationRequestBody) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetAppId
+
+`func (o *GetNotificationRequestBody) GetAppId() string`
+
+GetAppId returns the AppId field if non-nil, zero value otherwise.
+
+### GetAppIdOk
+
+`func (o *GetNotificationRequestBody) GetAppIdOk() (*string, bool)`
+
+GetAppIdOk returns a tuple with the AppId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppId
+
+`func (o *GetNotificationRequestBody) SetAppId(v string)`
+
+SetAppId sets AppId field to given value.
+
+### HasAppId
+
+`func (o *GetNotificationRequestBody) HasAppId() bool`
+
+HasAppId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200.md b/docs/InlineResponse200.md
new file mode 100644
index 0000000..66aea30
--- /dev/null
+++ b/docs/InlineResponse200.md
@@ -0,0 +1,124 @@
+# InlineResponse200
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** |  | 
+**Recipients** | **int32** | Estimated number of subscribers targetted by notification. | 
+**ExternalId** | Pointer to **string** |  | [optional] 
+**Errors** | Pointer to [**Notification200Errors**](Notification200Errors.md) |  | [optional] 
+
+## Methods
+
+### NewInlineResponse200
+
+`func NewInlineResponse200(id string, recipients int32, ) *InlineResponse200`
+
+NewInlineResponse200 instantiates a new InlineResponse200 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse200WithDefaults
+
+`func NewInlineResponse200WithDefaults() *InlineResponse200`
+
+NewInlineResponse200WithDefaults instantiates a new InlineResponse200 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *InlineResponse200) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *InlineResponse200) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *InlineResponse200) SetId(v string)`
+
+SetId sets Id field to given value.
+
+
+### GetRecipients
+
+`func (o *InlineResponse200) GetRecipients() int32`
+
+GetRecipients returns the Recipients field if non-nil, zero value otherwise.
+
+### GetRecipientsOk
+
+`func (o *InlineResponse200) GetRecipientsOk() (*int32, bool)`
+
+GetRecipientsOk returns a tuple with the Recipients field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRecipients
+
+`func (o *InlineResponse200) SetRecipients(v int32)`
+
+SetRecipients sets Recipients field to given value.
+
+
+### GetExternalId
+
+`func (o *InlineResponse200) GetExternalId() string`
+
+GetExternalId returns the ExternalId field if non-nil, zero value otherwise.
+
+### GetExternalIdOk
+
+`func (o *InlineResponse200) GetExternalIdOk() (*string, bool)`
+
+GetExternalIdOk returns a tuple with the ExternalId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExternalId
+
+`func (o *InlineResponse200) SetExternalId(v string)`
+
+SetExternalId sets ExternalId field to given value.
+
+### HasExternalId
+
+`func (o *InlineResponse200) HasExternalId() bool`
+
+HasExternalId returns a boolean if a field has been set.
+
+### GetErrors
+
+`func (o *InlineResponse200) GetErrors() Notification200Errors`
+
+GetErrors returns the Errors field if non-nil, zero value otherwise.
+
+### GetErrorsOk
+
+`func (o *InlineResponse200) GetErrorsOk() (*Notification200Errors, bool)`
+
+GetErrorsOk returns a tuple with the Errors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErrors
+
+`func (o *InlineResponse200) SetErrors(v Notification200Errors)`
+
+SetErrors sets Errors field to given value.
+
+### HasErrors
+
+`func (o *InlineResponse200) HasErrors() bool`
+
+HasErrors returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2001.md b/docs/InlineResponse2001.md
new file mode 100644
index 0000000..f20ca87
--- /dev/null
+++ b/docs/InlineResponse2001.md
@@ -0,0 +1,56 @@
+# InlineResponse2001
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse2001
+
+`func NewInlineResponse2001() *InlineResponse2001`
+
+NewInlineResponse2001 instantiates a new InlineResponse2001 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse2001WithDefaults
+
+`func NewInlineResponse2001WithDefaults() *InlineResponse2001`
+
+NewInlineResponse2001WithDefaults instantiates a new InlineResponse2001 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse2001) GetSuccess() string`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse2001) GetSuccessOk() (*string, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse2001) SetSuccess(v string)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse2001) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2002.md b/docs/InlineResponse2002.md
new file mode 100644
index 0000000..db79fc0
--- /dev/null
+++ b/docs/InlineResponse2002.md
@@ -0,0 +1,82 @@
+# InlineResponse2002
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **string** |  | [optional] 
+**DestinationUrl** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse2002
+
+`func NewInlineResponse2002() *InlineResponse2002`
+
+NewInlineResponse2002 instantiates a new InlineResponse2002 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse2002WithDefaults
+
+`func NewInlineResponse2002WithDefaults() *InlineResponse2002`
+
+NewInlineResponse2002WithDefaults instantiates a new InlineResponse2002 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse2002) GetSuccess() string`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse2002) GetSuccessOk() (*string, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse2002) SetSuccess(v string)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse2002) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+### GetDestinationUrl
+
+`func (o *InlineResponse2002) GetDestinationUrl() string`
+
+GetDestinationUrl returns the DestinationUrl field if non-nil, zero value otherwise.
+
+### GetDestinationUrlOk
+
+`func (o *InlineResponse2002) GetDestinationUrlOk() (*string, bool)`
+
+GetDestinationUrlOk returns a tuple with the DestinationUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDestinationUrl
+
+`func (o *InlineResponse2002) SetDestinationUrl(v string)`
+
+SetDestinationUrl sets DestinationUrl field to given value.
+
+### HasDestinationUrl
+
+`func (o *InlineResponse2002) HasDestinationUrl() bool`
+
+HasDestinationUrl returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2003.md b/docs/InlineResponse2003.md
new file mode 100644
index 0000000..08b2f7e
--- /dev/null
+++ b/docs/InlineResponse2003.md
@@ -0,0 +1,56 @@
+# InlineResponse2003
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **bool** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse2003
+
+`func NewInlineResponse2003() *InlineResponse2003`
+
+NewInlineResponse2003 instantiates a new InlineResponse2003 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse2003WithDefaults
+
+`func NewInlineResponse2003WithDefaults() *InlineResponse2003`
+
+NewInlineResponse2003WithDefaults instantiates a new InlineResponse2003 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse2003) GetSuccess() bool`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse2003) GetSuccessOk() (*bool, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse2003) SetSuccess(v bool)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse2003) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2004.md b/docs/InlineResponse2004.md
new file mode 100644
index 0000000..1e25a6f
--- /dev/null
+++ b/docs/InlineResponse2004.md
@@ -0,0 +1,82 @@
+# InlineResponse2004
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **bool** |  | [optional] 
+**Id** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse2004
+
+`func NewInlineResponse2004() *InlineResponse2004`
+
+NewInlineResponse2004 instantiates a new InlineResponse2004 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse2004WithDefaults
+
+`func NewInlineResponse2004WithDefaults() *InlineResponse2004`
+
+NewInlineResponse2004WithDefaults instantiates a new InlineResponse2004 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse2004) GetSuccess() bool`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse2004) GetSuccessOk() (*bool, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse2004) SetSuccess(v bool)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse2004) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *InlineResponse2004) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *InlineResponse2004) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *InlineResponse2004) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *InlineResponse2004) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2005.md b/docs/InlineResponse2005.md
new file mode 100644
index 0000000..bf29d97
--- /dev/null
+++ b/docs/InlineResponse2005.md
@@ -0,0 +1,56 @@
+# InlineResponse2005
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CsvFileUrl** | Pointer to **string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse2005
+
+`func NewInlineResponse2005() *InlineResponse2005`
+
+NewInlineResponse2005 instantiates a new InlineResponse2005 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse2005WithDefaults
+
+`func NewInlineResponse2005WithDefaults() *InlineResponse2005`
+
+NewInlineResponse2005WithDefaults instantiates a new InlineResponse2005 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCsvFileUrl
+
+`func (o *InlineResponse2005) GetCsvFileUrl() string`
+
+GetCsvFileUrl returns the CsvFileUrl field if non-nil, zero value otherwise.
+
+### GetCsvFileUrlOk
+
+`func (o *InlineResponse2005) GetCsvFileUrlOk() (*string, bool)`
+
+GetCsvFileUrlOk returns a tuple with the CsvFileUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCsvFileUrl
+
+`func (o *InlineResponse2005) SetCsvFileUrl(v string)`
+
+SetCsvFileUrl sets CsvFileUrl field to given value.
+
+### HasCsvFileUrl
+
+`func (o *InlineResponse2005) HasCsvFileUrl() bool`
+
+HasCsvFileUrl returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse201.md b/docs/InlineResponse201.md
new file mode 100644
index 0000000..4ac1a97
--- /dev/null
+++ b/docs/InlineResponse201.md
@@ -0,0 +1,82 @@
+# InlineResponse201
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **bool** |  | [optional] 
+**Id** | Pointer to **string** | UUID of created segment | [optional] 
+
+## Methods
+
+### NewInlineResponse201
+
+`func NewInlineResponse201() *InlineResponse201`
+
+NewInlineResponse201 instantiates a new InlineResponse201 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse201WithDefaults
+
+`func NewInlineResponse201WithDefaults() *InlineResponse201`
+
+NewInlineResponse201WithDefaults instantiates a new InlineResponse201 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse201) GetSuccess() bool`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse201) GetSuccessOk() (*bool, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse201) SetSuccess(v bool)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse201) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *InlineResponse201) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *InlineResponse201) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *InlineResponse201) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *InlineResponse201) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse400.md b/docs/InlineResponse400.md
new file mode 100644
index 0000000..bb7d31a
--- /dev/null
+++ b/docs/InlineResponse400.md
@@ -0,0 +1,56 @@
+# InlineResponse400
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Errors** | Pointer to **[]string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse400
+
+`func NewInlineResponse400() *InlineResponse400`
+
+NewInlineResponse400 instantiates a new InlineResponse400 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse400WithDefaults
+
+`func NewInlineResponse400WithDefaults() *InlineResponse400`
+
+NewInlineResponse400WithDefaults instantiates a new InlineResponse400 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetErrors
+
+`func (o *InlineResponse400) GetErrors() []string`
+
+GetErrors returns the Errors field if non-nil, zero value otherwise.
+
+### GetErrorsOk
+
+`func (o *InlineResponse400) GetErrorsOk() (*[]string, bool)`
+
+GetErrorsOk returns a tuple with the Errors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErrors
+
+`func (o *InlineResponse400) SetErrors(v []string)`
+
+SetErrors sets Errors field to given value.
+
+### HasErrors
+
+`func (o *InlineResponse400) HasErrors() bool`
+
+HasErrors returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4001.md b/docs/InlineResponse4001.md
new file mode 100644
index 0000000..9da63cd
--- /dev/null
+++ b/docs/InlineResponse4001.md
@@ -0,0 +1,82 @@
+# InlineResponse4001
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **string** |  | [optional] 
+**Errors** | Pointer to **[]string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse4001
+
+`func NewInlineResponse4001() *InlineResponse4001`
+
+NewInlineResponse4001 instantiates a new InlineResponse4001 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse4001WithDefaults
+
+`func NewInlineResponse4001WithDefaults() *InlineResponse4001`
+
+NewInlineResponse4001WithDefaults instantiates a new InlineResponse4001 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse4001) GetSuccess() string`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse4001) GetSuccessOk() (*string, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse4001) SetSuccess(v string)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse4001) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+### GetErrors
+
+`func (o *InlineResponse4001) GetErrors() []string`
+
+GetErrors returns the Errors field if non-nil, zero value otherwise.
+
+### GetErrorsOk
+
+`func (o *InlineResponse4001) GetErrorsOk() (*[]string, bool)`
+
+GetErrorsOk returns a tuple with the Errors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErrors
+
+`func (o *InlineResponse4001) SetErrors(v []string)`
+
+SetErrors sets Errors field to given value.
+
+### HasErrors
+
+`func (o *InlineResponse4001) HasErrors() bool`
+
+HasErrors returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4002.md b/docs/InlineResponse4002.md
new file mode 100644
index 0000000..389918d
--- /dev/null
+++ b/docs/InlineResponse4002.md
@@ -0,0 +1,82 @@
+# InlineResponse4002
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Success** | Pointer to **bool** |  | [optional] 
+**Errors** | Pointer to **[]string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse4002
+
+`func NewInlineResponse4002() *InlineResponse4002`
+
+NewInlineResponse4002 instantiates a new InlineResponse4002 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse4002WithDefaults
+
+`func NewInlineResponse4002WithDefaults() *InlineResponse4002`
+
+NewInlineResponse4002WithDefaults instantiates a new InlineResponse4002 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSuccess
+
+`func (o *InlineResponse4002) GetSuccess() bool`
+
+GetSuccess returns the Success field if non-nil, zero value otherwise.
+
+### GetSuccessOk
+
+`func (o *InlineResponse4002) GetSuccessOk() (*bool, bool)`
+
+GetSuccessOk returns a tuple with the Success field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSuccess
+
+`func (o *InlineResponse4002) SetSuccess(v bool)`
+
+SetSuccess sets Success field to given value.
+
+### HasSuccess
+
+`func (o *InlineResponse4002) HasSuccess() bool`
+
+HasSuccess returns a boolean if a field has been set.
+
+### GetErrors
+
+`func (o *InlineResponse4002) GetErrors() []string`
+
+GetErrors returns the Errors field if non-nil, zero value otherwise.
+
+### GetErrorsOk
+
+`func (o *InlineResponse4002) GetErrorsOk() (*[]string, bool)`
+
+GetErrorsOk returns a tuple with the Errors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErrors
+
+`func (o *InlineResponse4002) SetErrors(v []string)`
+
+SetErrors sets Errors field to given value.
+
+### HasErrors
+
+`func (o *InlineResponse4002) HasErrors() bool`
+
+HasErrors returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4003.md b/docs/InlineResponse4003.md
new file mode 100644
index 0000000..6630614
--- /dev/null
+++ b/docs/InlineResponse4003.md
@@ -0,0 +1,56 @@
+# InlineResponse4003
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Erorrs** | Pointer to **[]string** |  | [optional] 
+
+## Methods
+
+### NewInlineResponse4003
+
+`func NewInlineResponse4003() *InlineResponse4003`
+
+NewInlineResponse4003 instantiates a new InlineResponse4003 object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInlineResponse4003WithDefaults
+
+`func NewInlineResponse4003WithDefaults() *InlineResponse4003`
+
+NewInlineResponse4003WithDefaults instantiates a new InlineResponse4003 object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetErorrs
+
+`func (o *InlineResponse4003) GetErorrs() []string`
+
+GetErorrs returns the Erorrs field if non-nil, zero value otherwise.
+
+### GetErorrsOk
+
+`func (o *InlineResponse4003) GetErorrsOk() (*[]string, bool)`
+
+GetErorrsOk returns a tuple with the Erorrs field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetErorrs
+
+`func (o *InlineResponse4003) SetErorrs(v []string)`
+
+SetErorrs sets Erorrs field to given value.
+
+### HasErorrs
+
+`func (o *InlineResponse4003) HasErorrs() bool`
+
+HasErorrs returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InvalidIdentifierError.md b/docs/InvalidIdentifierError.md
new file mode 100644
index 0000000..b8c26f4
--- /dev/null
+++ b/docs/InvalidIdentifierError.md
@@ -0,0 +1,82 @@
+# InvalidIdentifierError
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**InvalidExternalUserIds** | Pointer to **[]string** | Returned if using include_external_user_ids | [optional] 
+**InvalidPlayerIds** | Pointer to **[]string** | Returned if using include_player_ids and some were valid and others were not. | [optional] 
+
+## Methods
+
+### NewInvalidIdentifierError
+
+`func NewInvalidIdentifierError() *InvalidIdentifierError`
+
+NewInvalidIdentifierError instantiates a new InvalidIdentifierError object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewInvalidIdentifierErrorWithDefaults
+
+`func NewInvalidIdentifierErrorWithDefaults() *InvalidIdentifierError`
+
+NewInvalidIdentifierErrorWithDefaults instantiates a new InvalidIdentifierError object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetInvalidExternalUserIds
+
+`func (o *InvalidIdentifierError) GetInvalidExternalUserIds() []string`
+
+GetInvalidExternalUserIds returns the InvalidExternalUserIds field if non-nil, zero value otherwise.
+
+### GetInvalidExternalUserIdsOk
+
+`func (o *InvalidIdentifierError) GetInvalidExternalUserIdsOk() (*[]string, bool)`
+
+GetInvalidExternalUserIdsOk returns a tuple with the InvalidExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetInvalidExternalUserIds
+
+`func (o *InvalidIdentifierError) SetInvalidExternalUserIds(v []string)`
+
+SetInvalidExternalUserIds sets InvalidExternalUserIds field to given value.
+
+### HasInvalidExternalUserIds
+
+`func (o *InvalidIdentifierError) HasInvalidExternalUserIds() bool`
+
+HasInvalidExternalUserIds returns a boolean if a field has been set.
+
+### GetInvalidPlayerIds
+
+`func (o *InvalidIdentifierError) GetInvalidPlayerIds() []string`
+
+GetInvalidPlayerIds returns the InvalidPlayerIds field if non-nil, zero value otherwise.
+
+### GetInvalidPlayerIdsOk
+
+`func (o *InvalidIdentifierError) GetInvalidPlayerIdsOk() (*[]string, bool)`
+
+GetInvalidPlayerIdsOk returns a tuple with the InvalidPlayerIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetInvalidPlayerIds
+
+`func (o *InvalidIdentifierError) SetInvalidPlayerIds(v []string)`
+
+SetInvalidPlayerIds sets InvalidPlayerIds field to given value.
+
+### HasInvalidPlayerIds
+
+`func (o *InvalidIdentifierError) HasInvalidPlayerIds() bool`
+
+HasInvalidPlayerIds returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notification.md b/docs/Notification.md
new file mode 100644
index 0000000..2e1e340
--- /dev/null
+++ b/docs/Notification.md
@@ -0,0 +1,2967 @@
+# Notification
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IncludedSegments** | Pointer to **[]string** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+**ExcludedSegments** | Pointer to **[]string** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+**LastSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users last session. Example: \&quot;1.1\&quot;  | [optional] 
+**FirstSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users first session. Example: \&quot;1.1\&quot;  | [optional] 
+**SessionCount** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; number sessions. Example: \&quot;1\&quot;  | [optional] 
+**SessionTime** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; Time in seconds the user has been in your app. Example: \&quot;3600\&quot;  | [optional] 
+**AmountSpent** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, or \&quot;&#x3D;\&quot; value &#x3D; Amount in USD a user has spent on IAP (In App Purchases). Example: \&quot;0.99\&quot;  | [optional] 
+**BoughtSku** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot; or \&quot;&#x3D;\&quot; key &#x3D; SKU purchased in your app as an IAP (In App Purchases). Example: \&quot;com.domain.100coinpack\&quot; value &#x3D; value of SKU to compare to. Example: \&quot;0.99\&quot;  | [optional] 
+**Tag** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot;, \&quot;!&#x3D;\&quot;, \&quot;exists\&quot;, \&quot;not_exists\&quot;, \&quot;time_elapsed_gt\&quot; (paid plan only) or \&quot;time_elapsed_lt\&quot; (paid plan only) See Time Operators key &#x3D; Tag key to compare. value &#x3D; Tag value to compare. Not required for \&quot;exists\&quot; or \&quot;not_exists\&quot;. Example: See Formatting Filters  | [optional] 
+**Language** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; 2 character language code. Example: \&quot;en\&quot;. For a list of all language codes see Language &amp; Localization.  | [optional] 
+**AppVersion** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; app version. Example: \&quot;1.0.0\&quot;  | [optional] 
+**Location** | Pointer to **string** | radius &#x3D; in meters lat &#x3D; latitude long &#x3D; longitude  | [optional] 
+**Email** | Pointer to **string** | value &#x3D; email address Only for sending Push Notifications Use this for targeting push subscribers associated with an email set with all SDK setEmail methods To send emails to specific email addresses use include_email_tokens parameter  | [optional] 
+**Country** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; value &#x3D; 2-digit Country code Example: \&quot;field\&quot;: \&quot;country\&quot;, \&quot;relation\&quot;: \&quot;&#x3D;\&quot;, \&quot;value\&quot;, \&quot;US\&quot;  | [optional] 
+**IncludePlayerIds** | Pointer to **[]string** | Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\&quot;1dd608f2-c6a1-11e3-851d-000c2940e62c\&quot;] Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeExternalUserIds** | Pointer to **[]string** | Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\&quot;custom-id-assigned-by-api\&quot;] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms.  | [optional] 
+**IncludeEmailTokens** | Pointer to **[]string** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call  | [optional] 
+**IncludePhoneNumbers** | Pointer to **[]string** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeIosTokens** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeWpWnsUris** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAmazonRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeWebRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAndroidRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**Id** | Pointer to **string** |  | [optional] 
+**Value** | Pointer to **int32** |  | [optional] [readonly] 
+**Aggregation** | Pointer to **string** |  | [optional] [readonly] 
+**IsIos** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Apple iOS platform. | [optional] [default to true]
+**IsAndroid** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Google Android platform. | [optional] 
+**IsHuawei** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Huawei Android platform. | [optional] 
+**IsAnyWeb** | Pointer to **bool** | Indicates whether to send to all subscribed web browser users, including Chrome, Firefox, and Safari. You may use this instead as a combined flag instead of separately enabling isChromeWeb, isFirefox, and isSafari, though the three options are equivalent to this one.  | [optional] 
+**IsChromeWeb** | Pointer to **bool** | Indicates whether to send to all Google Chrome, Chrome on Android, and Mozilla Firefox users registered under your Chrome &amp; Firefox web push platform. | [optional] 
+**IsFirefox** | Pointer to **bool** | Indicates whether to send to all Mozilla Firefox desktop users registered under your Firefox web push platform. | [optional] 
+**IsSafari** | Pointer to **bool** | Does not support iOS Safari. Indicates whether to send to all Apple&#39;s Safari desktop users registered under your Safari web push platform. Read more iOS Safari | [optional] 
+**IsWPWNS** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Windows platform. | [optional] 
+**IsAdm** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Amazon Fire platform. | [optional] 
+**IsChrome** | Pointer to **bool** | This flag is not used for web push Please see isChromeWeb for sending to web push users. This flag only applies to Google Chrome Apps &amp; Extensions. Indicates whether to send to all devices registered under your app&#39;s Google Chrome Apps &amp; Extension platform.  | [optional] 
+**ChannelForExternalUserIds** | Pointer to **string** | Indicates if the message type when targeting with include_external_user_ids for cases where an email, sms, and/or push subscribers have the same external user id. Example: Use the string \&quot;push\&quot; to indicate you are sending a push notification or the string \&quot;email\&quot;for sending emails or \&quot;sms\&quot;for sending SMS.  | [optional] 
+**AppId** | **string** | Required: Your OneSignal Application ID, which can be found in Keys &amp; IDs. It is a UUID and looks similar to 8250eaf6-1a58-489e-b136-7c74a864b434.  | 
+**ExternalId** | Pointer to **string** | Correlation and idempotency key. A request received with this parameter will first look for another notification with the same external_id. If one exists, a notification will not be sent, and result of the previous operation will instead be returned. Therefore, if you plan on using this feature, it&#39;s important to use a good source of randomness to generate the UUID passed here. This key is only idempotent for 30 days. After 30 days, the notification could be removed from our system and a notification with the same external_id will be sent again.   See Idempotent Notification Requests for more details writeOnly: true  | [optional] 
+**Contents** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Headings** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Subtitle** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Data** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: Huawei A custom map of data that is passed back to your app. Same as using Additional Data within the dashboard. Can use up to 2048 bytes of data. Example: {\&quot;abc\&quot;: 123, \&quot;foo\&quot;: \&quot;bar\&quot;, \&quot;event_performed\&quot;: true, \&quot;amount\&quot;: 12.1}  | [optional] 
+**HuaweiMsgType** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Use \&quot;data\&quot; or \&quot;message\&quot; depending on the type of notification you are sending. More details in Data &amp; Background Notifications.  | [optional] 
+**Url** | Pointer to **string** | Channel: Push Notifications Platform: All The URL to open in the browser when a user clicks on the notification. Note: iOS needs https or updated NSAppTransportSecurity in plist This field supports inline substitutions. Omit if including web_url or app_url Example: https://onesignal.com  | [optional] 
+**WebUrl** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including Chrome, Firefox, Safari, Opera, etc. Example: https://onesignal.com  | [optional] 
+**AppUrl** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including iOS, Android, macOS, Windows, ChromeApps, etc. Example: https://onesignal.com  | [optional] 
+**IosAttachments** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: iOS 10+ Adds media attachments to notifications. Set as JSON object, key as a media id of your choice and the value as a valid local filename or URL. User must press and hold on the notification to view. Do not set mutable_content to download attachments. The OneSignal SDK does this automatically Example: {\&quot;id1\&quot;: \&quot;https://domain.com/image.jpg\&quot;}  | [optional] 
+**TemplateId** | Pointer to **string** | Channel: Push Notifications Platform: All Use a template you setup on our dashboard. The template_id is the UUID found in the URL when viewing a template on our dashboard. Example: be4a8044-bbd6-11e4-a581-000c2940e62c  | [optional] 
+**ContentAvailable** | Pointer to **bool** | Channel: Push Notifications Platform: iOS Sending true wakes your app from background to run custom native code (Apple interprets this as content-available&#x3D;1). Note: Not applicable if the app is in the \&quot;force-quit\&quot; state (i.e app was swiped away). Omit the contents field to prevent displaying a visible notification.  | [optional] 
+**MutableContent** | Pointer to **bool** | Channel: Push Notifications Platform: iOS 10+ Always defaults to true and cannot be turned off. Allows tracking of notification receives and changing of the notification content in your app before it is displayed. Triggers didReceive(_:withContentHandler:) on your UNNotificationServiceExtension.  | [optional] 
+**TargetContentIdentifier** | Pointer to **string** | Channel: Push Notifications Platform: iOS 13+ Use to target a specific experience in your App Clip, or to target your notification to a specific window in a multi-scene App.  | [optional] 
+**BigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Android Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**HuaweiBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**AdmBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Amazon Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**ChromeBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: ChromeApp Large picture to display below the notification text. Must be a local URL.  | [optional] 
+**ChromeWebImage** | Pointer to **string** | Channel: Push Notifications Platform: Chrome 56+ Sets the web push notification&#39;s large image to be shown below the notification&#39;s title and text. Please see Web Push Notification Icons.  | [optional] 
+**Buttons** | Pointer to [**[]Button**](Button.md) | Channel: Push Notifications Platform: iOS 8.0+, Android 4.1+, and derivatives like Amazon Buttons to add to the notification. Icon only works for Android. Buttons show in reverse order of array position i.e. Last item in array shows as first button on device. Example: [{\&quot;id\&quot;: \&quot;id2\&quot;, \&quot;text\&quot;: \&quot;second button\&quot;, \&quot;icon\&quot;: \&quot;ic_menu_share\&quot;}, {\&quot;id\&quot;: \&quot;id1\&quot;, \&quot;text\&quot;: \&quot;first button\&quot;, \&quot;icon\&quot;: \&quot;ic_menu_send\&quot;}]  | [optional] 
+**WebButtons** | Pointer to [**[]Button**](Button.md) | Channel: Push Notifications Platform: Chrome 48+ Add action buttons to the notification. The id field is required. Example: [{\&quot;id\&quot;: \&quot;like-button\&quot;, \&quot;text\&quot;: \&quot;Like\&quot;, \&quot;icon\&quot;: \&quot;http://i.imgur.com/N8SN8ZS.png\&quot;, \&quot;url\&quot;: \&quot;https://yoursite.com\&quot;}, {\&quot;id\&quot;: \&quot;read-more-button\&quot;, \&quot;text\&quot;: \&quot;Read more\&quot;, \&quot;icon\&quot;: \&quot;http://i.imgur.com/MIxJp1L.png\&quot;, \&quot;url\&quot;: \&quot;https://yoursite.com\&quot;}]  | [optional] 
+**IosCategory** | Pointer to **string** | Channel: Push Notifications Platform: iOS Category APS payload, use with registerUserNotificationSettings:categories in your Objective-C / Swift code. Example: calendar category which contains actions like accept and decline iOS 10+ This will trigger your UNNotificationContentExtension whose ID matches this category.  | [optional] 
+**AndroidChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Android The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it&#39;s id.  | [optional] 
+**HuaweiChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Huawei The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it&#39;s id.  | [optional] 
+**ExistingAndroidChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Android Use this if you have client side Android Oreo Channels you have already defined in your app with code.  | [optional] 
+**HuaweiExistingChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Use this if you have client side Android Oreo Channels you have already defined in your app with code.  | [optional] 
+**AndroidBackgroundLayout** | Pointer to [**NotificationAllOfAndroidBackgroundLayout**](NotificationAllOfAndroidBackgroundLayout.md) |  | [optional] 
+**SmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Android Icon shown in the status bar and on the top left of the notification. If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons  | [optional] 
+**HuaweiSmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Icon shown in the status bar and on the top left of the notification. Use an Android resource path (E.g. /drawable/small_icon). Defaults to your app icon if not set.  | [optional] 
+**LargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Android Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**HuaweiLargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**AdmSmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Amazon If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons  | [optional] 
+**AdmLargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Amazon If blank the small_icon is used. Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**ChromeWebIcon** | Pointer to **string** | Channel: Push Notifications Platform: Chrome Sets the web push notification&#39;s icon. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. Firefox will also use this icon, unless you specify firefox_icon.  | [optional] 
+**ChromeWebBadge** | Pointer to **string** | Channel: Push Notifications Platform: Chrome Sets the web push notification icon for Android devices in the notification shade. Please see Web Push Notification Badge.  | [optional] 
+**FirefoxIcon** | Pointer to **string** | Channel: Push Notifications Platform: Firefox Not recommended Few people need to set Firefox-specific icons. We recommend setting chrome_web_icon instead, which Firefox will also use. Sets the web push notification&#39;s icon for Firefox. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices.  | [optional] 
+**ChromeIcon** | Pointer to **string** | Channel: Push Notifications Platform: ChromeApp This flag is not used for web push For web push, please see chrome_web_icon instead. The local URL to an icon to use. If blank, the app icon will be used.  | [optional] 
+**IosSound** | Pointer to **string** | Channel: Push Notifications Platform: iOS Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable vibration and sound for the notification. Example: \&quot;notification.wav\&quot;  | [optional] 
+**AndroidSound** | Pointer to **string** | Channel: Push Notifications Platform: Android &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \&quot;notification\&quot;  | [optional] 
+**HuaweiSound** | Pointer to **string** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sound file that is included in your app to play instead of the default device notification sound. NOTE: Leave off file extension for and include the full path.  Example: \&quot;/res/raw/notification\&quot;  | [optional] 
+**AdmSound** | Pointer to **string** | Channel: Push Notifications Platform: Amazon &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \&quot;notification\&quot;  | [optional] 
+**WpWnsSound** | Pointer to **string** | Channel: Push Notifications Platform: Windows Sound file that is included in your app to play instead of the default device notification sound. Example: \&quot;notification.wav\&quot;  | [optional] 
+**AndroidLedColor** | Pointer to **string** | Channel: Push Notifications Platform: Android &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sets the devices LED notification light if the device has one. ARGB Hex format. Example(Blue): \&quot;FF0000FF\&quot;  | [optional] 
+**HuaweiLedColor** | Pointer to **string** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sets the devices LED notification light if the device has one. RGB Hex format. Example(Blue): \&quot;0000FF\&quot;  | [optional] 
+**AndroidAccentColor** | Pointer to **string** | Channel: Push Notifications Platform: Android Sets the background color of the notification circle to the left of the notification text. Only applies to apps targeting Android API level 21+ on Android 5.0+ devices. Example(Red): \&quot;FFFF0000\&quot;  | [optional] 
+**HuaweiAccentColor** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device&#39;s theme color if not set.  | [optional] 
+**AndroidVisibility** | Pointer to **int32** | Channel: Push Notifications Platform: Android 5.0_ &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. 1 &#x3D; Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 &#x3D; Private (Hides message contents on lock screen if the user set \&quot;Hide sensitive notification content\&quot; in the system settings) -1 &#x3D; Secret (Notification does not show on the lock screen at all)  | [optional] 
+**HuaweiVisibility** | Pointer to **int32** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. 1 &#x3D; Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 &#x3D; Private (Hides message contents on lock screen if the user set \&quot;Hide sensitive notification content\&quot; in the system settings) -1 &#x3D; Secret (Notification does not show on the lock screen at all)  | [optional] 
+**IosBadgeType** | Pointer to **string** | Channel: Push Notifications Platform: iOS Describes whether to set or increase/decrease your app&#39;s iOS badge count by the ios_badgeCount specified count. Can specify None, SetTo, or Increase. &#x60;None&#x60; leaves the count unaffected. &#x60;SetTo&#x60; directly sets the badge count to the number specified in ios_badgeCount. &#x60;Increase&#x60; adds the number specified in ios_badgeCount to the total. Use a negative number to decrease the badge count.  | [optional] 
+**IosBadgeCount** | Pointer to **int32** | Channel: Push Notifications Platform: iOS Used with ios_badgeType, describes the value to set or amount to increase/decrease your app&#39;s iOS badge count by. You can use a negative number to decrease the badge count when used with an ios_badgeType of Increase.  | [optional] 
+**CollapseId** | Pointer to **string** | Channel: Push Notifications Platform: iOS 10+, Android Only one notification with the same id will be shown on the device. Use the same id to update an existing notification instead of showing a new one. Limit of 64 characters.  | [optional] 
+**WebPushTopic** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Display multiple notifications at once with different topics.  | [optional] 
+**ApnsAlert** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: iOS 10+ iOS can localize push notification messages on the client using special parameters such as loc-key. When using the Create Notification endpoint, you must include these parameters inside of a field called apns_alert. Please see Apple&#39;s guide on localizing push notifications to learn more.  | [optional] 
+**SendAfter** | Pointer to **string** | Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date &amp; time. \&quot;Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\&quot; \&quot;September 24th 2015, 2:00:00 pm UTC-07:00\&quot; \&quot;2015-09-24 14:00:00 GMT-0700\&quot; \&quot;Sept 24 2015 14:00:00 GMT-0700\&quot; \&quot;Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\&quot; Note: SMS currently only supports send_after parameter.  | [optional] 
+**DelayedOption** | Pointer to **string** | Channel: All Possible values are: timezone (Deliver at a specific time-of-day in each users own timezone) last-active Same as Intelligent Delivery . (Deliver at the same time of day as each user last used your app). If send_after is used, this takes effect after the send_after time has elapsed.  | [optional] 
+**DeliveryTimeOfDay** | Pointer to **string** | Channel: All Use with delayed_option&#x3D;timezone. Examples: \&quot;9:00AM\&quot; \&quot;21:45\&quot; \&quot;9:45:30\&quot;  | [optional] 
+**Ttl** | Pointer to **int32** | Channel: Push Notifications Platform: iOS, Android, Chrome, Firefox, Safari, ChromeWeb Time To Live - In seconds. The notification will be expired if the device does not come back online within this time. The default is 259,200 seconds (3 days). Max value to set is 2419200 seconds (28 days).  | [optional] 
+**Priority** | Pointer to **int32** | Channel: Push Notifications Platform: Android, Chrome, ChromeWeb Delivery priority through the push server (example GCM/FCM). Pass 10 for high priority or any other integer for normal priority. Defaults to normal priority for Android and high for iOS. For Android 6.0+ devices setting priority to high will wake the device out of doze mode.  | [optional] 
+**ApnsPushTypeOverride** | Pointer to **string** | Channel: Push Notifications Platform: iOS valid values: voip Set the value to voip for sending VoIP Notifications This field maps to the APNS header apns-push-type. Note: alert and background are automatically set by OneSignal  | [optional] 
+**ThrottleRatePerMinute** | Pointer to **string** | Channel: All Apps with throttling enabled:   - the parameter value will be used to override the default application throttling value set from the dashboard settings.   - parameter value 0 indicates not to apply throttling to the notification.   - if the parameter is not passed then the default app throttling value will be applied to the notification. Apps with throttling disabled:   - this parameter can be used to throttle delivery for the notification even though throttling is not enabled at the application level. Refer to throttling for more details.  | [optional] 
+**AndroidGroup** | Pointer to **string** | Channel: Push Notifications Platform: Android Notifications with the same group will be stacked together using Android&#39;s Notification Grouping feature.  | [optional] 
+**AndroidGroupMessage** | Pointer to **string** | Channel: Push Notifications Platform: Android Note: This only works for Android 6 and older. Android 7+ allows full expansion of all message. Summary message to display when 2+ notifications are stacked together. Default is \&quot;# new messages\&quot;. Include $[notif_count] in your message and it will be replaced with the current number. Languages - The value of each key is the message that will be sent to users for that language. \&quot;en\&quot; (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. Read more: supported languages. Example: {\&quot;en\&quot;: \&quot;You have $[notif_count] new messages\&quot;}  | [optional] 
+**AdmGroup** | Pointer to **string** | Channel: Push Notifications Platform: Amazon Notifications with the same group will be stacked together using Android&#39;s Notification Grouping feature.  | [optional] 
+**AdmGroupMessage** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: Amazon Summary message to display when 2+ notifications are stacked together. Default is \&quot;# new messages\&quot;. Include $[notif_count] in your message and it will be replaced with the current number. \&quot;en\&quot; (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. The value of each key is the message that will be sent to users for that language. Example: {\&quot;en\&quot;: \&quot;You have $[notif_count] new messages\&quot;}  | [optional] 
+**ThreadId** | Pointer to **string** | Channel: Push Notifications Platform: iOS 12+ This parameter is supported in iOS 12 and above. It allows you to group related notifications together. If two notifications have the same thread-id, they will both be added to the same group.  | [optional] 
+**SummaryArg** | Pointer to **string** | Channel: Push Notifications Platform: iOS 12+ When using thread_id to create grouped notifications in iOS 12+, you can also control the summary. For example, a grouped notification can say \&quot;12 more notifications from John Doe\&quot;. The summary_arg lets you set the name of the person/thing the notifications are coming from, and will show up as \&quot;X more notifications from summary_arg\&quot;  | [optional] 
+**SummaryArgCount** | Pointer to **int32** | Channel: Push Notifications Platform: iOS 12+ When using thread_id, you can also control the count of the number of notifications in the group. For example, if the group already has 12 notifications, and you send a new notification with summary_arg_count &#x3D; 2, the new total will be 14 and the summary will be \&quot;14 more notifications from summary_arg\&quot;  | [optional] 
+**EmailSubect** | Pointer to **string** | Channel: Email Required.  The subject of the email.  | [optional] 
+**EmailBody** | Pointer to **string** | Channel: Email Required unless template_id is set. HTML suported The body of the email you wish to send. Typically, customers include their own HTML templates here. Must include [unsubscribe_url] in an &lt;a&gt; tag somewhere in the email. Note: any malformed HTML content will be sent to users. Please double-check your HTML is valid.  | [optional] 
+**EmailFromName** | Pointer to **string** | Channel: Email The name the email is from. If not specified, will default to \&quot;from name\&quot; set in the OneSignal Dashboard Email Settings.  | [optional] 
+**EmailFromAddress** | Pointer to **string** | Channel: Email The email address the email is from. If not specified, will default to \&quot;from email\&quot; set in the OneSignal Dashboard Email Settings.  | [optional] 
+**SmsFrom** | Pointer to **string** | Channel: SMS Phone Number used to send SMS. Should be a registered Twilio phone number in E.164 format.  | [optional] 
+**SmsMediaUrls** | Pointer to **[]string** | Channel: SMS URLs for the media files to be attached to the SMS content. Limit: 10 media urls with a total max. size of 5MBs.  | [optional] 
+
+## Methods
+
+### NewNotification
+
+`func NewNotification(appId string, ) *Notification`
+
+NewNotification instantiates a new Notification object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotificationWithDefaults
+
+`func NewNotificationWithDefaults() *Notification`
+
+NewNotificationWithDefaults instantiates a new Notification object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetIncludedSegments
+
+`func (o *Notification) GetIncludedSegments() []string`
+
+GetIncludedSegments returns the IncludedSegments field if non-nil, zero value otherwise.
+
+### GetIncludedSegmentsOk
+
+`func (o *Notification) GetIncludedSegmentsOk() (*[]string, bool)`
+
+GetIncludedSegmentsOk returns a tuple with the IncludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludedSegments
+
+`func (o *Notification) SetIncludedSegments(v []string)`
+
+SetIncludedSegments sets IncludedSegments field to given value.
+
+### HasIncludedSegments
+
+`func (o *Notification) HasIncludedSegments() bool`
+
+HasIncludedSegments returns a boolean if a field has been set.
+
+### GetExcludedSegments
+
+`func (o *Notification) GetExcludedSegments() []string`
+
+GetExcludedSegments returns the ExcludedSegments field if non-nil, zero value otherwise.
+
+### GetExcludedSegmentsOk
+
+`func (o *Notification) GetExcludedSegmentsOk() (*[]string, bool)`
+
+GetExcludedSegmentsOk returns a tuple with the ExcludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExcludedSegments
+
+`func (o *Notification) SetExcludedSegments(v []string)`
+
+SetExcludedSegments sets ExcludedSegments field to given value.
+
+### HasExcludedSegments
+
+`func (o *Notification) HasExcludedSegments() bool`
+
+HasExcludedSegments returns a boolean if a field has been set.
+
+### GetLastSession
+
+`func (o *Notification) GetLastSession() string`
+
+GetLastSession returns the LastSession field if non-nil, zero value otherwise.
+
+### GetLastSessionOk
+
+`func (o *Notification) GetLastSessionOk() (*string, bool)`
+
+GetLastSessionOk returns a tuple with the LastSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastSession
+
+`func (o *Notification) SetLastSession(v string)`
+
+SetLastSession sets LastSession field to given value.
+
+### HasLastSession
+
+`func (o *Notification) HasLastSession() bool`
+
+HasLastSession returns a boolean if a field has been set.
+
+### GetFirstSession
+
+`func (o *Notification) GetFirstSession() string`
+
+GetFirstSession returns the FirstSession field if non-nil, zero value otherwise.
+
+### GetFirstSessionOk
+
+`func (o *Notification) GetFirstSessionOk() (*string, bool)`
+
+GetFirstSessionOk returns a tuple with the FirstSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirstSession
+
+`func (o *Notification) SetFirstSession(v string)`
+
+SetFirstSession sets FirstSession field to given value.
+
+### HasFirstSession
+
+`func (o *Notification) HasFirstSession() bool`
+
+HasFirstSession returns a boolean if a field has been set.
+
+### GetSessionCount
+
+`func (o *Notification) GetSessionCount() string`
+
+GetSessionCount returns the SessionCount field if non-nil, zero value otherwise.
+
+### GetSessionCountOk
+
+`func (o *Notification) GetSessionCountOk() (*string, bool)`
+
+GetSessionCountOk returns a tuple with the SessionCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionCount
+
+`func (o *Notification) SetSessionCount(v string)`
+
+SetSessionCount sets SessionCount field to given value.
+
+### HasSessionCount
+
+`func (o *Notification) HasSessionCount() bool`
+
+HasSessionCount returns a boolean if a field has been set.
+
+### GetSessionTime
+
+`func (o *Notification) GetSessionTime() string`
+
+GetSessionTime returns the SessionTime field if non-nil, zero value otherwise.
+
+### GetSessionTimeOk
+
+`func (o *Notification) GetSessionTimeOk() (*string, bool)`
+
+GetSessionTimeOk returns a tuple with the SessionTime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionTime
+
+`func (o *Notification) SetSessionTime(v string)`
+
+SetSessionTime sets SessionTime field to given value.
+
+### HasSessionTime
+
+`func (o *Notification) HasSessionTime() bool`
+
+HasSessionTime returns a boolean if a field has been set.
+
+### GetAmountSpent
+
+`func (o *Notification) GetAmountSpent() string`
+
+GetAmountSpent returns the AmountSpent field if non-nil, zero value otherwise.
+
+### GetAmountSpentOk
+
+`func (o *Notification) GetAmountSpentOk() (*string, bool)`
+
+GetAmountSpentOk returns a tuple with the AmountSpent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAmountSpent
+
+`func (o *Notification) SetAmountSpent(v string)`
+
+SetAmountSpent sets AmountSpent field to given value.
+
+### HasAmountSpent
+
+`func (o *Notification) HasAmountSpent() bool`
+
+HasAmountSpent returns a boolean if a field has been set.
+
+### GetBoughtSku
+
+`func (o *Notification) GetBoughtSku() string`
+
+GetBoughtSku returns the BoughtSku field if non-nil, zero value otherwise.
+
+### GetBoughtSkuOk
+
+`func (o *Notification) GetBoughtSkuOk() (*string, bool)`
+
+GetBoughtSkuOk returns a tuple with the BoughtSku field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBoughtSku
+
+`func (o *Notification) SetBoughtSku(v string)`
+
+SetBoughtSku sets BoughtSku field to given value.
+
+### HasBoughtSku
+
+`func (o *Notification) HasBoughtSku() bool`
+
+HasBoughtSku returns a boolean if a field has been set.
+
+### GetTag
+
+`func (o *Notification) GetTag() string`
+
+GetTag returns the Tag field if non-nil, zero value otherwise.
+
+### GetTagOk
+
+`func (o *Notification) GetTagOk() (*string, bool)`
+
+GetTagOk returns a tuple with the Tag field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTag
+
+`func (o *Notification) SetTag(v string)`
+
+SetTag sets Tag field to given value.
+
+### HasTag
+
+`func (o *Notification) HasTag() bool`
+
+HasTag returns a boolean if a field has been set.
+
+### GetLanguage
+
+`func (o *Notification) GetLanguage() string`
+
+GetLanguage returns the Language field if non-nil, zero value otherwise.
+
+### GetLanguageOk
+
+`func (o *Notification) GetLanguageOk() (*string, bool)`
+
+GetLanguageOk returns a tuple with the Language field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLanguage
+
+`func (o *Notification) SetLanguage(v string)`
+
+SetLanguage sets Language field to given value.
+
+### HasLanguage
+
+`func (o *Notification) HasLanguage() bool`
+
+HasLanguage returns a boolean if a field has been set.
+
+### GetAppVersion
+
+`func (o *Notification) GetAppVersion() string`
+
+GetAppVersion returns the AppVersion field if non-nil, zero value otherwise.
+
+### GetAppVersionOk
+
+`func (o *Notification) GetAppVersionOk() (*string, bool)`
+
+GetAppVersionOk returns a tuple with the AppVersion field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppVersion
+
+`func (o *Notification) SetAppVersion(v string)`
+
+SetAppVersion sets AppVersion field to given value.
+
+### HasAppVersion
+
+`func (o *Notification) HasAppVersion() bool`
+
+HasAppVersion returns a boolean if a field has been set.
+
+### GetLocation
+
+`func (o *Notification) GetLocation() string`
+
+GetLocation returns the Location field if non-nil, zero value otherwise.
+
+### GetLocationOk
+
+`func (o *Notification) GetLocationOk() (*string, bool)`
+
+GetLocationOk returns a tuple with the Location field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLocation
+
+`func (o *Notification) SetLocation(v string)`
+
+SetLocation sets Location field to given value.
+
+### HasLocation
+
+`func (o *Notification) HasLocation() bool`
+
+HasLocation returns a boolean if a field has been set.
+
+### GetEmail
+
+`func (o *Notification) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *Notification) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *Notification) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *Notification) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetCountry
+
+`func (o *Notification) GetCountry() string`
+
+GetCountry returns the Country field if non-nil, zero value otherwise.
+
+### GetCountryOk
+
+`func (o *Notification) GetCountryOk() (*string, bool)`
+
+GetCountryOk returns a tuple with the Country field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCountry
+
+`func (o *Notification) SetCountry(v string)`
+
+SetCountry sets Country field to given value.
+
+### HasCountry
+
+`func (o *Notification) HasCountry() bool`
+
+HasCountry returns a boolean if a field has been set.
+
+### GetIncludePlayerIds
+
+`func (o *Notification) GetIncludePlayerIds() []string`
+
+GetIncludePlayerIds returns the IncludePlayerIds field if non-nil, zero value otherwise.
+
+### GetIncludePlayerIdsOk
+
+`func (o *Notification) GetIncludePlayerIdsOk() (*[]string, bool)`
+
+GetIncludePlayerIdsOk returns a tuple with the IncludePlayerIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePlayerIds
+
+`func (o *Notification) SetIncludePlayerIds(v []string)`
+
+SetIncludePlayerIds sets IncludePlayerIds field to given value.
+
+### HasIncludePlayerIds
+
+`func (o *Notification) HasIncludePlayerIds() bool`
+
+HasIncludePlayerIds returns a boolean if a field has been set.
+
+### GetIncludeExternalUserIds
+
+`func (o *Notification) GetIncludeExternalUserIds() []string`
+
+GetIncludeExternalUserIds returns the IncludeExternalUserIds field if non-nil, zero value otherwise.
+
+### GetIncludeExternalUserIdsOk
+
+`func (o *Notification) GetIncludeExternalUserIdsOk() (*[]string, bool)`
+
+GetIncludeExternalUserIdsOk returns a tuple with the IncludeExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeExternalUserIds
+
+`func (o *Notification) SetIncludeExternalUserIds(v []string)`
+
+SetIncludeExternalUserIds sets IncludeExternalUserIds field to given value.
+
+### HasIncludeExternalUserIds
+
+`func (o *Notification) HasIncludeExternalUserIds() bool`
+
+HasIncludeExternalUserIds returns a boolean if a field has been set.
+
+### GetIncludeEmailTokens
+
+`func (o *Notification) GetIncludeEmailTokens() []string`
+
+GetIncludeEmailTokens returns the IncludeEmailTokens field if non-nil, zero value otherwise.
+
+### GetIncludeEmailTokensOk
+
+`func (o *Notification) GetIncludeEmailTokensOk() (*[]string, bool)`
+
+GetIncludeEmailTokensOk returns a tuple with the IncludeEmailTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeEmailTokens
+
+`func (o *Notification) SetIncludeEmailTokens(v []string)`
+
+SetIncludeEmailTokens sets IncludeEmailTokens field to given value.
+
+### HasIncludeEmailTokens
+
+`func (o *Notification) HasIncludeEmailTokens() bool`
+
+HasIncludeEmailTokens returns a boolean if a field has been set.
+
+### GetIncludePhoneNumbers
+
+`func (o *Notification) GetIncludePhoneNumbers() []string`
+
+GetIncludePhoneNumbers returns the IncludePhoneNumbers field if non-nil, zero value otherwise.
+
+### GetIncludePhoneNumbersOk
+
+`func (o *Notification) GetIncludePhoneNumbersOk() (*[]string, bool)`
+
+GetIncludePhoneNumbersOk returns a tuple with the IncludePhoneNumbers field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePhoneNumbers
+
+`func (o *Notification) SetIncludePhoneNumbers(v []string)`
+
+SetIncludePhoneNumbers sets IncludePhoneNumbers field to given value.
+
+### HasIncludePhoneNumbers
+
+`func (o *Notification) HasIncludePhoneNumbers() bool`
+
+HasIncludePhoneNumbers returns a boolean if a field has been set.
+
+### GetIncludeIosTokens
+
+`func (o *Notification) GetIncludeIosTokens() []string`
+
+GetIncludeIosTokens returns the IncludeIosTokens field if non-nil, zero value otherwise.
+
+### GetIncludeIosTokensOk
+
+`func (o *Notification) GetIncludeIosTokensOk() (*[]string, bool)`
+
+GetIncludeIosTokensOk returns a tuple with the IncludeIosTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeIosTokens
+
+`func (o *Notification) SetIncludeIosTokens(v []string)`
+
+SetIncludeIosTokens sets IncludeIosTokens field to given value.
+
+### HasIncludeIosTokens
+
+`func (o *Notification) HasIncludeIosTokens() bool`
+
+HasIncludeIosTokens returns a boolean if a field has been set.
+
+### GetIncludeWpWnsUris
+
+`func (o *Notification) GetIncludeWpWnsUris() []string`
+
+GetIncludeWpWnsUris returns the IncludeWpWnsUris field if non-nil, zero value otherwise.
+
+### GetIncludeWpWnsUrisOk
+
+`func (o *Notification) GetIncludeWpWnsUrisOk() (*[]string, bool)`
+
+GetIncludeWpWnsUrisOk returns a tuple with the IncludeWpWnsUris field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeWpWnsUris
+
+`func (o *Notification) SetIncludeWpWnsUris(v []string)`
+
+SetIncludeWpWnsUris sets IncludeWpWnsUris field to given value.
+
+### HasIncludeWpWnsUris
+
+`func (o *Notification) HasIncludeWpWnsUris() bool`
+
+HasIncludeWpWnsUris returns a boolean if a field has been set.
+
+### GetIncludeAmazonRegIds
+
+`func (o *Notification) GetIncludeAmazonRegIds() []string`
+
+GetIncludeAmazonRegIds returns the IncludeAmazonRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAmazonRegIdsOk
+
+`func (o *Notification) GetIncludeAmazonRegIdsOk() (*[]string, bool)`
+
+GetIncludeAmazonRegIdsOk returns a tuple with the IncludeAmazonRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAmazonRegIds
+
+`func (o *Notification) SetIncludeAmazonRegIds(v []string)`
+
+SetIncludeAmazonRegIds sets IncludeAmazonRegIds field to given value.
+
+### HasIncludeAmazonRegIds
+
+`func (o *Notification) HasIncludeAmazonRegIds() bool`
+
+HasIncludeAmazonRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeRegIds
+
+`func (o *Notification) GetIncludeChromeRegIds() []string`
+
+GetIncludeChromeRegIds returns the IncludeChromeRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeRegIdsOk
+
+`func (o *Notification) GetIncludeChromeRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeRegIdsOk returns a tuple with the IncludeChromeRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeRegIds
+
+`func (o *Notification) SetIncludeChromeRegIds(v []string)`
+
+SetIncludeChromeRegIds sets IncludeChromeRegIds field to given value.
+
+### HasIncludeChromeRegIds
+
+`func (o *Notification) HasIncludeChromeRegIds() bool`
+
+HasIncludeChromeRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeWebRegIds
+
+`func (o *Notification) GetIncludeChromeWebRegIds() []string`
+
+GetIncludeChromeWebRegIds returns the IncludeChromeWebRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeWebRegIdsOk
+
+`func (o *Notification) GetIncludeChromeWebRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeWebRegIdsOk returns a tuple with the IncludeChromeWebRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeWebRegIds
+
+`func (o *Notification) SetIncludeChromeWebRegIds(v []string)`
+
+SetIncludeChromeWebRegIds sets IncludeChromeWebRegIds field to given value.
+
+### HasIncludeChromeWebRegIds
+
+`func (o *Notification) HasIncludeChromeWebRegIds() bool`
+
+HasIncludeChromeWebRegIds returns a boolean if a field has been set.
+
+### GetIncludeAndroidRegIds
+
+`func (o *Notification) GetIncludeAndroidRegIds() []string`
+
+GetIncludeAndroidRegIds returns the IncludeAndroidRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAndroidRegIdsOk
+
+`func (o *Notification) GetIncludeAndroidRegIdsOk() (*[]string, bool)`
+
+GetIncludeAndroidRegIdsOk returns a tuple with the IncludeAndroidRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAndroidRegIds
+
+`func (o *Notification) SetIncludeAndroidRegIds(v []string)`
+
+SetIncludeAndroidRegIds sets IncludeAndroidRegIds field to given value.
+
+### HasIncludeAndroidRegIds
+
+`func (o *Notification) HasIncludeAndroidRegIds() bool`
+
+HasIncludeAndroidRegIds returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *Notification) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Notification) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Notification) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *Notification) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *Notification) GetValue() int32`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *Notification) GetValueOk() (*int32, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *Notification) SetValue(v int32)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *Notification) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+### GetAggregation
+
+`func (o *Notification) GetAggregation() string`
+
+GetAggregation returns the Aggregation field if non-nil, zero value otherwise.
+
+### GetAggregationOk
+
+`func (o *Notification) GetAggregationOk() (*string, bool)`
+
+GetAggregationOk returns a tuple with the Aggregation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAggregation
+
+`func (o *Notification) SetAggregation(v string)`
+
+SetAggregation sets Aggregation field to given value.
+
+### HasAggregation
+
+`func (o *Notification) HasAggregation() bool`
+
+HasAggregation returns a boolean if a field has been set.
+
+### GetIsIos
+
+`func (o *Notification) GetIsIos() bool`
+
+GetIsIos returns the IsIos field if non-nil, zero value otherwise.
+
+### GetIsIosOk
+
+`func (o *Notification) GetIsIosOk() (*bool, bool)`
+
+GetIsIosOk returns a tuple with the IsIos field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsIos
+
+`func (o *Notification) SetIsIos(v bool)`
+
+SetIsIos sets IsIos field to given value.
+
+### HasIsIos
+
+`func (o *Notification) HasIsIos() bool`
+
+HasIsIos returns a boolean if a field has been set.
+
+### GetIsAndroid
+
+`func (o *Notification) GetIsAndroid() bool`
+
+GetIsAndroid returns the IsAndroid field if non-nil, zero value otherwise.
+
+### GetIsAndroidOk
+
+`func (o *Notification) GetIsAndroidOk() (*bool, bool)`
+
+GetIsAndroidOk returns a tuple with the IsAndroid field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAndroid
+
+`func (o *Notification) SetIsAndroid(v bool)`
+
+SetIsAndroid sets IsAndroid field to given value.
+
+### HasIsAndroid
+
+`func (o *Notification) HasIsAndroid() bool`
+
+HasIsAndroid returns a boolean if a field has been set.
+
+### GetIsHuawei
+
+`func (o *Notification) GetIsHuawei() bool`
+
+GetIsHuawei returns the IsHuawei field if non-nil, zero value otherwise.
+
+### GetIsHuaweiOk
+
+`func (o *Notification) GetIsHuaweiOk() (*bool, bool)`
+
+GetIsHuaweiOk returns a tuple with the IsHuawei field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsHuawei
+
+`func (o *Notification) SetIsHuawei(v bool)`
+
+SetIsHuawei sets IsHuawei field to given value.
+
+### HasIsHuawei
+
+`func (o *Notification) HasIsHuawei() bool`
+
+HasIsHuawei returns a boolean if a field has been set.
+
+### GetIsAnyWeb
+
+`func (o *Notification) GetIsAnyWeb() bool`
+
+GetIsAnyWeb returns the IsAnyWeb field if non-nil, zero value otherwise.
+
+### GetIsAnyWebOk
+
+`func (o *Notification) GetIsAnyWebOk() (*bool, bool)`
+
+GetIsAnyWebOk returns a tuple with the IsAnyWeb field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAnyWeb
+
+`func (o *Notification) SetIsAnyWeb(v bool)`
+
+SetIsAnyWeb sets IsAnyWeb field to given value.
+
+### HasIsAnyWeb
+
+`func (o *Notification) HasIsAnyWeb() bool`
+
+HasIsAnyWeb returns a boolean if a field has been set.
+
+### GetIsChromeWeb
+
+`func (o *Notification) GetIsChromeWeb() bool`
+
+GetIsChromeWeb returns the IsChromeWeb field if non-nil, zero value otherwise.
+
+### GetIsChromeWebOk
+
+`func (o *Notification) GetIsChromeWebOk() (*bool, bool)`
+
+GetIsChromeWebOk returns a tuple with the IsChromeWeb field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsChromeWeb
+
+`func (o *Notification) SetIsChromeWeb(v bool)`
+
+SetIsChromeWeb sets IsChromeWeb field to given value.
+
+### HasIsChromeWeb
+
+`func (o *Notification) HasIsChromeWeb() bool`
+
+HasIsChromeWeb returns a boolean if a field has been set.
+
+### GetIsFirefox
+
+`func (o *Notification) GetIsFirefox() bool`
+
+GetIsFirefox returns the IsFirefox field if non-nil, zero value otherwise.
+
+### GetIsFirefoxOk
+
+`func (o *Notification) GetIsFirefoxOk() (*bool, bool)`
+
+GetIsFirefoxOk returns a tuple with the IsFirefox field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsFirefox
+
+`func (o *Notification) SetIsFirefox(v bool)`
+
+SetIsFirefox sets IsFirefox field to given value.
+
+### HasIsFirefox
+
+`func (o *Notification) HasIsFirefox() bool`
+
+HasIsFirefox returns a boolean if a field has been set.
+
+### GetIsSafari
+
+`func (o *Notification) GetIsSafari() bool`
+
+GetIsSafari returns the IsSafari field if non-nil, zero value otherwise.
+
+### GetIsSafariOk
+
+`func (o *Notification) GetIsSafariOk() (*bool, bool)`
+
+GetIsSafariOk returns a tuple with the IsSafari field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsSafari
+
+`func (o *Notification) SetIsSafari(v bool)`
+
+SetIsSafari sets IsSafari field to given value.
+
+### HasIsSafari
+
+`func (o *Notification) HasIsSafari() bool`
+
+HasIsSafari returns a boolean if a field has been set.
+
+### GetIsWPWNS
+
+`func (o *Notification) GetIsWPWNS() bool`
+
+GetIsWPWNS returns the IsWPWNS field if non-nil, zero value otherwise.
+
+### GetIsWPWNSOk
+
+`func (o *Notification) GetIsWPWNSOk() (*bool, bool)`
+
+GetIsWPWNSOk returns a tuple with the IsWPWNS field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsWPWNS
+
+`func (o *Notification) SetIsWPWNS(v bool)`
+
+SetIsWPWNS sets IsWPWNS field to given value.
+
+### HasIsWPWNS
+
+`func (o *Notification) HasIsWPWNS() bool`
+
+HasIsWPWNS returns a boolean if a field has been set.
+
+### GetIsAdm
+
+`func (o *Notification) GetIsAdm() bool`
+
+GetIsAdm returns the IsAdm field if non-nil, zero value otherwise.
+
+### GetIsAdmOk
+
+`func (o *Notification) GetIsAdmOk() (*bool, bool)`
+
+GetIsAdmOk returns a tuple with the IsAdm field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAdm
+
+`func (o *Notification) SetIsAdm(v bool)`
+
+SetIsAdm sets IsAdm field to given value.
+
+### HasIsAdm
+
+`func (o *Notification) HasIsAdm() bool`
+
+HasIsAdm returns a boolean if a field has been set.
+
+### GetIsChrome
+
+`func (o *Notification) GetIsChrome() bool`
+
+GetIsChrome returns the IsChrome field if non-nil, zero value otherwise.
+
+### GetIsChromeOk
+
+`func (o *Notification) GetIsChromeOk() (*bool, bool)`
+
+GetIsChromeOk returns a tuple with the IsChrome field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsChrome
+
+`func (o *Notification) SetIsChrome(v bool)`
+
+SetIsChrome sets IsChrome field to given value.
+
+### HasIsChrome
+
+`func (o *Notification) HasIsChrome() bool`
+
+HasIsChrome returns a boolean if a field has been set.
+
+### GetChannelForExternalUserIds
+
+`func (o *Notification) GetChannelForExternalUserIds() string`
+
+GetChannelForExternalUserIds returns the ChannelForExternalUserIds field if non-nil, zero value otherwise.
+
+### GetChannelForExternalUserIdsOk
+
+`func (o *Notification) GetChannelForExternalUserIdsOk() (*string, bool)`
+
+GetChannelForExternalUserIdsOk returns a tuple with the ChannelForExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChannelForExternalUserIds
+
+`func (o *Notification) SetChannelForExternalUserIds(v string)`
+
+SetChannelForExternalUserIds sets ChannelForExternalUserIds field to given value.
+
+### HasChannelForExternalUserIds
+
+`func (o *Notification) HasChannelForExternalUserIds() bool`
+
+HasChannelForExternalUserIds returns a boolean if a field has been set.
+
+### GetAppId
+
+`func (o *Notification) GetAppId() string`
+
+GetAppId returns the AppId field if non-nil, zero value otherwise.
+
+### GetAppIdOk
+
+`func (o *Notification) GetAppIdOk() (*string, bool)`
+
+GetAppIdOk returns a tuple with the AppId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppId
+
+`func (o *Notification) SetAppId(v string)`
+
+SetAppId sets AppId field to given value.
+
+
+### GetExternalId
+
+`func (o *Notification) GetExternalId() string`
+
+GetExternalId returns the ExternalId field if non-nil, zero value otherwise.
+
+### GetExternalIdOk
+
+`func (o *Notification) GetExternalIdOk() (*string, bool)`
+
+GetExternalIdOk returns a tuple with the ExternalId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExternalId
+
+`func (o *Notification) SetExternalId(v string)`
+
+SetExternalId sets ExternalId field to given value.
+
+### HasExternalId
+
+`func (o *Notification) HasExternalId() bool`
+
+HasExternalId returns a boolean if a field has been set.
+
+### GetContents
+
+`func (o *Notification) GetContents() StringMap`
+
+GetContents returns the Contents field if non-nil, zero value otherwise.
+
+### GetContentsOk
+
+`func (o *Notification) GetContentsOk() (*StringMap, bool)`
+
+GetContentsOk returns a tuple with the Contents field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetContents
+
+`func (o *Notification) SetContents(v StringMap)`
+
+SetContents sets Contents field to given value.
+
+### HasContents
+
+`func (o *Notification) HasContents() bool`
+
+HasContents returns a boolean if a field has been set.
+
+### SetContentsNil
+
+`func (o *Notification) SetContentsNil(b bool)`
+
+ SetContentsNil sets the value for Contents to be an explicit nil
+
+### UnsetContents
+`func (o *Notification) UnsetContents()`
+
+UnsetContents ensures that no value is present for Contents, not even an explicit nil
+### GetHeadings
+
+`func (o *Notification) GetHeadings() StringMap`
+
+GetHeadings returns the Headings field if non-nil, zero value otherwise.
+
+### GetHeadingsOk
+
+`func (o *Notification) GetHeadingsOk() (*StringMap, bool)`
+
+GetHeadingsOk returns a tuple with the Headings field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHeadings
+
+`func (o *Notification) SetHeadings(v StringMap)`
+
+SetHeadings sets Headings field to given value.
+
+### HasHeadings
+
+`func (o *Notification) HasHeadings() bool`
+
+HasHeadings returns a boolean if a field has been set.
+
+### SetHeadingsNil
+
+`func (o *Notification) SetHeadingsNil(b bool)`
+
+ SetHeadingsNil sets the value for Headings to be an explicit nil
+
+### UnsetHeadings
+`func (o *Notification) UnsetHeadings()`
+
+UnsetHeadings ensures that no value is present for Headings, not even an explicit nil
+### GetSubtitle
+
+`func (o *Notification) GetSubtitle() StringMap`
+
+GetSubtitle returns the Subtitle field if non-nil, zero value otherwise.
+
+### GetSubtitleOk
+
+`func (o *Notification) GetSubtitleOk() (*StringMap, bool)`
+
+GetSubtitleOk returns a tuple with the Subtitle field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSubtitle
+
+`func (o *Notification) SetSubtitle(v StringMap)`
+
+SetSubtitle sets Subtitle field to given value.
+
+### HasSubtitle
+
+`func (o *Notification) HasSubtitle() bool`
+
+HasSubtitle returns a boolean if a field has been set.
+
+### SetSubtitleNil
+
+`func (o *Notification) SetSubtitleNil(b bool)`
+
+ SetSubtitleNil sets the value for Subtitle to be an explicit nil
+
+### UnsetSubtitle
+`func (o *Notification) UnsetSubtitle()`
+
+UnsetSubtitle ensures that no value is present for Subtitle, not even an explicit nil
+### GetData
+
+`func (o *Notification) GetData() map[string]interface{}`
+
+GetData returns the Data field if non-nil, zero value otherwise.
+
+### GetDataOk
+
+`func (o *Notification) GetDataOk() (*map[string]interface{}, bool)`
+
+GetDataOk returns a tuple with the Data field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetData
+
+`func (o *Notification) SetData(v map[string]interface{})`
+
+SetData sets Data field to given value.
+
+### HasData
+
+`func (o *Notification) HasData() bool`
+
+HasData returns a boolean if a field has been set.
+
+### GetHuaweiMsgType
+
+`func (o *Notification) GetHuaweiMsgType() string`
+
+GetHuaweiMsgType returns the HuaweiMsgType field if non-nil, zero value otherwise.
+
+### GetHuaweiMsgTypeOk
+
+`func (o *Notification) GetHuaweiMsgTypeOk() (*string, bool)`
+
+GetHuaweiMsgTypeOk returns a tuple with the HuaweiMsgType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiMsgType
+
+`func (o *Notification) SetHuaweiMsgType(v string)`
+
+SetHuaweiMsgType sets HuaweiMsgType field to given value.
+
+### HasHuaweiMsgType
+
+`func (o *Notification) HasHuaweiMsgType() bool`
+
+HasHuaweiMsgType returns a boolean if a field has been set.
+
+### GetUrl
+
+`func (o *Notification) GetUrl() string`
+
+GetUrl returns the Url field if non-nil, zero value otherwise.
+
+### GetUrlOk
+
+`func (o *Notification) GetUrlOk() (*string, bool)`
+
+GetUrlOk returns a tuple with the Url field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUrl
+
+`func (o *Notification) SetUrl(v string)`
+
+SetUrl sets Url field to given value.
+
+### HasUrl
+
+`func (o *Notification) HasUrl() bool`
+
+HasUrl returns a boolean if a field has been set.
+
+### GetWebUrl
+
+`func (o *Notification) GetWebUrl() string`
+
+GetWebUrl returns the WebUrl field if non-nil, zero value otherwise.
+
+### GetWebUrlOk
+
+`func (o *Notification) GetWebUrlOk() (*string, bool)`
+
+GetWebUrlOk returns a tuple with the WebUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebUrl
+
+`func (o *Notification) SetWebUrl(v string)`
+
+SetWebUrl sets WebUrl field to given value.
+
+### HasWebUrl
+
+`func (o *Notification) HasWebUrl() bool`
+
+HasWebUrl returns a boolean if a field has been set.
+
+### GetAppUrl
+
+`func (o *Notification) GetAppUrl() string`
+
+GetAppUrl returns the AppUrl field if non-nil, zero value otherwise.
+
+### GetAppUrlOk
+
+`func (o *Notification) GetAppUrlOk() (*string, bool)`
+
+GetAppUrlOk returns a tuple with the AppUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppUrl
+
+`func (o *Notification) SetAppUrl(v string)`
+
+SetAppUrl sets AppUrl field to given value.
+
+### HasAppUrl
+
+`func (o *Notification) HasAppUrl() bool`
+
+HasAppUrl returns a boolean if a field has been set.
+
+### GetIosAttachments
+
+`func (o *Notification) GetIosAttachments() map[string]interface{}`
+
+GetIosAttachments returns the IosAttachments field if non-nil, zero value otherwise.
+
+### GetIosAttachmentsOk
+
+`func (o *Notification) GetIosAttachmentsOk() (*map[string]interface{}, bool)`
+
+GetIosAttachmentsOk returns a tuple with the IosAttachments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosAttachments
+
+`func (o *Notification) SetIosAttachments(v map[string]interface{})`
+
+SetIosAttachments sets IosAttachments field to given value.
+
+### HasIosAttachments
+
+`func (o *Notification) HasIosAttachments() bool`
+
+HasIosAttachments returns a boolean if a field has been set.
+
+### GetTemplateId
+
+`func (o *Notification) GetTemplateId() string`
+
+GetTemplateId returns the TemplateId field if non-nil, zero value otherwise.
+
+### GetTemplateIdOk
+
+`func (o *Notification) GetTemplateIdOk() (*string, bool)`
+
+GetTemplateIdOk returns a tuple with the TemplateId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTemplateId
+
+`func (o *Notification) SetTemplateId(v string)`
+
+SetTemplateId sets TemplateId field to given value.
+
+### HasTemplateId
+
+`func (o *Notification) HasTemplateId() bool`
+
+HasTemplateId returns a boolean if a field has been set.
+
+### GetContentAvailable
+
+`func (o *Notification) GetContentAvailable() bool`
+
+GetContentAvailable returns the ContentAvailable field if non-nil, zero value otherwise.
+
+### GetContentAvailableOk
+
+`func (o *Notification) GetContentAvailableOk() (*bool, bool)`
+
+GetContentAvailableOk returns a tuple with the ContentAvailable field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetContentAvailable
+
+`func (o *Notification) SetContentAvailable(v bool)`
+
+SetContentAvailable sets ContentAvailable field to given value.
+
+### HasContentAvailable
+
+`func (o *Notification) HasContentAvailable() bool`
+
+HasContentAvailable returns a boolean if a field has been set.
+
+### GetMutableContent
+
+`func (o *Notification) GetMutableContent() bool`
+
+GetMutableContent returns the MutableContent field if non-nil, zero value otherwise.
+
+### GetMutableContentOk
+
+`func (o *Notification) GetMutableContentOk() (*bool, bool)`
+
+GetMutableContentOk returns a tuple with the MutableContent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMutableContent
+
+`func (o *Notification) SetMutableContent(v bool)`
+
+SetMutableContent sets MutableContent field to given value.
+
+### HasMutableContent
+
+`func (o *Notification) HasMutableContent() bool`
+
+HasMutableContent returns a boolean if a field has been set.
+
+### GetTargetContentIdentifier
+
+`func (o *Notification) GetTargetContentIdentifier() string`
+
+GetTargetContentIdentifier returns the TargetContentIdentifier field if non-nil, zero value otherwise.
+
+### GetTargetContentIdentifierOk
+
+`func (o *Notification) GetTargetContentIdentifierOk() (*string, bool)`
+
+GetTargetContentIdentifierOk returns a tuple with the TargetContentIdentifier field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTargetContentIdentifier
+
+`func (o *Notification) SetTargetContentIdentifier(v string)`
+
+SetTargetContentIdentifier sets TargetContentIdentifier field to given value.
+
+### HasTargetContentIdentifier
+
+`func (o *Notification) HasTargetContentIdentifier() bool`
+
+HasTargetContentIdentifier returns a boolean if a field has been set.
+
+### GetBigPicture
+
+`func (o *Notification) GetBigPicture() string`
+
+GetBigPicture returns the BigPicture field if non-nil, zero value otherwise.
+
+### GetBigPictureOk
+
+`func (o *Notification) GetBigPictureOk() (*string, bool)`
+
+GetBigPictureOk returns a tuple with the BigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBigPicture
+
+`func (o *Notification) SetBigPicture(v string)`
+
+SetBigPicture sets BigPicture field to given value.
+
+### HasBigPicture
+
+`func (o *Notification) HasBigPicture() bool`
+
+HasBigPicture returns a boolean if a field has been set.
+
+### GetHuaweiBigPicture
+
+`func (o *Notification) GetHuaweiBigPicture() string`
+
+GetHuaweiBigPicture returns the HuaweiBigPicture field if non-nil, zero value otherwise.
+
+### GetHuaweiBigPictureOk
+
+`func (o *Notification) GetHuaweiBigPictureOk() (*string, bool)`
+
+GetHuaweiBigPictureOk returns a tuple with the HuaweiBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiBigPicture
+
+`func (o *Notification) SetHuaweiBigPicture(v string)`
+
+SetHuaweiBigPicture sets HuaweiBigPicture field to given value.
+
+### HasHuaweiBigPicture
+
+`func (o *Notification) HasHuaweiBigPicture() bool`
+
+HasHuaweiBigPicture returns a boolean if a field has been set.
+
+### GetAdmBigPicture
+
+`func (o *Notification) GetAdmBigPicture() string`
+
+GetAdmBigPicture returns the AdmBigPicture field if non-nil, zero value otherwise.
+
+### GetAdmBigPictureOk
+
+`func (o *Notification) GetAdmBigPictureOk() (*string, bool)`
+
+GetAdmBigPictureOk returns a tuple with the AdmBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmBigPicture
+
+`func (o *Notification) SetAdmBigPicture(v string)`
+
+SetAdmBigPicture sets AdmBigPicture field to given value.
+
+### HasAdmBigPicture
+
+`func (o *Notification) HasAdmBigPicture() bool`
+
+HasAdmBigPicture returns a boolean if a field has been set.
+
+### GetChromeBigPicture
+
+`func (o *Notification) GetChromeBigPicture() string`
+
+GetChromeBigPicture returns the ChromeBigPicture field if non-nil, zero value otherwise.
+
+### GetChromeBigPictureOk
+
+`func (o *Notification) GetChromeBigPictureOk() (*string, bool)`
+
+GetChromeBigPictureOk returns a tuple with the ChromeBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeBigPicture
+
+`func (o *Notification) SetChromeBigPicture(v string)`
+
+SetChromeBigPicture sets ChromeBigPicture field to given value.
+
+### HasChromeBigPicture
+
+`func (o *Notification) HasChromeBigPicture() bool`
+
+HasChromeBigPicture returns a boolean if a field has been set.
+
+### GetChromeWebImage
+
+`func (o *Notification) GetChromeWebImage() string`
+
+GetChromeWebImage returns the ChromeWebImage field if non-nil, zero value otherwise.
+
+### GetChromeWebImageOk
+
+`func (o *Notification) GetChromeWebImageOk() (*string, bool)`
+
+GetChromeWebImageOk returns a tuple with the ChromeWebImage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebImage
+
+`func (o *Notification) SetChromeWebImage(v string)`
+
+SetChromeWebImage sets ChromeWebImage field to given value.
+
+### HasChromeWebImage
+
+`func (o *Notification) HasChromeWebImage() bool`
+
+HasChromeWebImage returns a boolean if a field has been set.
+
+### GetButtons
+
+`func (o *Notification) GetButtons() []Button`
+
+GetButtons returns the Buttons field if non-nil, zero value otherwise.
+
+### GetButtonsOk
+
+`func (o *Notification) GetButtonsOk() (*[]Button, bool)`
+
+GetButtonsOk returns a tuple with the Buttons field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetButtons
+
+`func (o *Notification) SetButtons(v []Button)`
+
+SetButtons sets Buttons field to given value.
+
+### HasButtons
+
+`func (o *Notification) HasButtons() bool`
+
+HasButtons returns a boolean if a field has been set.
+
+### GetWebButtons
+
+`func (o *Notification) GetWebButtons() []Button`
+
+GetWebButtons returns the WebButtons field if non-nil, zero value otherwise.
+
+### GetWebButtonsOk
+
+`func (o *Notification) GetWebButtonsOk() (*[]Button, bool)`
+
+GetWebButtonsOk returns a tuple with the WebButtons field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebButtons
+
+`func (o *Notification) SetWebButtons(v []Button)`
+
+SetWebButtons sets WebButtons field to given value.
+
+### HasWebButtons
+
+`func (o *Notification) HasWebButtons() bool`
+
+HasWebButtons returns a boolean if a field has been set.
+
+### GetIosCategory
+
+`func (o *Notification) GetIosCategory() string`
+
+GetIosCategory returns the IosCategory field if non-nil, zero value otherwise.
+
+### GetIosCategoryOk
+
+`func (o *Notification) GetIosCategoryOk() (*string, bool)`
+
+GetIosCategoryOk returns a tuple with the IosCategory field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosCategory
+
+`func (o *Notification) SetIosCategory(v string)`
+
+SetIosCategory sets IosCategory field to given value.
+
+### HasIosCategory
+
+`func (o *Notification) HasIosCategory() bool`
+
+HasIosCategory returns a boolean if a field has been set.
+
+### GetAndroidChannelId
+
+`func (o *Notification) GetAndroidChannelId() string`
+
+GetAndroidChannelId returns the AndroidChannelId field if non-nil, zero value otherwise.
+
+### GetAndroidChannelIdOk
+
+`func (o *Notification) GetAndroidChannelIdOk() (*string, bool)`
+
+GetAndroidChannelIdOk returns a tuple with the AndroidChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidChannelId
+
+`func (o *Notification) SetAndroidChannelId(v string)`
+
+SetAndroidChannelId sets AndroidChannelId field to given value.
+
+### HasAndroidChannelId
+
+`func (o *Notification) HasAndroidChannelId() bool`
+
+HasAndroidChannelId returns a boolean if a field has been set.
+
+### GetHuaweiChannelId
+
+`func (o *Notification) GetHuaweiChannelId() string`
+
+GetHuaweiChannelId returns the HuaweiChannelId field if non-nil, zero value otherwise.
+
+### GetHuaweiChannelIdOk
+
+`func (o *Notification) GetHuaweiChannelIdOk() (*string, bool)`
+
+GetHuaweiChannelIdOk returns a tuple with the HuaweiChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiChannelId
+
+`func (o *Notification) SetHuaweiChannelId(v string)`
+
+SetHuaweiChannelId sets HuaweiChannelId field to given value.
+
+### HasHuaweiChannelId
+
+`func (o *Notification) HasHuaweiChannelId() bool`
+
+HasHuaweiChannelId returns a boolean if a field has been set.
+
+### GetExistingAndroidChannelId
+
+`func (o *Notification) GetExistingAndroidChannelId() string`
+
+GetExistingAndroidChannelId returns the ExistingAndroidChannelId field if non-nil, zero value otherwise.
+
+### GetExistingAndroidChannelIdOk
+
+`func (o *Notification) GetExistingAndroidChannelIdOk() (*string, bool)`
+
+GetExistingAndroidChannelIdOk returns a tuple with the ExistingAndroidChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExistingAndroidChannelId
+
+`func (o *Notification) SetExistingAndroidChannelId(v string)`
+
+SetExistingAndroidChannelId sets ExistingAndroidChannelId field to given value.
+
+### HasExistingAndroidChannelId
+
+`func (o *Notification) HasExistingAndroidChannelId() bool`
+
+HasExistingAndroidChannelId returns a boolean if a field has been set.
+
+### GetHuaweiExistingChannelId
+
+`func (o *Notification) GetHuaweiExistingChannelId() string`
+
+GetHuaweiExistingChannelId returns the HuaweiExistingChannelId field if non-nil, zero value otherwise.
+
+### GetHuaweiExistingChannelIdOk
+
+`func (o *Notification) GetHuaweiExistingChannelIdOk() (*string, bool)`
+
+GetHuaweiExistingChannelIdOk returns a tuple with the HuaweiExistingChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiExistingChannelId
+
+`func (o *Notification) SetHuaweiExistingChannelId(v string)`
+
+SetHuaweiExistingChannelId sets HuaweiExistingChannelId field to given value.
+
+### HasHuaweiExistingChannelId
+
+`func (o *Notification) HasHuaweiExistingChannelId() bool`
+
+HasHuaweiExistingChannelId returns a boolean if a field has been set.
+
+### GetAndroidBackgroundLayout
+
+`func (o *Notification) GetAndroidBackgroundLayout() NotificationAllOfAndroidBackgroundLayout`
+
+GetAndroidBackgroundLayout returns the AndroidBackgroundLayout field if non-nil, zero value otherwise.
+
+### GetAndroidBackgroundLayoutOk
+
+`func (o *Notification) GetAndroidBackgroundLayoutOk() (*NotificationAllOfAndroidBackgroundLayout, bool)`
+
+GetAndroidBackgroundLayoutOk returns a tuple with the AndroidBackgroundLayout field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidBackgroundLayout
+
+`func (o *Notification) SetAndroidBackgroundLayout(v NotificationAllOfAndroidBackgroundLayout)`
+
+SetAndroidBackgroundLayout sets AndroidBackgroundLayout field to given value.
+
+### HasAndroidBackgroundLayout
+
+`func (o *Notification) HasAndroidBackgroundLayout() bool`
+
+HasAndroidBackgroundLayout returns a boolean if a field has been set.
+
+### GetSmallIcon
+
+`func (o *Notification) GetSmallIcon() string`
+
+GetSmallIcon returns the SmallIcon field if non-nil, zero value otherwise.
+
+### GetSmallIconOk
+
+`func (o *Notification) GetSmallIconOk() (*string, bool)`
+
+GetSmallIconOk returns a tuple with the SmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmallIcon
+
+`func (o *Notification) SetSmallIcon(v string)`
+
+SetSmallIcon sets SmallIcon field to given value.
+
+### HasSmallIcon
+
+`func (o *Notification) HasSmallIcon() bool`
+
+HasSmallIcon returns a boolean if a field has been set.
+
+### GetHuaweiSmallIcon
+
+`func (o *Notification) GetHuaweiSmallIcon() string`
+
+GetHuaweiSmallIcon returns the HuaweiSmallIcon field if non-nil, zero value otherwise.
+
+### GetHuaweiSmallIconOk
+
+`func (o *Notification) GetHuaweiSmallIconOk() (*string, bool)`
+
+GetHuaweiSmallIconOk returns a tuple with the HuaweiSmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiSmallIcon
+
+`func (o *Notification) SetHuaweiSmallIcon(v string)`
+
+SetHuaweiSmallIcon sets HuaweiSmallIcon field to given value.
+
+### HasHuaweiSmallIcon
+
+`func (o *Notification) HasHuaweiSmallIcon() bool`
+
+HasHuaweiSmallIcon returns a boolean if a field has been set.
+
+### GetLargeIcon
+
+`func (o *Notification) GetLargeIcon() string`
+
+GetLargeIcon returns the LargeIcon field if non-nil, zero value otherwise.
+
+### GetLargeIconOk
+
+`func (o *Notification) GetLargeIconOk() (*string, bool)`
+
+GetLargeIconOk returns a tuple with the LargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLargeIcon
+
+`func (o *Notification) SetLargeIcon(v string)`
+
+SetLargeIcon sets LargeIcon field to given value.
+
+### HasLargeIcon
+
+`func (o *Notification) HasLargeIcon() bool`
+
+HasLargeIcon returns a boolean if a field has been set.
+
+### GetHuaweiLargeIcon
+
+`func (o *Notification) GetHuaweiLargeIcon() string`
+
+GetHuaweiLargeIcon returns the HuaweiLargeIcon field if non-nil, zero value otherwise.
+
+### GetHuaweiLargeIconOk
+
+`func (o *Notification) GetHuaweiLargeIconOk() (*string, bool)`
+
+GetHuaweiLargeIconOk returns a tuple with the HuaweiLargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiLargeIcon
+
+`func (o *Notification) SetHuaweiLargeIcon(v string)`
+
+SetHuaweiLargeIcon sets HuaweiLargeIcon field to given value.
+
+### HasHuaweiLargeIcon
+
+`func (o *Notification) HasHuaweiLargeIcon() bool`
+
+HasHuaweiLargeIcon returns a boolean if a field has been set.
+
+### GetAdmSmallIcon
+
+`func (o *Notification) GetAdmSmallIcon() string`
+
+GetAdmSmallIcon returns the AdmSmallIcon field if non-nil, zero value otherwise.
+
+### GetAdmSmallIconOk
+
+`func (o *Notification) GetAdmSmallIconOk() (*string, bool)`
+
+GetAdmSmallIconOk returns a tuple with the AdmSmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmSmallIcon
+
+`func (o *Notification) SetAdmSmallIcon(v string)`
+
+SetAdmSmallIcon sets AdmSmallIcon field to given value.
+
+### HasAdmSmallIcon
+
+`func (o *Notification) HasAdmSmallIcon() bool`
+
+HasAdmSmallIcon returns a boolean if a field has been set.
+
+### GetAdmLargeIcon
+
+`func (o *Notification) GetAdmLargeIcon() string`
+
+GetAdmLargeIcon returns the AdmLargeIcon field if non-nil, zero value otherwise.
+
+### GetAdmLargeIconOk
+
+`func (o *Notification) GetAdmLargeIconOk() (*string, bool)`
+
+GetAdmLargeIconOk returns a tuple with the AdmLargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmLargeIcon
+
+`func (o *Notification) SetAdmLargeIcon(v string)`
+
+SetAdmLargeIcon sets AdmLargeIcon field to given value.
+
+### HasAdmLargeIcon
+
+`func (o *Notification) HasAdmLargeIcon() bool`
+
+HasAdmLargeIcon returns a boolean if a field has been set.
+
+### GetChromeWebIcon
+
+`func (o *Notification) GetChromeWebIcon() string`
+
+GetChromeWebIcon returns the ChromeWebIcon field if non-nil, zero value otherwise.
+
+### GetChromeWebIconOk
+
+`func (o *Notification) GetChromeWebIconOk() (*string, bool)`
+
+GetChromeWebIconOk returns a tuple with the ChromeWebIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebIcon
+
+`func (o *Notification) SetChromeWebIcon(v string)`
+
+SetChromeWebIcon sets ChromeWebIcon field to given value.
+
+### HasChromeWebIcon
+
+`func (o *Notification) HasChromeWebIcon() bool`
+
+HasChromeWebIcon returns a boolean if a field has been set.
+
+### GetChromeWebBadge
+
+`func (o *Notification) GetChromeWebBadge() string`
+
+GetChromeWebBadge returns the ChromeWebBadge field if non-nil, zero value otherwise.
+
+### GetChromeWebBadgeOk
+
+`func (o *Notification) GetChromeWebBadgeOk() (*string, bool)`
+
+GetChromeWebBadgeOk returns a tuple with the ChromeWebBadge field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebBadge
+
+`func (o *Notification) SetChromeWebBadge(v string)`
+
+SetChromeWebBadge sets ChromeWebBadge field to given value.
+
+### HasChromeWebBadge
+
+`func (o *Notification) HasChromeWebBadge() bool`
+
+HasChromeWebBadge returns a boolean if a field has been set.
+
+### GetFirefoxIcon
+
+`func (o *Notification) GetFirefoxIcon() string`
+
+GetFirefoxIcon returns the FirefoxIcon field if non-nil, zero value otherwise.
+
+### GetFirefoxIconOk
+
+`func (o *Notification) GetFirefoxIconOk() (*string, bool)`
+
+GetFirefoxIconOk returns a tuple with the FirefoxIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirefoxIcon
+
+`func (o *Notification) SetFirefoxIcon(v string)`
+
+SetFirefoxIcon sets FirefoxIcon field to given value.
+
+### HasFirefoxIcon
+
+`func (o *Notification) HasFirefoxIcon() bool`
+
+HasFirefoxIcon returns a boolean if a field has been set.
+
+### GetChromeIcon
+
+`func (o *Notification) GetChromeIcon() string`
+
+GetChromeIcon returns the ChromeIcon field if non-nil, zero value otherwise.
+
+### GetChromeIconOk
+
+`func (o *Notification) GetChromeIconOk() (*string, bool)`
+
+GetChromeIconOk returns a tuple with the ChromeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeIcon
+
+`func (o *Notification) SetChromeIcon(v string)`
+
+SetChromeIcon sets ChromeIcon field to given value.
+
+### HasChromeIcon
+
+`func (o *Notification) HasChromeIcon() bool`
+
+HasChromeIcon returns a boolean if a field has been set.
+
+### GetIosSound
+
+`func (o *Notification) GetIosSound() string`
+
+GetIosSound returns the IosSound field if non-nil, zero value otherwise.
+
+### GetIosSoundOk
+
+`func (o *Notification) GetIosSoundOk() (*string, bool)`
+
+GetIosSoundOk returns a tuple with the IosSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosSound
+
+`func (o *Notification) SetIosSound(v string)`
+
+SetIosSound sets IosSound field to given value.
+
+### HasIosSound
+
+`func (o *Notification) HasIosSound() bool`
+
+HasIosSound returns a boolean if a field has been set.
+
+### GetAndroidSound
+
+`func (o *Notification) GetAndroidSound() string`
+
+GetAndroidSound returns the AndroidSound field if non-nil, zero value otherwise.
+
+### GetAndroidSoundOk
+
+`func (o *Notification) GetAndroidSoundOk() (*string, bool)`
+
+GetAndroidSoundOk returns a tuple with the AndroidSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidSound
+
+`func (o *Notification) SetAndroidSound(v string)`
+
+SetAndroidSound sets AndroidSound field to given value.
+
+### HasAndroidSound
+
+`func (o *Notification) HasAndroidSound() bool`
+
+HasAndroidSound returns a boolean if a field has been set.
+
+### GetHuaweiSound
+
+`func (o *Notification) GetHuaweiSound() string`
+
+GetHuaweiSound returns the HuaweiSound field if non-nil, zero value otherwise.
+
+### GetHuaweiSoundOk
+
+`func (o *Notification) GetHuaweiSoundOk() (*string, bool)`
+
+GetHuaweiSoundOk returns a tuple with the HuaweiSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiSound
+
+`func (o *Notification) SetHuaweiSound(v string)`
+
+SetHuaweiSound sets HuaweiSound field to given value.
+
+### HasHuaweiSound
+
+`func (o *Notification) HasHuaweiSound() bool`
+
+HasHuaweiSound returns a boolean if a field has been set.
+
+### GetAdmSound
+
+`func (o *Notification) GetAdmSound() string`
+
+GetAdmSound returns the AdmSound field if non-nil, zero value otherwise.
+
+### GetAdmSoundOk
+
+`func (o *Notification) GetAdmSoundOk() (*string, bool)`
+
+GetAdmSoundOk returns a tuple with the AdmSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmSound
+
+`func (o *Notification) SetAdmSound(v string)`
+
+SetAdmSound sets AdmSound field to given value.
+
+### HasAdmSound
+
+`func (o *Notification) HasAdmSound() bool`
+
+HasAdmSound returns a boolean if a field has been set.
+
+### GetWpWnsSound
+
+`func (o *Notification) GetWpWnsSound() string`
+
+GetWpWnsSound returns the WpWnsSound field if non-nil, zero value otherwise.
+
+### GetWpWnsSoundOk
+
+`func (o *Notification) GetWpWnsSoundOk() (*string, bool)`
+
+GetWpWnsSoundOk returns a tuple with the WpWnsSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWpWnsSound
+
+`func (o *Notification) SetWpWnsSound(v string)`
+
+SetWpWnsSound sets WpWnsSound field to given value.
+
+### HasWpWnsSound
+
+`func (o *Notification) HasWpWnsSound() bool`
+
+HasWpWnsSound returns a boolean if a field has been set.
+
+### GetAndroidLedColor
+
+`func (o *Notification) GetAndroidLedColor() string`
+
+GetAndroidLedColor returns the AndroidLedColor field if non-nil, zero value otherwise.
+
+### GetAndroidLedColorOk
+
+`func (o *Notification) GetAndroidLedColorOk() (*string, bool)`
+
+GetAndroidLedColorOk returns a tuple with the AndroidLedColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidLedColor
+
+`func (o *Notification) SetAndroidLedColor(v string)`
+
+SetAndroidLedColor sets AndroidLedColor field to given value.
+
+### HasAndroidLedColor
+
+`func (o *Notification) HasAndroidLedColor() bool`
+
+HasAndroidLedColor returns a boolean if a field has been set.
+
+### GetHuaweiLedColor
+
+`func (o *Notification) GetHuaweiLedColor() string`
+
+GetHuaweiLedColor returns the HuaweiLedColor field if non-nil, zero value otherwise.
+
+### GetHuaweiLedColorOk
+
+`func (o *Notification) GetHuaweiLedColorOk() (*string, bool)`
+
+GetHuaweiLedColorOk returns a tuple with the HuaweiLedColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiLedColor
+
+`func (o *Notification) SetHuaweiLedColor(v string)`
+
+SetHuaweiLedColor sets HuaweiLedColor field to given value.
+
+### HasHuaweiLedColor
+
+`func (o *Notification) HasHuaweiLedColor() bool`
+
+HasHuaweiLedColor returns a boolean if a field has been set.
+
+### GetAndroidAccentColor
+
+`func (o *Notification) GetAndroidAccentColor() string`
+
+GetAndroidAccentColor returns the AndroidAccentColor field if non-nil, zero value otherwise.
+
+### GetAndroidAccentColorOk
+
+`func (o *Notification) GetAndroidAccentColorOk() (*string, bool)`
+
+GetAndroidAccentColorOk returns a tuple with the AndroidAccentColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidAccentColor
+
+`func (o *Notification) SetAndroidAccentColor(v string)`
+
+SetAndroidAccentColor sets AndroidAccentColor field to given value.
+
+### HasAndroidAccentColor
+
+`func (o *Notification) HasAndroidAccentColor() bool`
+
+HasAndroidAccentColor returns a boolean if a field has been set.
+
+### GetHuaweiAccentColor
+
+`func (o *Notification) GetHuaweiAccentColor() string`
+
+GetHuaweiAccentColor returns the HuaweiAccentColor field if non-nil, zero value otherwise.
+
+### GetHuaweiAccentColorOk
+
+`func (o *Notification) GetHuaweiAccentColorOk() (*string, bool)`
+
+GetHuaweiAccentColorOk returns a tuple with the HuaweiAccentColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiAccentColor
+
+`func (o *Notification) SetHuaweiAccentColor(v string)`
+
+SetHuaweiAccentColor sets HuaweiAccentColor field to given value.
+
+### HasHuaweiAccentColor
+
+`func (o *Notification) HasHuaweiAccentColor() bool`
+
+HasHuaweiAccentColor returns a boolean if a field has been set.
+
+### GetAndroidVisibility
+
+`func (o *Notification) GetAndroidVisibility() int32`
+
+GetAndroidVisibility returns the AndroidVisibility field if non-nil, zero value otherwise.
+
+### GetAndroidVisibilityOk
+
+`func (o *Notification) GetAndroidVisibilityOk() (*int32, bool)`
+
+GetAndroidVisibilityOk returns a tuple with the AndroidVisibility field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidVisibility
+
+`func (o *Notification) SetAndroidVisibility(v int32)`
+
+SetAndroidVisibility sets AndroidVisibility field to given value.
+
+### HasAndroidVisibility
+
+`func (o *Notification) HasAndroidVisibility() bool`
+
+HasAndroidVisibility returns a boolean if a field has been set.
+
+### GetHuaweiVisibility
+
+`func (o *Notification) GetHuaweiVisibility() int32`
+
+GetHuaweiVisibility returns the HuaweiVisibility field if non-nil, zero value otherwise.
+
+### GetHuaweiVisibilityOk
+
+`func (o *Notification) GetHuaweiVisibilityOk() (*int32, bool)`
+
+GetHuaweiVisibilityOk returns a tuple with the HuaweiVisibility field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiVisibility
+
+`func (o *Notification) SetHuaweiVisibility(v int32)`
+
+SetHuaweiVisibility sets HuaweiVisibility field to given value.
+
+### HasHuaweiVisibility
+
+`func (o *Notification) HasHuaweiVisibility() bool`
+
+HasHuaweiVisibility returns a boolean if a field has been set.
+
+### GetIosBadgeType
+
+`func (o *Notification) GetIosBadgeType() string`
+
+GetIosBadgeType returns the IosBadgeType field if non-nil, zero value otherwise.
+
+### GetIosBadgeTypeOk
+
+`func (o *Notification) GetIosBadgeTypeOk() (*string, bool)`
+
+GetIosBadgeTypeOk returns a tuple with the IosBadgeType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosBadgeType
+
+`func (o *Notification) SetIosBadgeType(v string)`
+
+SetIosBadgeType sets IosBadgeType field to given value.
+
+### HasIosBadgeType
+
+`func (o *Notification) HasIosBadgeType() bool`
+
+HasIosBadgeType returns a boolean if a field has been set.
+
+### GetIosBadgeCount
+
+`func (o *Notification) GetIosBadgeCount() int32`
+
+GetIosBadgeCount returns the IosBadgeCount field if non-nil, zero value otherwise.
+
+### GetIosBadgeCountOk
+
+`func (o *Notification) GetIosBadgeCountOk() (*int32, bool)`
+
+GetIosBadgeCountOk returns a tuple with the IosBadgeCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosBadgeCount
+
+`func (o *Notification) SetIosBadgeCount(v int32)`
+
+SetIosBadgeCount sets IosBadgeCount field to given value.
+
+### HasIosBadgeCount
+
+`func (o *Notification) HasIosBadgeCount() bool`
+
+HasIosBadgeCount returns a boolean if a field has been set.
+
+### GetCollapseId
+
+`func (o *Notification) GetCollapseId() string`
+
+GetCollapseId returns the CollapseId field if non-nil, zero value otherwise.
+
+### GetCollapseIdOk
+
+`func (o *Notification) GetCollapseIdOk() (*string, bool)`
+
+GetCollapseIdOk returns a tuple with the CollapseId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCollapseId
+
+`func (o *Notification) SetCollapseId(v string)`
+
+SetCollapseId sets CollapseId field to given value.
+
+### HasCollapseId
+
+`func (o *Notification) HasCollapseId() bool`
+
+HasCollapseId returns a boolean if a field has been set.
+
+### GetWebPushTopic
+
+`func (o *Notification) GetWebPushTopic() string`
+
+GetWebPushTopic returns the WebPushTopic field if non-nil, zero value otherwise.
+
+### GetWebPushTopicOk
+
+`func (o *Notification) GetWebPushTopicOk() (*string, bool)`
+
+GetWebPushTopicOk returns a tuple with the WebPushTopic field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebPushTopic
+
+`func (o *Notification) SetWebPushTopic(v string)`
+
+SetWebPushTopic sets WebPushTopic field to given value.
+
+### HasWebPushTopic
+
+`func (o *Notification) HasWebPushTopic() bool`
+
+HasWebPushTopic returns a boolean if a field has been set.
+
+### GetApnsAlert
+
+`func (o *Notification) GetApnsAlert() map[string]interface{}`
+
+GetApnsAlert returns the ApnsAlert field if non-nil, zero value otherwise.
+
+### GetApnsAlertOk
+
+`func (o *Notification) GetApnsAlertOk() (*map[string]interface{}, bool)`
+
+GetApnsAlertOk returns a tuple with the ApnsAlert field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsAlert
+
+`func (o *Notification) SetApnsAlert(v map[string]interface{})`
+
+SetApnsAlert sets ApnsAlert field to given value.
+
+### HasApnsAlert
+
+`func (o *Notification) HasApnsAlert() bool`
+
+HasApnsAlert returns a boolean if a field has been set.
+
+### GetSendAfter
+
+`func (o *Notification) GetSendAfter() string`
+
+GetSendAfter returns the SendAfter field if non-nil, zero value otherwise.
+
+### GetSendAfterOk
+
+`func (o *Notification) GetSendAfterOk() (*string, bool)`
+
+GetSendAfterOk returns a tuple with the SendAfter field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSendAfter
+
+`func (o *Notification) SetSendAfter(v string)`
+
+SetSendAfter sets SendAfter field to given value.
+
+### HasSendAfter
+
+`func (o *Notification) HasSendAfter() bool`
+
+HasSendAfter returns a boolean if a field has been set.
+
+### GetDelayedOption
+
+`func (o *Notification) GetDelayedOption() string`
+
+GetDelayedOption returns the DelayedOption field if non-nil, zero value otherwise.
+
+### GetDelayedOptionOk
+
+`func (o *Notification) GetDelayedOptionOk() (*string, bool)`
+
+GetDelayedOptionOk returns a tuple with the DelayedOption field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDelayedOption
+
+`func (o *Notification) SetDelayedOption(v string)`
+
+SetDelayedOption sets DelayedOption field to given value.
+
+### HasDelayedOption
+
+`func (o *Notification) HasDelayedOption() bool`
+
+HasDelayedOption returns a boolean if a field has been set.
+
+### GetDeliveryTimeOfDay
+
+`func (o *Notification) GetDeliveryTimeOfDay() string`
+
+GetDeliveryTimeOfDay returns the DeliveryTimeOfDay field if non-nil, zero value otherwise.
+
+### GetDeliveryTimeOfDayOk
+
+`func (o *Notification) GetDeliveryTimeOfDayOk() (*string, bool)`
+
+GetDeliveryTimeOfDayOk returns a tuple with the DeliveryTimeOfDay field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDeliveryTimeOfDay
+
+`func (o *Notification) SetDeliveryTimeOfDay(v string)`
+
+SetDeliveryTimeOfDay sets DeliveryTimeOfDay field to given value.
+
+### HasDeliveryTimeOfDay
+
+`func (o *Notification) HasDeliveryTimeOfDay() bool`
+
+HasDeliveryTimeOfDay returns a boolean if a field has been set.
+
+### GetTtl
+
+`func (o *Notification) GetTtl() int32`
+
+GetTtl returns the Ttl field if non-nil, zero value otherwise.
+
+### GetTtlOk
+
+`func (o *Notification) GetTtlOk() (*int32, bool)`
+
+GetTtlOk returns a tuple with the Ttl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTtl
+
+`func (o *Notification) SetTtl(v int32)`
+
+SetTtl sets Ttl field to given value.
+
+### HasTtl
+
+`func (o *Notification) HasTtl() bool`
+
+HasTtl returns a boolean if a field has been set.
+
+### GetPriority
+
+`func (o *Notification) GetPriority() int32`
+
+GetPriority returns the Priority field if non-nil, zero value otherwise.
+
+### GetPriorityOk
+
+`func (o *Notification) GetPriorityOk() (*int32, bool)`
+
+GetPriorityOk returns a tuple with the Priority field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPriority
+
+`func (o *Notification) SetPriority(v int32)`
+
+SetPriority sets Priority field to given value.
+
+### HasPriority
+
+`func (o *Notification) HasPriority() bool`
+
+HasPriority returns a boolean if a field has been set.
+
+### GetApnsPushTypeOverride
+
+`func (o *Notification) GetApnsPushTypeOverride() string`
+
+GetApnsPushTypeOverride returns the ApnsPushTypeOverride field if non-nil, zero value otherwise.
+
+### GetApnsPushTypeOverrideOk
+
+`func (o *Notification) GetApnsPushTypeOverrideOk() (*string, bool)`
+
+GetApnsPushTypeOverrideOk returns a tuple with the ApnsPushTypeOverride field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsPushTypeOverride
+
+`func (o *Notification) SetApnsPushTypeOverride(v string)`
+
+SetApnsPushTypeOverride sets ApnsPushTypeOverride field to given value.
+
+### HasApnsPushTypeOverride
+
+`func (o *Notification) HasApnsPushTypeOverride() bool`
+
+HasApnsPushTypeOverride returns a boolean if a field has been set.
+
+### GetThrottleRatePerMinute
+
+`func (o *Notification) GetThrottleRatePerMinute() string`
+
+GetThrottleRatePerMinute returns the ThrottleRatePerMinute field if non-nil, zero value otherwise.
+
+### GetThrottleRatePerMinuteOk
+
+`func (o *Notification) GetThrottleRatePerMinuteOk() (*string, bool)`
+
+GetThrottleRatePerMinuteOk returns a tuple with the ThrottleRatePerMinute field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetThrottleRatePerMinute
+
+`func (o *Notification) SetThrottleRatePerMinute(v string)`
+
+SetThrottleRatePerMinute sets ThrottleRatePerMinute field to given value.
+
+### HasThrottleRatePerMinute
+
+`func (o *Notification) HasThrottleRatePerMinute() bool`
+
+HasThrottleRatePerMinute returns a boolean if a field has been set.
+
+### GetAndroidGroup
+
+`func (o *Notification) GetAndroidGroup() string`
+
+GetAndroidGroup returns the AndroidGroup field if non-nil, zero value otherwise.
+
+### GetAndroidGroupOk
+
+`func (o *Notification) GetAndroidGroupOk() (*string, bool)`
+
+GetAndroidGroupOk returns a tuple with the AndroidGroup field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidGroup
+
+`func (o *Notification) SetAndroidGroup(v string)`
+
+SetAndroidGroup sets AndroidGroup field to given value.
+
+### HasAndroidGroup
+
+`func (o *Notification) HasAndroidGroup() bool`
+
+HasAndroidGroup returns a boolean if a field has been set.
+
+### GetAndroidGroupMessage
+
+`func (o *Notification) GetAndroidGroupMessage() string`
+
+GetAndroidGroupMessage returns the AndroidGroupMessage field if non-nil, zero value otherwise.
+
+### GetAndroidGroupMessageOk
+
+`func (o *Notification) GetAndroidGroupMessageOk() (*string, bool)`
+
+GetAndroidGroupMessageOk returns a tuple with the AndroidGroupMessage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidGroupMessage
+
+`func (o *Notification) SetAndroidGroupMessage(v string)`
+
+SetAndroidGroupMessage sets AndroidGroupMessage field to given value.
+
+### HasAndroidGroupMessage
+
+`func (o *Notification) HasAndroidGroupMessage() bool`
+
+HasAndroidGroupMessage returns a boolean if a field has been set.
+
+### GetAdmGroup
+
+`func (o *Notification) GetAdmGroup() string`
+
+GetAdmGroup returns the AdmGroup field if non-nil, zero value otherwise.
+
+### GetAdmGroupOk
+
+`func (o *Notification) GetAdmGroupOk() (*string, bool)`
+
+GetAdmGroupOk returns a tuple with the AdmGroup field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmGroup
+
+`func (o *Notification) SetAdmGroup(v string)`
+
+SetAdmGroup sets AdmGroup field to given value.
+
+### HasAdmGroup
+
+`func (o *Notification) HasAdmGroup() bool`
+
+HasAdmGroup returns a boolean if a field has been set.
+
+### GetAdmGroupMessage
+
+`func (o *Notification) GetAdmGroupMessage() map[string]interface{}`
+
+GetAdmGroupMessage returns the AdmGroupMessage field if non-nil, zero value otherwise.
+
+### GetAdmGroupMessageOk
+
+`func (o *Notification) GetAdmGroupMessageOk() (*map[string]interface{}, bool)`
+
+GetAdmGroupMessageOk returns a tuple with the AdmGroupMessage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmGroupMessage
+
+`func (o *Notification) SetAdmGroupMessage(v map[string]interface{})`
+
+SetAdmGroupMessage sets AdmGroupMessage field to given value.
+
+### HasAdmGroupMessage
+
+`func (o *Notification) HasAdmGroupMessage() bool`
+
+HasAdmGroupMessage returns a boolean if a field has been set.
+
+### GetThreadId
+
+`func (o *Notification) GetThreadId() string`
+
+GetThreadId returns the ThreadId field if non-nil, zero value otherwise.
+
+### GetThreadIdOk
+
+`func (o *Notification) GetThreadIdOk() (*string, bool)`
+
+GetThreadIdOk returns a tuple with the ThreadId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetThreadId
+
+`func (o *Notification) SetThreadId(v string)`
+
+SetThreadId sets ThreadId field to given value.
+
+### HasThreadId
+
+`func (o *Notification) HasThreadId() bool`
+
+HasThreadId returns a boolean if a field has been set.
+
+### GetSummaryArg
+
+`func (o *Notification) GetSummaryArg() string`
+
+GetSummaryArg returns the SummaryArg field if non-nil, zero value otherwise.
+
+### GetSummaryArgOk
+
+`func (o *Notification) GetSummaryArgOk() (*string, bool)`
+
+GetSummaryArgOk returns a tuple with the SummaryArg field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSummaryArg
+
+`func (o *Notification) SetSummaryArg(v string)`
+
+SetSummaryArg sets SummaryArg field to given value.
+
+### HasSummaryArg
+
+`func (o *Notification) HasSummaryArg() bool`
+
+HasSummaryArg returns a boolean if a field has been set.
+
+### GetSummaryArgCount
+
+`func (o *Notification) GetSummaryArgCount() int32`
+
+GetSummaryArgCount returns the SummaryArgCount field if non-nil, zero value otherwise.
+
+### GetSummaryArgCountOk
+
+`func (o *Notification) GetSummaryArgCountOk() (*int32, bool)`
+
+GetSummaryArgCountOk returns a tuple with the SummaryArgCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSummaryArgCount
+
+`func (o *Notification) SetSummaryArgCount(v int32)`
+
+SetSummaryArgCount sets SummaryArgCount field to given value.
+
+### HasSummaryArgCount
+
+`func (o *Notification) HasSummaryArgCount() bool`
+
+HasSummaryArgCount returns a boolean if a field has been set.
+
+### GetEmailSubect
+
+`func (o *Notification) GetEmailSubect() string`
+
+GetEmailSubect returns the EmailSubect field if non-nil, zero value otherwise.
+
+### GetEmailSubectOk
+
+`func (o *Notification) GetEmailSubectOk() (*string, bool)`
+
+GetEmailSubectOk returns a tuple with the EmailSubect field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailSubect
+
+`func (o *Notification) SetEmailSubect(v string)`
+
+SetEmailSubect sets EmailSubect field to given value.
+
+### HasEmailSubect
+
+`func (o *Notification) HasEmailSubect() bool`
+
+HasEmailSubect returns a boolean if a field has been set.
+
+### GetEmailBody
+
+`func (o *Notification) GetEmailBody() string`
+
+GetEmailBody returns the EmailBody field if non-nil, zero value otherwise.
+
+### GetEmailBodyOk
+
+`func (o *Notification) GetEmailBodyOk() (*string, bool)`
+
+GetEmailBodyOk returns a tuple with the EmailBody field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailBody
+
+`func (o *Notification) SetEmailBody(v string)`
+
+SetEmailBody sets EmailBody field to given value.
+
+### HasEmailBody
+
+`func (o *Notification) HasEmailBody() bool`
+
+HasEmailBody returns a boolean if a field has been set.
+
+### GetEmailFromName
+
+`func (o *Notification) GetEmailFromName() string`
+
+GetEmailFromName returns the EmailFromName field if non-nil, zero value otherwise.
+
+### GetEmailFromNameOk
+
+`func (o *Notification) GetEmailFromNameOk() (*string, bool)`
+
+GetEmailFromNameOk returns a tuple with the EmailFromName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailFromName
+
+`func (o *Notification) SetEmailFromName(v string)`
+
+SetEmailFromName sets EmailFromName field to given value.
+
+### HasEmailFromName
+
+`func (o *Notification) HasEmailFromName() bool`
+
+HasEmailFromName returns a boolean if a field has been set.
+
+### GetEmailFromAddress
+
+`func (o *Notification) GetEmailFromAddress() string`
+
+GetEmailFromAddress returns the EmailFromAddress field if non-nil, zero value otherwise.
+
+### GetEmailFromAddressOk
+
+`func (o *Notification) GetEmailFromAddressOk() (*string, bool)`
+
+GetEmailFromAddressOk returns a tuple with the EmailFromAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailFromAddress
+
+`func (o *Notification) SetEmailFromAddress(v string)`
+
+SetEmailFromAddress sets EmailFromAddress field to given value.
+
+### HasEmailFromAddress
+
+`func (o *Notification) HasEmailFromAddress() bool`
+
+HasEmailFromAddress returns a boolean if a field has been set.
+
+### GetSmsFrom
+
+`func (o *Notification) GetSmsFrom() string`
+
+GetSmsFrom returns the SmsFrom field if non-nil, zero value otherwise.
+
+### GetSmsFromOk
+
+`func (o *Notification) GetSmsFromOk() (*string, bool)`
+
+GetSmsFromOk returns a tuple with the SmsFrom field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmsFrom
+
+`func (o *Notification) SetSmsFrom(v string)`
+
+SetSmsFrom sets SmsFrom field to given value.
+
+### HasSmsFrom
+
+`func (o *Notification) HasSmsFrom() bool`
+
+HasSmsFrom returns a boolean if a field has been set.
+
+### GetSmsMediaUrls
+
+`func (o *Notification) GetSmsMediaUrls() []string`
+
+GetSmsMediaUrls returns the SmsMediaUrls field if non-nil, zero value otherwise.
+
+### GetSmsMediaUrlsOk
+
+`func (o *Notification) GetSmsMediaUrlsOk() (*[]string, bool)`
+
+GetSmsMediaUrlsOk returns a tuple with the SmsMediaUrls field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmsMediaUrls
+
+`func (o *Notification) SetSmsMediaUrls(v []string)`
+
+SetSmsMediaUrls sets SmsMediaUrls field to given value.
+
+### HasSmsMediaUrls
+
+`func (o *Notification) HasSmsMediaUrls() bool`
+
+HasSmsMediaUrls returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notification200Errors.md b/docs/Notification200Errors.md
new file mode 100644
index 0000000..b61bb12
--- /dev/null
+++ b/docs/Notification200Errors.md
@@ -0,0 +1,82 @@
+# Notification200Errors
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**InvalidExternalUserIds** | Pointer to **[]string** | Returned if using include_external_user_ids | [optional] 
+**InvalidPlayerIds** | Pointer to **[]string** | Returned if using include_player_ids and some were valid and others were not. | [optional] 
+
+## Methods
+
+### NewNotification200Errors
+
+`func NewNotification200Errors() *Notification200Errors`
+
+NewNotification200Errors instantiates a new Notification200Errors object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotification200ErrorsWithDefaults
+
+`func NewNotification200ErrorsWithDefaults() *Notification200Errors`
+
+NewNotification200ErrorsWithDefaults instantiates a new Notification200Errors object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetInvalidExternalUserIds
+
+`func (o *Notification200Errors) GetInvalidExternalUserIds() []string`
+
+GetInvalidExternalUserIds returns the InvalidExternalUserIds field if non-nil, zero value otherwise.
+
+### GetInvalidExternalUserIdsOk
+
+`func (o *Notification200Errors) GetInvalidExternalUserIdsOk() (*[]string, bool)`
+
+GetInvalidExternalUserIdsOk returns a tuple with the InvalidExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetInvalidExternalUserIds
+
+`func (o *Notification200Errors) SetInvalidExternalUserIds(v []string)`
+
+SetInvalidExternalUserIds sets InvalidExternalUserIds field to given value.
+
+### HasInvalidExternalUserIds
+
+`func (o *Notification200Errors) HasInvalidExternalUserIds() bool`
+
+HasInvalidExternalUserIds returns a boolean if a field has been set.
+
+### GetInvalidPlayerIds
+
+`func (o *Notification200Errors) GetInvalidPlayerIds() []string`
+
+GetInvalidPlayerIds returns the InvalidPlayerIds field if non-nil, zero value otherwise.
+
+### GetInvalidPlayerIdsOk
+
+`func (o *Notification200Errors) GetInvalidPlayerIdsOk() (*[]string, bool)`
+
+GetInvalidPlayerIdsOk returns a tuple with the InvalidPlayerIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetInvalidPlayerIds
+
+`func (o *Notification200Errors) SetInvalidPlayerIds(v []string)`
+
+SetInvalidPlayerIds sets InvalidPlayerIds field to given value.
+
+### HasInvalidPlayerIds
+
+`func (o *Notification200Errors) HasInvalidPlayerIds() bool`
+
+HasInvalidPlayerIds returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/NotificationAllOf.md b/docs/NotificationAllOf.md
new file mode 100644
index 0000000..4d5aee7
--- /dev/null
+++ b/docs/NotificationAllOf.md
@@ -0,0 +1,2348 @@
+# NotificationAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **string** |  | [optional] 
+**Value** | Pointer to **int32** |  | [optional] [readonly] 
+**Aggregation** | Pointer to **string** |  | [optional] [readonly] 
+**IsIos** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Apple iOS platform. | [optional] [default to true]
+**IsAndroid** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Google Android platform. | [optional] 
+**IsHuawei** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Huawei Android platform. | [optional] 
+**IsAnyWeb** | Pointer to **bool** | Indicates whether to send to all subscribed web browser users, including Chrome, Firefox, and Safari. You may use this instead as a combined flag instead of separately enabling isChromeWeb, isFirefox, and isSafari, though the three options are equivalent to this one.  | [optional] 
+**IsChromeWeb** | Pointer to **bool** | Indicates whether to send to all Google Chrome, Chrome on Android, and Mozilla Firefox users registered under your Chrome &amp; Firefox web push platform. | [optional] 
+**IsFirefox** | Pointer to **bool** | Indicates whether to send to all Mozilla Firefox desktop users registered under your Firefox web push platform. | [optional] 
+**IsSafari** | Pointer to **bool** | Does not support iOS Safari. Indicates whether to send to all Apple&#39;s Safari desktop users registered under your Safari web push platform. Read more iOS Safari | [optional] 
+**IsWPWNS** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Windows platform. | [optional] 
+**IsAdm** | Pointer to **bool** | Indicates whether to send to all devices registered under your app&#39;s Amazon Fire platform. | [optional] 
+**IsChrome** | Pointer to **bool** | This flag is not used for web push Please see isChromeWeb for sending to web push users. This flag only applies to Google Chrome Apps &amp; Extensions. Indicates whether to send to all devices registered under your app&#39;s Google Chrome Apps &amp; Extension platform.  | [optional] 
+**ChannelForExternalUserIds** | Pointer to **string** | Indicates if the message type when targeting with include_external_user_ids for cases where an email, sms, and/or push subscribers have the same external user id. Example: Use the string \&quot;push\&quot; to indicate you are sending a push notification or the string \&quot;email\&quot;for sending emails or \&quot;sms\&quot;for sending SMS.  | [optional] 
+**AppId** | Pointer to **string** | Required: Your OneSignal Application ID, which can be found in Keys &amp; IDs. It is a UUID and looks similar to 8250eaf6-1a58-489e-b136-7c74a864b434.  | [optional] 
+**ExternalId** | Pointer to **string** | Correlation and idempotency key. A request received with this parameter will first look for another notification with the same external_id. If one exists, a notification will not be sent, and result of the previous operation will instead be returned. Therefore, if you plan on using this feature, it&#39;s important to use a good source of randomness to generate the UUID passed here. This key is only idempotent for 30 days. After 30 days, the notification could be removed from our system and a notification with the same external_id will be sent again.   See Idempotent Notification Requests for more details writeOnly: true  | [optional] 
+**Contents** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Headings** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Subtitle** | Pointer to [**NullableStringMap**](StringMap.md) |  | [optional] 
+**Data** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: Huawei A custom map of data that is passed back to your app. Same as using Additional Data within the dashboard. Can use up to 2048 bytes of data. Example: {\&quot;abc\&quot;: 123, \&quot;foo\&quot;: \&quot;bar\&quot;, \&quot;event_performed\&quot;: true, \&quot;amount\&quot;: 12.1}  | [optional] 
+**HuaweiMsgType** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Use \&quot;data\&quot; or \&quot;message\&quot; depending on the type of notification you are sending. More details in Data &amp; Background Notifications.  | [optional] 
+**Url** | Pointer to **string** | Channel: Push Notifications Platform: All The URL to open in the browser when a user clicks on the notification. Note: iOS needs https or updated NSAppTransportSecurity in plist This field supports inline substitutions. Omit if including web_url or app_url Example: https://onesignal.com  | [optional] 
+**WebUrl** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including Chrome, Firefox, Safari, Opera, etc. Example: https://onesignal.com  | [optional] 
+**AppUrl** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including iOS, Android, macOS, Windows, ChromeApps, etc. Example: https://onesignal.com  | [optional] 
+**IosAttachments** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: iOS 10+ Adds media attachments to notifications. Set as JSON object, key as a media id of your choice and the value as a valid local filename or URL. User must press and hold on the notification to view. Do not set mutable_content to download attachments. The OneSignal SDK does this automatically Example: {\&quot;id1\&quot;: \&quot;https://domain.com/image.jpg\&quot;}  | [optional] 
+**TemplateId** | Pointer to **string** | Channel: Push Notifications Platform: All Use a template you setup on our dashboard. The template_id is the UUID found in the URL when viewing a template on our dashboard. Example: be4a8044-bbd6-11e4-a581-000c2940e62c  | [optional] 
+**ContentAvailable** | Pointer to **bool** | Channel: Push Notifications Platform: iOS Sending true wakes your app from background to run custom native code (Apple interprets this as content-available&#x3D;1). Note: Not applicable if the app is in the \&quot;force-quit\&quot; state (i.e app was swiped away). Omit the contents field to prevent displaying a visible notification.  | [optional] 
+**MutableContent** | Pointer to **bool** | Channel: Push Notifications Platform: iOS 10+ Always defaults to true and cannot be turned off. Allows tracking of notification receives and changing of the notification content in your app before it is displayed. Triggers didReceive(_:withContentHandler:) on your UNNotificationServiceExtension.  | [optional] 
+**TargetContentIdentifier** | Pointer to **string** | Channel: Push Notifications Platform: iOS 13+ Use to target a specific experience in your App Clip, or to target your notification to a specific window in a multi-scene App.  | [optional] 
+**BigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Android Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**HuaweiBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**AdmBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: Amazon Picture to display in the expanded view. Can be a drawable resource name or a URL.  | [optional] 
+**ChromeBigPicture** | Pointer to **string** | Channel: Push Notifications Platform: ChromeApp Large picture to display below the notification text. Must be a local URL.  | [optional] 
+**ChromeWebImage** | Pointer to **string** | Channel: Push Notifications Platform: Chrome 56+ Sets the web push notification&#39;s large image to be shown below the notification&#39;s title and text. Please see Web Push Notification Icons.  | [optional] 
+**Buttons** | Pointer to [**[]Button**](Button.md) | Channel: Push Notifications Platform: iOS 8.0+, Android 4.1+, and derivatives like Amazon Buttons to add to the notification. Icon only works for Android. Buttons show in reverse order of array position i.e. Last item in array shows as first button on device. Example: [{\&quot;id\&quot;: \&quot;id2\&quot;, \&quot;text\&quot;: \&quot;second button\&quot;, \&quot;icon\&quot;: \&quot;ic_menu_share\&quot;}, {\&quot;id\&quot;: \&quot;id1\&quot;, \&quot;text\&quot;: \&quot;first button\&quot;, \&quot;icon\&quot;: \&quot;ic_menu_send\&quot;}]  | [optional] 
+**WebButtons** | Pointer to [**[]Button**](Button.md) | Channel: Push Notifications Platform: Chrome 48+ Add action buttons to the notification. The id field is required. Example: [{\&quot;id\&quot;: \&quot;like-button\&quot;, \&quot;text\&quot;: \&quot;Like\&quot;, \&quot;icon\&quot;: \&quot;http://i.imgur.com/N8SN8ZS.png\&quot;, \&quot;url\&quot;: \&quot;https://yoursite.com\&quot;}, {\&quot;id\&quot;: \&quot;read-more-button\&quot;, \&quot;text\&quot;: \&quot;Read more\&quot;, \&quot;icon\&quot;: \&quot;http://i.imgur.com/MIxJp1L.png\&quot;, \&quot;url\&quot;: \&quot;https://yoursite.com\&quot;}]  | [optional] 
+**IosCategory** | Pointer to **string** | Channel: Push Notifications Platform: iOS Category APS payload, use with registerUserNotificationSettings:categories in your Objective-C / Swift code. Example: calendar category which contains actions like accept and decline iOS 10+ This will trigger your UNNotificationContentExtension whose ID matches this category.  | [optional] 
+**AndroidChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Android The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it&#39;s id.  | [optional] 
+**HuaweiChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Huawei The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it&#39;s id.  | [optional] 
+**ExistingAndroidChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Android Use this if you have client side Android Oreo Channels you have already defined in your app with code.  | [optional] 
+**HuaweiExistingChannelId** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Use this if you have client side Android Oreo Channels you have already defined in your app with code.  | [optional] 
+**AndroidBackgroundLayout** | Pointer to [**NotificationAllOfAndroidBackgroundLayout**](NotificationAllOfAndroidBackgroundLayout.md) |  | [optional] 
+**SmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Android Icon shown in the status bar and on the top left of the notification. If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons  | [optional] 
+**HuaweiSmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Icon shown in the status bar and on the top left of the notification. Use an Android resource path (E.g. /drawable/small_icon). Defaults to your app icon if not set.  | [optional] 
+**LargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Android Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**HuaweiLargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**AdmSmallIcon** | Pointer to **string** | Channel: Push Notifications Platform: Amazon If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons  | [optional] 
+**AdmLargeIcon** | Pointer to **string** | Channel: Push Notifications Platform: Amazon If blank the small_icon is used. Can be a drawable resource name or a URL. See: How to create large icons  | [optional] 
+**ChromeWebIcon** | Pointer to **string** | Channel: Push Notifications Platform: Chrome Sets the web push notification&#39;s icon. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. Firefox will also use this icon, unless you specify firefox_icon.  | [optional] 
+**ChromeWebBadge** | Pointer to **string** | Channel: Push Notifications Platform: Chrome Sets the web push notification icon for Android devices in the notification shade. Please see Web Push Notification Badge.  | [optional] 
+**FirefoxIcon** | Pointer to **string** | Channel: Push Notifications Platform: Firefox Not recommended Few people need to set Firefox-specific icons. We recommend setting chrome_web_icon instead, which Firefox will also use. Sets the web push notification&#39;s icon for Firefox. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices.  | [optional] 
+**ChromeIcon** | Pointer to **string** | Channel: Push Notifications Platform: ChromeApp This flag is not used for web push For web push, please see chrome_web_icon instead. The local URL to an icon to use. If blank, the app icon will be used.  | [optional] 
+**IosSound** | Pointer to **string** | Channel: Push Notifications Platform: iOS Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable vibration and sound for the notification. Example: \&quot;notification.wav\&quot;  | [optional] 
+**AndroidSound** | Pointer to **string** | Channel: Push Notifications Platform: Android &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \&quot;notification\&quot;  | [optional] 
+**HuaweiSound** | Pointer to **string** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sound file that is included in your app to play instead of the default device notification sound. NOTE: Leave off file extension for and include the full path.  Example: \&quot;/res/raw/notification\&quot;  | [optional] 
+**AdmSound** | Pointer to **string** | Channel: Push Notifications Platform: Amazon &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \&quot;notification\&quot;  | [optional] 
+**WpWnsSound** | Pointer to **string** | Channel: Push Notifications Platform: Windows Sound file that is included in your app to play instead of the default device notification sound. Example: \&quot;notification.wav\&quot;  | [optional] 
+**AndroidLedColor** | Pointer to **string** | Channel: Push Notifications Platform: Android &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sets the devices LED notification light if the device has one. ARGB Hex format. Example(Blue): \&quot;FF0000FF\&quot;  | [optional] 
+**HuaweiLedColor** | Pointer to **string** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sets the devices LED notification light if the device has one. RGB Hex format. Example(Blue): \&quot;0000FF\&quot;  | [optional] 
+**AndroidAccentColor** | Pointer to **string** | Channel: Push Notifications Platform: Android Sets the background color of the notification circle to the left of the notification text. Only applies to apps targeting Android API level 21+ on Android 5.0+ devices. Example(Red): \&quot;FFFF0000\&quot;  | [optional] 
+**HuaweiAccentColor** | Pointer to **string** | Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device&#39;s theme color if not set.  | [optional] 
+**AndroidVisibility** | Pointer to **int32** | Channel: Push Notifications Platform: Android 5.0_ &amp;#9888;&amp;#65039;Deprecated, this field doesn&#39;t work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. 1 &#x3D; Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 &#x3D; Private (Hides message contents on lock screen if the user set \&quot;Hide sensitive notification content\&quot; in the system settings) -1 &#x3D; Secret (Notification does not show on the lock screen at all)  | [optional] 
+**HuaweiVisibility** | Pointer to **int32** | Channel: Push Notifications Platform: Huawei &amp;#9888;&amp;#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. 1 &#x3D; Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 &#x3D; Private (Hides message contents on lock screen if the user set \&quot;Hide sensitive notification content\&quot; in the system settings) -1 &#x3D; Secret (Notification does not show on the lock screen at all)  | [optional] 
+**IosBadgeType** | Pointer to **string** | Channel: Push Notifications Platform: iOS Describes whether to set or increase/decrease your app&#39;s iOS badge count by the ios_badgeCount specified count. Can specify None, SetTo, or Increase. &#x60;None&#x60; leaves the count unaffected. &#x60;SetTo&#x60; directly sets the badge count to the number specified in ios_badgeCount. &#x60;Increase&#x60; adds the number specified in ios_badgeCount to the total. Use a negative number to decrease the badge count.  | [optional] 
+**IosBadgeCount** | Pointer to **int32** | Channel: Push Notifications Platform: iOS Used with ios_badgeType, describes the value to set or amount to increase/decrease your app&#39;s iOS badge count by. You can use a negative number to decrease the badge count when used with an ios_badgeType of Increase.  | [optional] 
+**CollapseId** | Pointer to **string** | Channel: Push Notifications Platform: iOS 10+, Android Only one notification with the same id will be shown on the device. Use the same id to update an existing notification instead of showing a new one. Limit of 64 characters.  | [optional] 
+**WebPushTopic** | Pointer to **string** | Channel: Push Notifications Platform: All Browsers Display multiple notifications at once with different topics.  | [optional] 
+**ApnsAlert** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: iOS 10+ iOS can localize push notification messages on the client using special parameters such as loc-key. When using the Create Notification endpoint, you must include these parameters inside of a field called apns_alert. Please see Apple&#39;s guide on localizing push notifications to learn more.  | [optional] 
+**SendAfter** | Pointer to **string** | Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date &amp; time. \&quot;Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\&quot; \&quot;September 24th 2015, 2:00:00 pm UTC-07:00\&quot; \&quot;2015-09-24 14:00:00 GMT-0700\&quot; \&quot;Sept 24 2015 14:00:00 GMT-0700\&quot; \&quot;Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\&quot; Note: SMS currently only supports send_after parameter.  | [optional] 
+**DelayedOption** | Pointer to **string** | Channel: All Possible values are: timezone (Deliver at a specific time-of-day in each users own timezone) last-active Same as Intelligent Delivery . (Deliver at the same time of day as each user last used your app). If send_after is used, this takes effect after the send_after time has elapsed.  | [optional] 
+**DeliveryTimeOfDay** | Pointer to **string** | Channel: All Use with delayed_option&#x3D;timezone. Examples: \&quot;9:00AM\&quot; \&quot;21:45\&quot; \&quot;9:45:30\&quot;  | [optional] 
+**Ttl** | Pointer to **int32** | Channel: Push Notifications Platform: iOS, Android, Chrome, Firefox, Safari, ChromeWeb Time To Live - In seconds. The notification will be expired if the device does not come back online within this time. The default is 259,200 seconds (3 days). Max value to set is 2419200 seconds (28 days).  | [optional] 
+**Priority** | Pointer to **int32** | Channel: Push Notifications Platform: Android, Chrome, ChromeWeb Delivery priority through the push server (example GCM/FCM). Pass 10 for high priority or any other integer for normal priority. Defaults to normal priority for Android and high for iOS. For Android 6.0+ devices setting priority to high will wake the device out of doze mode.  | [optional] 
+**ApnsPushTypeOverride** | Pointer to **string** | Channel: Push Notifications Platform: iOS valid values: voip Set the value to voip for sending VoIP Notifications This field maps to the APNS header apns-push-type. Note: alert and background are automatically set by OneSignal  | [optional] 
+**ThrottleRatePerMinute** | Pointer to **string** | Channel: All Apps with throttling enabled:   - the parameter value will be used to override the default application throttling value set from the dashboard settings.   - parameter value 0 indicates not to apply throttling to the notification.   - if the parameter is not passed then the default app throttling value will be applied to the notification. Apps with throttling disabled:   - this parameter can be used to throttle delivery for the notification even though throttling is not enabled at the application level. Refer to throttling for more details.  | [optional] 
+**AndroidGroup** | Pointer to **string** | Channel: Push Notifications Platform: Android Notifications with the same group will be stacked together using Android&#39;s Notification Grouping feature.  | [optional] 
+**AndroidGroupMessage** | Pointer to **string** | Channel: Push Notifications Platform: Android Note: This only works for Android 6 and older. Android 7+ allows full expansion of all message. Summary message to display when 2+ notifications are stacked together. Default is \&quot;# new messages\&quot;. Include $[notif_count] in your message and it will be replaced with the current number. Languages - The value of each key is the message that will be sent to users for that language. \&quot;en\&quot; (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. Read more: supported languages. Example: {\&quot;en\&quot;: \&quot;You have $[notif_count] new messages\&quot;}  | [optional] 
+**AdmGroup** | Pointer to **string** | Channel: Push Notifications Platform: Amazon Notifications with the same group will be stacked together using Android&#39;s Notification Grouping feature.  | [optional] 
+**AdmGroupMessage** | Pointer to **map[string]interface{}** | Channel: Push Notifications Platform: Amazon Summary message to display when 2+ notifications are stacked together. Default is \&quot;# new messages\&quot;. Include $[notif_count] in your message and it will be replaced with the current number. \&quot;en\&quot; (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. The value of each key is the message that will be sent to users for that language. Example: {\&quot;en\&quot;: \&quot;You have $[notif_count] new messages\&quot;}  | [optional] 
+**ThreadId** | Pointer to **string** | Channel: Push Notifications Platform: iOS 12+ This parameter is supported in iOS 12 and above. It allows you to group related notifications together. If two notifications have the same thread-id, they will both be added to the same group.  | [optional] 
+**SummaryArg** | Pointer to **string** | Channel: Push Notifications Platform: iOS 12+ When using thread_id to create grouped notifications in iOS 12+, you can also control the summary. For example, a grouped notification can say \&quot;12 more notifications from John Doe\&quot;. The summary_arg lets you set the name of the person/thing the notifications are coming from, and will show up as \&quot;X more notifications from summary_arg\&quot;  | [optional] 
+**SummaryArgCount** | Pointer to **int32** | Channel: Push Notifications Platform: iOS 12+ When using thread_id, you can also control the count of the number of notifications in the group. For example, if the group already has 12 notifications, and you send a new notification with summary_arg_count &#x3D; 2, the new total will be 14 and the summary will be \&quot;14 more notifications from summary_arg\&quot;  | [optional] 
+**EmailSubect** | Pointer to **string** | Channel: Email Required.  The subject of the email.  | [optional] 
+**EmailBody** | Pointer to **string** | Channel: Email Required unless template_id is set. HTML suported The body of the email you wish to send. Typically, customers include their own HTML templates here. Must include [unsubscribe_url] in an &lt;a&gt; tag somewhere in the email. Note: any malformed HTML content will be sent to users. Please double-check your HTML is valid.  | [optional] 
+**EmailFromName** | Pointer to **string** | Channel: Email The name the email is from. If not specified, will default to \&quot;from name\&quot; set in the OneSignal Dashboard Email Settings.  | [optional] 
+**EmailFromAddress** | Pointer to **string** | Channel: Email The email address the email is from. If not specified, will default to \&quot;from email\&quot; set in the OneSignal Dashboard Email Settings.  | [optional] 
+**SmsFrom** | Pointer to **string** | Channel: SMS Phone Number used to send SMS. Should be a registered Twilio phone number in E.164 format.  | [optional] 
+**SmsMediaUrls** | Pointer to **[]string** | Channel: SMS URLs for the media files to be attached to the SMS content. Limit: 10 media urls with a total max. size of 5MBs.  | [optional] 
+
+## Methods
+
+### NewNotificationAllOf
+
+`func NewNotificationAllOf() *NotificationAllOf`
+
+NewNotificationAllOf instantiates a new NotificationAllOf object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotificationAllOfWithDefaults
+
+`func NewNotificationAllOfWithDefaults() *NotificationAllOf`
+
+NewNotificationAllOfWithDefaults instantiates a new NotificationAllOf object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *NotificationAllOf) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *NotificationAllOf) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *NotificationAllOf) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *NotificationAllOf) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *NotificationAllOf) GetValue() int32`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *NotificationAllOf) GetValueOk() (*int32, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *NotificationAllOf) SetValue(v int32)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *NotificationAllOf) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+### GetAggregation
+
+`func (o *NotificationAllOf) GetAggregation() string`
+
+GetAggregation returns the Aggregation field if non-nil, zero value otherwise.
+
+### GetAggregationOk
+
+`func (o *NotificationAllOf) GetAggregationOk() (*string, bool)`
+
+GetAggregationOk returns a tuple with the Aggregation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAggregation
+
+`func (o *NotificationAllOf) SetAggregation(v string)`
+
+SetAggregation sets Aggregation field to given value.
+
+### HasAggregation
+
+`func (o *NotificationAllOf) HasAggregation() bool`
+
+HasAggregation returns a boolean if a field has been set.
+
+### GetIsIos
+
+`func (o *NotificationAllOf) GetIsIos() bool`
+
+GetIsIos returns the IsIos field if non-nil, zero value otherwise.
+
+### GetIsIosOk
+
+`func (o *NotificationAllOf) GetIsIosOk() (*bool, bool)`
+
+GetIsIosOk returns a tuple with the IsIos field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsIos
+
+`func (o *NotificationAllOf) SetIsIos(v bool)`
+
+SetIsIos sets IsIos field to given value.
+
+### HasIsIos
+
+`func (o *NotificationAllOf) HasIsIos() bool`
+
+HasIsIos returns a boolean if a field has been set.
+
+### GetIsAndroid
+
+`func (o *NotificationAllOf) GetIsAndroid() bool`
+
+GetIsAndroid returns the IsAndroid field if non-nil, zero value otherwise.
+
+### GetIsAndroidOk
+
+`func (o *NotificationAllOf) GetIsAndroidOk() (*bool, bool)`
+
+GetIsAndroidOk returns a tuple with the IsAndroid field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAndroid
+
+`func (o *NotificationAllOf) SetIsAndroid(v bool)`
+
+SetIsAndroid sets IsAndroid field to given value.
+
+### HasIsAndroid
+
+`func (o *NotificationAllOf) HasIsAndroid() bool`
+
+HasIsAndroid returns a boolean if a field has been set.
+
+### GetIsHuawei
+
+`func (o *NotificationAllOf) GetIsHuawei() bool`
+
+GetIsHuawei returns the IsHuawei field if non-nil, zero value otherwise.
+
+### GetIsHuaweiOk
+
+`func (o *NotificationAllOf) GetIsHuaweiOk() (*bool, bool)`
+
+GetIsHuaweiOk returns a tuple with the IsHuawei field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsHuawei
+
+`func (o *NotificationAllOf) SetIsHuawei(v bool)`
+
+SetIsHuawei sets IsHuawei field to given value.
+
+### HasIsHuawei
+
+`func (o *NotificationAllOf) HasIsHuawei() bool`
+
+HasIsHuawei returns a boolean if a field has been set.
+
+### GetIsAnyWeb
+
+`func (o *NotificationAllOf) GetIsAnyWeb() bool`
+
+GetIsAnyWeb returns the IsAnyWeb field if non-nil, zero value otherwise.
+
+### GetIsAnyWebOk
+
+`func (o *NotificationAllOf) GetIsAnyWebOk() (*bool, bool)`
+
+GetIsAnyWebOk returns a tuple with the IsAnyWeb field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAnyWeb
+
+`func (o *NotificationAllOf) SetIsAnyWeb(v bool)`
+
+SetIsAnyWeb sets IsAnyWeb field to given value.
+
+### HasIsAnyWeb
+
+`func (o *NotificationAllOf) HasIsAnyWeb() bool`
+
+HasIsAnyWeb returns a boolean if a field has been set.
+
+### GetIsChromeWeb
+
+`func (o *NotificationAllOf) GetIsChromeWeb() bool`
+
+GetIsChromeWeb returns the IsChromeWeb field if non-nil, zero value otherwise.
+
+### GetIsChromeWebOk
+
+`func (o *NotificationAllOf) GetIsChromeWebOk() (*bool, bool)`
+
+GetIsChromeWebOk returns a tuple with the IsChromeWeb field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsChromeWeb
+
+`func (o *NotificationAllOf) SetIsChromeWeb(v bool)`
+
+SetIsChromeWeb sets IsChromeWeb field to given value.
+
+### HasIsChromeWeb
+
+`func (o *NotificationAllOf) HasIsChromeWeb() bool`
+
+HasIsChromeWeb returns a boolean if a field has been set.
+
+### GetIsFirefox
+
+`func (o *NotificationAllOf) GetIsFirefox() bool`
+
+GetIsFirefox returns the IsFirefox field if non-nil, zero value otherwise.
+
+### GetIsFirefoxOk
+
+`func (o *NotificationAllOf) GetIsFirefoxOk() (*bool, bool)`
+
+GetIsFirefoxOk returns a tuple with the IsFirefox field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsFirefox
+
+`func (o *NotificationAllOf) SetIsFirefox(v bool)`
+
+SetIsFirefox sets IsFirefox field to given value.
+
+### HasIsFirefox
+
+`func (o *NotificationAllOf) HasIsFirefox() bool`
+
+HasIsFirefox returns a boolean if a field has been set.
+
+### GetIsSafari
+
+`func (o *NotificationAllOf) GetIsSafari() bool`
+
+GetIsSafari returns the IsSafari field if non-nil, zero value otherwise.
+
+### GetIsSafariOk
+
+`func (o *NotificationAllOf) GetIsSafariOk() (*bool, bool)`
+
+GetIsSafariOk returns a tuple with the IsSafari field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsSafari
+
+`func (o *NotificationAllOf) SetIsSafari(v bool)`
+
+SetIsSafari sets IsSafari field to given value.
+
+### HasIsSafari
+
+`func (o *NotificationAllOf) HasIsSafari() bool`
+
+HasIsSafari returns a boolean if a field has been set.
+
+### GetIsWPWNS
+
+`func (o *NotificationAllOf) GetIsWPWNS() bool`
+
+GetIsWPWNS returns the IsWPWNS field if non-nil, zero value otherwise.
+
+### GetIsWPWNSOk
+
+`func (o *NotificationAllOf) GetIsWPWNSOk() (*bool, bool)`
+
+GetIsWPWNSOk returns a tuple with the IsWPWNS field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsWPWNS
+
+`func (o *NotificationAllOf) SetIsWPWNS(v bool)`
+
+SetIsWPWNS sets IsWPWNS field to given value.
+
+### HasIsWPWNS
+
+`func (o *NotificationAllOf) HasIsWPWNS() bool`
+
+HasIsWPWNS returns a boolean if a field has been set.
+
+### GetIsAdm
+
+`func (o *NotificationAllOf) GetIsAdm() bool`
+
+GetIsAdm returns the IsAdm field if non-nil, zero value otherwise.
+
+### GetIsAdmOk
+
+`func (o *NotificationAllOf) GetIsAdmOk() (*bool, bool)`
+
+GetIsAdmOk returns a tuple with the IsAdm field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsAdm
+
+`func (o *NotificationAllOf) SetIsAdm(v bool)`
+
+SetIsAdm sets IsAdm field to given value.
+
+### HasIsAdm
+
+`func (o *NotificationAllOf) HasIsAdm() bool`
+
+HasIsAdm returns a boolean if a field has been set.
+
+### GetIsChrome
+
+`func (o *NotificationAllOf) GetIsChrome() bool`
+
+GetIsChrome returns the IsChrome field if non-nil, zero value otherwise.
+
+### GetIsChromeOk
+
+`func (o *NotificationAllOf) GetIsChromeOk() (*bool, bool)`
+
+GetIsChromeOk returns a tuple with the IsChrome field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsChrome
+
+`func (o *NotificationAllOf) SetIsChrome(v bool)`
+
+SetIsChrome sets IsChrome field to given value.
+
+### HasIsChrome
+
+`func (o *NotificationAllOf) HasIsChrome() bool`
+
+HasIsChrome returns a boolean if a field has been set.
+
+### GetChannelForExternalUserIds
+
+`func (o *NotificationAllOf) GetChannelForExternalUserIds() string`
+
+GetChannelForExternalUserIds returns the ChannelForExternalUserIds field if non-nil, zero value otherwise.
+
+### GetChannelForExternalUserIdsOk
+
+`func (o *NotificationAllOf) GetChannelForExternalUserIdsOk() (*string, bool)`
+
+GetChannelForExternalUserIdsOk returns a tuple with the ChannelForExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChannelForExternalUserIds
+
+`func (o *NotificationAllOf) SetChannelForExternalUserIds(v string)`
+
+SetChannelForExternalUserIds sets ChannelForExternalUserIds field to given value.
+
+### HasChannelForExternalUserIds
+
+`func (o *NotificationAllOf) HasChannelForExternalUserIds() bool`
+
+HasChannelForExternalUserIds returns a boolean if a field has been set.
+
+### GetAppId
+
+`func (o *NotificationAllOf) GetAppId() string`
+
+GetAppId returns the AppId field if non-nil, zero value otherwise.
+
+### GetAppIdOk
+
+`func (o *NotificationAllOf) GetAppIdOk() (*string, bool)`
+
+GetAppIdOk returns a tuple with the AppId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppId
+
+`func (o *NotificationAllOf) SetAppId(v string)`
+
+SetAppId sets AppId field to given value.
+
+### HasAppId
+
+`func (o *NotificationAllOf) HasAppId() bool`
+
+HasAppId returns a boolean if a field has been set.
+
+### GetExternalId
+
+`func (o *NotificationAllOf) GetExternalId() string`
+
+GetExternalId returns the ExternalId field if non-nil, zero value otherwise.
+
+### GetExternalIdOk
+
+`func (o *NotificationAllOf) GetExternalIdOk() (*string, bool)`
+
+GetExternalIdOk returns a tuple with the ExternalId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExternalId
+
+`func (o *NotificationAllOf) SetExternalId(v string)`
+
+SetExternalId sets ExternalId field to given value.
+
+### HasExternalId
+
+`func (o *NotificationAllOf) HasExternalId() bool`
+
+HasExternalId returns a boolean if a field has been set.
+
+### GetContents
+
+`func (o *NotificationAllOf) GetContents() StringMap`
+
+GetContents returns the Contents field if non-nil, zero value otherwise.
+
+### GetContentsOk
+
+`func (o *NotificationAllOf) GetContentsOk() (*StringMap, bool)`
+
+GetContentsOk returns a tuple with the Contents field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetContents
+
+`func (o *NotificationAllOf) SetContents(v StringMap)`
+
+SetContents sets Contents field to given value.
+
+### HasContents
+
+`func (o *NotificationAllOf) HasContents() bool`
+
+HasContents returns a boolean if a field has been set.
+
+### SetContentsNil
+
+`func (o *NotificationAllOf) SetContentsNil(b bool)`
+
+ SetContentsNil sets the value for Contents to be an explicit nil
+
+### UnsetContents
+`func (o *NotificationAllOf) UnsetContents()`
+
+UnsetContents ensures that no value is present for Contents, not even an explicit nil
+### GetHeadings
+
+`func (o *NotificationAllOf) GetHeadings() StringMap`
+
+GetHeadings returns the Headings field if non-nil, zero value otherwise.
+
+### GetHeadingsOk
+
+`func (o *NotificationAllOf) GetHeadingsOk() (*StringMap, bool)`
+
+GetHeadingsOk returns a tuple with the Headings field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHeadings
+
+`func (o *NotificationAllOf) SetHeadings(v StringMap)`
+
+SetHeadings sets Headings field to given value.
+
+### HasHeadings
+
+`func (o *NotificationAllOf) HasHeadings() bool`
+
+HasHeadings returns a boolean if a field has been set.
+
+### SetHeadingsNil
+
+`func (o *NotificationAllOf) SetHeadingsNil(b bool)`
+
+ SetHeadingsNil sets the value for Headings to be an explicit nil
+
+### UnsetHeadings
+`func (o *NotificationAllOf) UnsetHeadings()`
+
+UnsetHeadings ensures that no value is present for Headings, not even an explicit nil
+### GetSubtitle
+
+`func (o *NotificationAllOf) GetSubtitle() StringMap`
+
+GetSubtitle returns the Subtitle field if non-nil, zero value otherwise.
+
+### GetSubtitleOk
+
+`func (o *NotificationAllOf) GetSubtitleOk() (*StringMap, bool)`
+
+GetSubtitleOk returns a tuple with the Subtitle field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSubtitle
+
+`func (o *NotificationAllOf) SetSubtitle(v StringMap)`
+
+SetSubtitle sets Subtitle field to given value.
+
+### HasSubtitle
+
+`func (o *NotificationAllOf) HasSubtitle() bool`
+
+HasSubtitle returns a boolean if a field has been set.
+
+### SetSubtitleNil
+
+`func (o *NotificationAllOf) SetSubtitleNil(b bool)`
+
+ SetSubtitleNil sets the value for Subtitle to be an explicit nil
+
+### UnsetSubtitle
+`func (o *NotificationAllOf) UnsetSubtitle()`
+
+UnsetSubtitle ensures that no value is present for Subtitle, not even an explicit nil
+### GetData
+
+`func (o *NotificationAllOf) GetData() map[string]interface{}`
+
+GetData returns the Data field if non-nil, zero value otherwise.
+
+### GetDataOk
+
+`func (o *NotificationAllOf) GetDataOk() (*map[string]interface{}, bool)`
+
+GetDataOk returns a tuple with the Data field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetData
+
+`func (o *NotificationAllOf) SetData(v map[string]interface{})`
+
+SetData sets Data field to given value.
+
+### HasData
+
+`func (o *NotificationAllOf) HasData() bool`
+
+HasData returns a boolean if a field has been set.
+
+### GetHuaweiMsgType
+
+`func (o *NotificationAllOf) GetHuaweiMsgType() string`
+
+GetHuaweiMsgType returns the HuaweiMsgType field if non-nil, zero value otherwise.
+
+### GetHuaweiMsgTypeOk
+
+`func (o *NotificationAllOf) GetHuaweiMsgTypeOk() (*string, bool)`
+
+GetHuaweiMsgTypeOk returns a tuple with the HuaweiMsgType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiMsgType
+
+`func (o *NotificationAllOf) SetHuaweiMsgType(v string)`
+
+SetHuaweiMsgType sets HuaweiMsgType field to given value.
+
+### HasHuaweiMsgType
+
+`func (o *NotificationAllOf) HasHuaweiMsgType() bool`
+
+HasHuaweiMsgType returns a boolean if a field has been set.
+
+### GetUrl
+
+`func (o *NotificationAllOf) GetUrl() string`
+
+GetUrl returns the Url field if non-nil, zero value otherwise.
+
+### GetUrlOk
+
+`func (o *NotificationAllOf) GetUrlOk() (*string, bool)`
+
+GetUrlOk returns a tuple with the Url field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUrl
+
+`func (o *NotificationAllOf) SetUrl(v string)`
+
+SetUrl sets Url field to given value.
+
+### HasUrl
+
+`func (o *NotificationAllOf) HasUrl() bool`
+
+HasUrl returns a boolean if a field has been set.
+
+### GetWebUrl
+
+`func (o *NotificationAllOf) GetWebUrl() string`
+
+GetWebUrl returns the WebUrl field if non-nil, zero value otherwise.
+
+### GetWebUrlOk
+
+`func (o *NotificationAllOf) GetWebUrlOk() (*string, bool)`
+
+GetWebUrlOk returns a tuple with the WebUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebUrl
+
+`func (o *NotificationAllOf) SetWebUrl(v string)`
+
+SetWebUrl sets WebUrl field to given value.
+
+### HasWebUrl
+
+`func (o *NotificationAllOf) HasWebUrl() bool`
+
+HasWebUrl returns a boolean if a field has been set.
+
+### GetAppUrl
+
+`func (o *NotificationAllOf) GetAppUrl() string`
+
+GetAppUrl returns the AppUrl field if non-nil, zero value otherwise.
+
+### GetAppUrlOk
+
+`func (o *NotificationAllOf) GetAppUrlOk() (*string, bool)`
+
+GetAppUrlOk returns a tuple with the AppUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppUrl
+
+`func (o *NotificationAllOf) SetAppUrl(v string)`
+
+SetAppUrl sets AppUrl field to given value.
+
+### HasAppUrl
+
+`func (o *NotificationAllOf) HasAppUrl() bool`
+
+HasAppUrl returns a boolean if a field has been set.
+
+### GetIosAttachments
+
+`func (o *NotificationAllOf) GetIosAttachments() map[string]interface{}`
+
+GetIosAttachments returns the IosAttachments field if non-nil, zero value otherwise.
+
+### GetIosAttachmentsOk
+
+`func (o *NotificationAllOf) GetIosAttachmentsOk() (*map[string]interface{}, bool)`
+
+GetIosAttachmentsOk returns a tuple with the IosAttachments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosAttachments
+
+`func (o *NotificationAllOf) SetIosAttachments(v map[string]interface{})`
+
+SetIosAttachments sets IosAttachments field to given value.
+
+### HasIosAttachments
+
+`func (o *NotificationAllOf) HasIosAttachments() bool`
+
+HasIosAttachments returns a boolean if a field has been set.
+
+### GetTemplateId
+
+`func (o *NotificationAllOf) GetTemplateId() string`
+
+GetTemplateId returns the TemplateId field if non-nil, zero value otherwise.
+
+### GetTemplateIdOk
+
+`func (o *NotificationAllOf) GetTemplateIdOk() (*string, bool)`
+
+GetTemplateIdOk returns a tuple with the TemplateId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTemplateId
+
+`func (o *NotificationAllOf) SetTemplateId(v string)`
+
+SetTemplateId sets TemplateId field to given value.
+
+### HasTemplateId
+
+`func (o *NotificationAllOf) HasTemplateId() bool`
+
+HasTemplateId returns a boolean if a field has been set.
+
+### GetContentAvailable
+
+`func (o *NotificationAllOf) GetContentAvailable() bool`
+
+GetContentAvailable returns the ContentAvailable field if non-nil, zero value otherwise.
+
+### GetContentAvailableOk
+
+`func (o *NotificationAllOf) GetContentAvailableOk() (*bool, bool)`
+
+GetContentAvailableOk returns a tuple with the ContentAvailable field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetContentAvailable
+
+`func (o *NotificationAllOf) SetContentAvailable(v bool)`
+
+SetContentAvailable sets ContentAvailable field to given value.
+
+### HasContentAvailable
+
+`func (o *NotificationAllOf) HasContentAvailable() bool`
+
+HasContentAvailable returns a boolean if a field has been set.
+
+### GetMutableContent
+
+`func (o *NotificationAllOf) GetMutableContent() bool`
+
+GetMutableContent returns the MutableContent field if non-nil, zero value otherwise.
+
+### GetMutableContentOk
+
+`func (o *NotificationAllOf) GetMutableContentOk() (*bool, bool)`
+
+GetMutableContentOk returns a tuple with the MutableContent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMutableContent
+
+`func (o *NotificationAllOf) SetMutableContent(v bool)`
+
+SetMutableContent sets MutableContent field to given value.
+
+### HasMutableContent
+
+`func (o *NotificationAllOf) HasMutableContent() bool`
+
+HasMutableContent returns a boolean if a field has been set.
+
+### GetTargetContentIdentifier
+
+`func (o *NotificationAllOf) GetTargetContentIdentifier() string`
+
+GetTargetContentIdentifier returns the TargetContentIdentifier field if non-nil, zero value otherwise.
+
+### GetTargetContentIdentifierOk
+
+`func (o *NotificationAllOf) GetTargetContentIdentifierOk() (*string, bool)`
+
+GetTargetContentIdentifierOk returns a tuple with the TargetContentIdentifier field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTargetContentIdentifier
+
+`func (o *NotificationAllOf) SetTargetContentIdentifier(v string)`
+
+SetTargetContentIdentifier sets TargetContentIdentifier field to given value.
+
+### HasTargetContentIdentifier
+
+`func (o *NotificationAllOf) HasTargetContentIdentifier() bool`
+
+HasTargetContentIdentifier returns a boolean if a field has been set.
+
+### GetBigPicture
+
+`func (o *NotificationAllOf) GetBigPicture() string`
+
+GetBigPicture returns the BigPicture field if non-nil, zero value otherwise.
+
+### GetBigPictureOk
+
+`func (o *NotificationAllOf) GetBigPictureOk() (*string, bool)`
+
+GetBigPictureOk returns a tuple with the BigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBigPicture
+
+`func (o *NotificationAllOf) SetBigPicture(v string)`
+
+SetBigPicture sets BigPicture field to given value.
+
+### HasBigPicture
+
+`func (o *NotificationAllOf) HasBigPicture() bool`
+
+HasBigPicture returns a boolean if a field has been set.
+
+### GetHuaweiBigPicture
+
+`func (o *NotificationAllOf) GetHuaweiBigPicture() string`
+
+GetHuaweiBigPicture returns the HuaweiBigPicture field if non-nil, zero value otherwise.
+
+### GetHuaweiBigPictureOk
+
+`func (o *NotificationAllOf) GetHuaweiBigPictureOk() (*string, bool)`
+
+GetHuaweiBigPictureOk returns a tuple with the HuaweiBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiBigPicture
+
+`func (o *NotificationAllOf) SetHuaweiBigPicture(v string)`
+
+SetHuaweiBigPicture sets HuaweiBigPicture field to given value.
+
+### HasHuaweiBigPicture
+
+`func (o *NotificationAllOf) HasHuaweiBigPicture() bool`
+
+HasHuaweiBigPicture returns a boolean if a field has been set.
+
+### GetAdmBigPicture
+
+`func (o *NotificationAllOf) GetAdmBigPicture() string`
+
+GetAdmBigPicture returns the AdmBigPicture field if non-nil, zero value otherwise.
+
+### GetAdmBigPictureOk
+
+`func (o *NotificationAllOf) GetAdmBigPictureOk() (*string, bool)`
+
+GetAdmBigPictureOk returns a tuple with the AdmBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmBigPicture
+
+`func (o *NotificationAllOf) SetAdmBigPicture(v string)`
+
+SetAdmBigPicture sets AdmBigPicture field to given value.
+
+### HasAdmBigPicture
+
+`func (o *NotificationAllOf) HasAdmBigPicture() bool`
+
+HasAdmBigPicture returns a boolean if a field has been set.
+
+### GetChromeBigPicture
+
+`func (o *NotificationAllOf) GetChromeBigPicture() string`
+
+GetChromeBigPicture returns the ChromeBigPicture field if non-nil, zero value otherwise.
+
+### GetChromeBigPictureOk
+
+`func (o *NotificationAllOf) GetChromeBigPictureOk() (*string, bool)`
+
+GetChromeBigPictureOk returns a tuple with the ChromeBigPicture field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeBigPicture
+
+`func (o *NotificationAllOf) SetChromeBigPicture(v string)`
+
+SetChromeBigPicture sets ChromeBigPicture field to given value.
+
+### HasChromeBigPicture
+
+`func (o *NotificationAllOf) HasChromeBigPicture() bool`
+
+HasChromeBigPicture returns a boolean if a field has been set.
+
+### GetChromeWebImage
+
+`func (o *NotificationAllOf) GetChromeWebImage() string`
+
+GetChromeWebImage returns the ChromeWebImage field if non-nil, zero value otherwise.
+
+### GetChromeWebImageOk
+
+`func (o *NotificationAllOf) GetChromeWebImageOk() (*string, bool)`
+
+GetChromeWebImageOk returns a tuple with the ChromeWebImage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebImage
+
+`func (o *NotificationAllOf) SetChromeWebImage(v string)`
+
+SetChromeWebImage sets ChromeWebImage field to given value.
+
+### HasChromeWebImage
+
+`func (o *NotificationAllOf) HasChromeWebImage() bool`
+
+HasChromeWebImage returns a boolean if a field has been set.
+
+### GetButtons
+
+`func (o *NotificationAllOf) GetButtons() []Button`
+
+GetButtons returns the Buttons field if non-nil, zero value otherwise.
+
+### GetButtonsOk
+
+`func (o *NotificationAllOf) GetButtonsOk() (*[]Button, bool)`
+
+GetButtonsOk returns a tuple with the Buttons field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetButtons
+
+`func (o *NotificationAllOf) SetButtons(v []Button)`
+
+SetButtons sets Buttons field to given value.
+
+### HasButtons
+
+`func (o *NotificationAllOf) HasButtons() bool`
+
+HasButtons returns a boolean if a field has been set.
+
+### GetWebButtons
+
+`func (o *NotificationAllOf) GetWebButtons() []Button`
+
+GetWebButtons returns the WebButtons field if non-nil, zero value otherwise.
+
+### GetWebButtonsOk
+
+`func (o *NotificationAllOf) GetWebButtonsOk() (*[]Button, bool)`
+
+GetWebButtonsOk returns a tuple with the WebButtons field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebButtons
+
+`func (o *NotificationAllOf) SetWebButtons(v []Button)`
+
+SetWebButtons sets WebButtons field to given value.
+
+### HasWebButtons
+
+`func (o *NotificationAllOf) HasWebButtons() bool`
+
+HasWebButtons returns a boolean if a field has been set.
+
+### GetIosCategory
+
+`func (o *NotificationAllOf) GetIosCategory() string`
+
+GetIosCategory returns the IosCategory field if non-nil, zero value otherwise.
+
+### GetIosCategoryOk
+
+`func (o *NotificationAllOf) GetIosCategoryOk() (*string, bool)`
+
+GetIosCategoryOk returns a tuple with the IosCategory field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosCategory
+
+`func (o *NotificationAllOf) SetIosCategory(v string)`
+
+SetIosCategory sets IosCategory field to given value.
+
+### HasIosCategory
+
+`func (o *NotificationAllOf) HasIosCategory() bool`
+
+HasIosCategory returns a boolean if a field has been set.
+
+### GetAndroidChannelId
+
+`func (o *NotificationAllOf) GetAndroidChannelId() string`
+
+GetAndroidChannelId returns the AndroidChannelId field if non-nil, zero value otherwise.
+
+### GetAndroidChannelIdOk
+
+`func (o *NotificationAllOf) GetAndroidChannelIdOk() (*string, bool)`
+
+GetAndroidChannelIdOk returns a tuple with the AndroidChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidChannelId
+
+`func (o *NotificationAllOf) SetAndroidChannelId(v string)`
+
+SetAndroidChannelId sets AndroidChannelId field to given value.
+
+### HasAndroidChannelId
+
+`func (o *NotificationAllOf) HasAndroidChannelId() bool`
+
+HasAndroidChannelId returns a boolean if a field has been set.
+
+### GetHuaweiChannelId
+
+`func (o *NotificationAllOf) GetHuaweiChannelId() string`
+
+GetHuaweiChannelId returns the HuaweiChannelId field if non-nil, zero value otherwise.
+
+### GetHuaweiChannelIdOk
+
+`func (o *NotificationAllOf) GetHuaweiChannelIdOk() (*string, bool)`
+
+GetHuaweiChannelIdOk returns a tuple with the HuaweiChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiChannelId
+
+`func (o *NotificationAllOf) SetHuaweiChannelId(v string)`
+
+SetHuaweiChannelId sets HuaweiChannelId field to given value.
+
+### HasHuaweiChannelId
+
+`func (o *NotificationAllOf) HasHuaweiChannelId() bool`
+
+HasHuaweiChannelId returns a boolean if a field has been set.
+
+### GetExistingAndroidChannelId
+
+`func (o *NotificationAllOf) GetExistingAndroidChannelId() string`
+
+GetExistingAndroidChannelId returns the ExistingAndroidChannelId field if non-nil, zero value otherwise.
+
+### GetExistingAndroidChannelIdOk
+
+`func (o *NotificationAllOf) GetExistingAndroidChannelIdOk() (*string, bool)`
+
+GetExistingAndroidChannelIdOk returns a tuple with the ExistingAndroidChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExistingAndroidChannelId
+
+`func (o *NotificationAllOf) SetExistingAndroidChannelId(v string)`
+
+SetExistingAndroidChannelId sets ExistingAndroidChannelId field to given value.
+
+### HasExistingAndroidChannelId
+
+`func (o *NotificationAllOf) HasExistingAndroidChannelId() bool`
+
+HasExistingAndroidChannelId returns a boolean if a field has been set.
+
+### GetHuaweiExistingChannelId
+
+`func (o *NotificationAllOf) GetHuaweiExistingChannelId() string`
+
+GetHuaweiExistingChannelId returns the HuaweiExistingChannelId field if non-nil, zero value otherwise.
+
+### GetHuaweiExistingChannelIdOk
+
+`func (o *NotificationAllOf) GetHuaweiExistingChannelIdOk() (*string, bool)`
+
+GetHuaweiExistingChannelIdOk returns a tuple with the HuaweiExistingChannelId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiExistingChannelId
+
+`func (o *NotificationAllOf) SetHuaweiExistingChannelId(v string)`
+
+SetHuaweiExistingChannelId sets HuaweiExistingChannelId field to given value.
+
+### HasHuaweiExistingChannelId
+
+`func (o *NotificationAllOf) HasHuaweiExistingChannelId() bool`
+
+HasHuaweiExistingChannelId returns a boolean if a field has been set.
+
+### GetAndroidBackgroundLayout
+
+`func (o *NotificationAllOf) GetAndroidBackgroundLayout() NotificationAllOfAndroidBackgroundLayout`
+
+GetAndroidBackgroundLayout returns the AndroidBackgroundLayout field if non-nil, zero value otherwise.
+
+### GetAndroidBackgroundLayoutOk
+
+`func (o *NotificationAllOf) GetAndroidBackgroundLayoutOk() (*NotificationAllOfAndroidBackgroundLayout, bool)`
+
+GetAndroidBackgroundLayoutOk returns a tuple with the AndroidBackgroundLayout field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidBackgroundLayout
+
+`func (o *NotificationAllOf) SetAndroidBackgroundLayout(v NotificationAllOfAndroidBackgroundLayout)`
+
+SetAndroidBackgroundLayout sets AndroidBackgroundLayout field to given value.
+
+### HasAndroidBackgroundLayout
+
+`func (o *NotificationAllOf) HasAndroidBackgroundLayout() bool`
+
+HasAndroidBackgroundLayout returns a boolean if a field has been set.
+
+### GetSmallIcon
+
+`func (o *NotificationAllOf) GetSmallIcon() string`
+
+GetSmallIcon returns the SmallIcon field if non-nil, zero value otherwise.
+
+### GetSmallIconOk
+
+`func (o *NotificationAllOf) GetSmallIconOk() (*string, bool)`
+
+GetSmallIconOk returns a tuple with the SmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmallIcon
+
+`func (o *NotificationAllOf) SetSmallIcon(v string)`
+
+SetSmallIcon sets SmallIcon field to given value.
+
+### HasSmallIcon
+
+`func (o *NotificationAllOf) HasSmallIcon() bool`
+
+HasSmallIcon returns a boolean if a field has been set.
+
+### GetHuaweiSmallIcon
+
+`func (o *NotificationAllOf) GetHuaweiSmallIcon() string`
+
+GetHuaweiSmallIcon returns the HuaweiSmallIcon field if non-nil, zero value otherwise.
+
+### GetHuaweiSmallIconOk
+
+`func (o *NotificationAllOf) GetHuaweiSmallIconOk() (*string, bool)`
+
+GetHuaweiSmallIconOk returns a tuple with the HuaweiSmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiSmallIcon
+
+`func (o *NotificationAllOf) SetHuaweiSmallIcon(v string)`
+
+SetHuaweiSmallIcon sets HuaweiSmallIcon field to given value.
+
+### HasHuaweiSmallIcon
+
+`func (o *NotificationAllOf) HasHuaweiSmallIcon() bool`
+
+HasHuaweiSmallIcon returns a boolean if a field has been set.
+
+### GetLargeIcon
+
+`func (o *NotificationAllOf) GetLargeIcon() string`
+
+GetLargeIcon returns the LargeIcon field if non-nil, zero value otherwise.
+
+### GetLargeIconOk
+
+`func (o *NotificationAllOf) GetLargeIconOk() (*string, bool)`
+
+GetLargeIconOk returns a tuple with the LargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLargeIcon
+
+`func (o *NotificationAllOf) SetLargeIcon(v string)`
+
+SetLargeIcon sets LargeIcon field to given value.
+
+### HasLargeIcon
+
+`func (o *NotificationAllOf) HasLargeIcon() bool`
+
+HasLargeIcon returns a boolean if a field has been set.
+
+### GetHuaweiLargeIcon
+
+`func (o *NotificationAllOf) GetHuaweiLargeIcon() string`
+
+GetHuaweiLargeIcon returns the HuaweiLargeIcon field if non-nil, zero value otherwise.
+
+### GetHuaweiLargeIconOk
+
+`func (o *NotificationAllOf) GetHuaweiLargeIconOk() (*string, bool)`
+
+GetHuaweiLargeIconOk returns a tuple with the HuaweiLargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiLargeIcon
+
+`func (o *NotificationAllOf) SetHuaweiLargeIcon(v string)`
+
+SetHuaweiLargeIcon sets HuaweiLargeIcon field to given value.
+
+### HasHuaweiLargeIcon
+
+`func (o *NotificationAllOf) HasHuaweiLargeIcon() bool`
+
+HasHuaweiLargeIcon returns a boolean if a field has been set.
+
+### GetAdmSmallIcon
+
+`func (o *NotificationAllOf) GetAdmSmallIcon() string`
+
+GetAdmSmallIcon returns the AdmSmallIcon field if non-nil, zero value otherwise.
+
+### GetAdmSmallIconOk
+
+`func (o *NotificationAllOf) GetAdmSmallIconOk() (*string, bool)`
+
+GetAdmSmallIconOk returns a tuple with the AdmSmallIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmSmallIcon
+
+`func (o *NotificationAllOf) SetAdmSmallIcon(v string)`
+
+SetAdmSmallIcon sets AdmSmallIcon field to given value.
+
+### HasAdmSmallIcon
+
+`func (o *NotificationAllOf) HasAdmSmallIcon() bool`
+
+HasAdmSmallIcon returns a boolean if a field has been set.
+
+### GetAdmLargeIcon
+
+`func (o *NotificationAllOf) GetAdmLargeIcon() string`
+
+GetAdmLargeIcon returns the AdmLargeIcon field if non-nil, zero value otherwise.
+
+### GetAdmLargeIconOk
+
+`func (o *NotificationAllOf) GetAdmLargeIconOk() (*string, bool)`
+
+GetAdmLargeIconOk returns a tuple with the AdmLargeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmLargeIcon
+
+`func (o *NotificationAllOf) SetAdmLargeIcon(v string)`
+
+SetAdmLargeIcon sets AdmLargeIcon field to given value.
+
+### HasAdmLargeIcon
+
+`func (o *NotificationAllOf) HasAdmLargeIcon() bool`
+
+HasAdmLargeIcon returns a boolean if a field has been set.
+
+### GetChromeWebIcon
+
+`func (o *NotificationAllOf) GetChromeWebIcon() string`
+
+GetChromeWebIcon returns the ChromeWebIcon field if non-nil, zero value otherwise.
+
+### GetChromeWebIconOk
+
+`func (o *NotificationAllOf) GetChromeWebIconOk() (*string, bool)`
+
+GetChromeWebIconOk returns a tuple with the ChromeWebIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebIcon
+
+`func (o *NotificationAllOf) SetChromeWebIcon(v string)`
+
+SetChromeWebIcon sets ChromeWebIcon field to given value.
+
+### HasChromeWebIcon
+
+`func (o *NotificationAllOf) HasChromeWebIcon() bool`
+
+HasChromeWebIcon returns a boolean if a field has been set.
+
+### GetChromeWebBadge
+
+`func (o *NotificationAllOf) GetChromeWebBadge() string`
+
+GetChromeWebBadge returns the ChromeWebBadge field if non-nil, zero value otherwise.
+
+### GetChromeWebBadgeOk
+
+`func (o *NotificationAllOf) GetChromeWebBadgeOk() (*string, bool)`
+
+GetChromeWebBadgeOk returns a tuple with the ChromeWebBadge field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebBadge
+
+`func (o *NotificationAllOf) SetChromeWebBadge(v string)`
+
+SetChromeWebBadge sets ChromeWebBadge field to given value.
+
+### HasChromeWebBadge
+
+`func (o *NotificationAllOf) HasChromeWebBadge() bool`
+
+HasChromeWebBadge returns a boolean if a field has been set.
+
+### GetFirefoxIcon
+
+`func (o *NotificationAllOf) GetFirefoxIcon() string`
+
+GetFirefoxIcon returns the FirefoxIcon field if non-nil, zero value otherwise.
+
+### GetFirefoxIconOk
+
+`func (o *NotificationAllOf) GetFirefoxIconOk() (*string, bool)`
+
+GetFirefoxIconOk returns a tuple with the FirefoxIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirefoxIcon
+
+`func (o *NotificationAllOf) SetFirefoxIcon(v string)`
+
+SetFirefoxIcon sets FirefoxIcon field to given value.
+
+### HasFirefoxIcon
+
+`func (o *NotificationAllOf) HasFirefoxIcon() bool`
+
+HasFirefoxIcon returns a boolean if a field has been set.
+
+### GetChromeIcon
+
+`func (o *NotificationAllOf) GetChromeIcon() string`
+
+GetChromeIcon returns the ChromeIcon field if non-nil, zero value otherwise.
+
+### GetChromeIconOk
+
+`func (o *NotificationAllOf) GetChromeIconOk() (*string, bool)`
+
+GetChromeIconOk returns a tuple with the ChromeIcon field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeIcon
+
+`func (o *NotificationAllOf) SetChromeIcon(v string)`
+
+SetChromeIcon sets ChromeIcon field to given value.
+
+### HasChromeIcon
+
+`func (o *NotificationAllOf) HasChromeIcon() bool`
+
+HasChromeIcon returns a boolean if a field has been set.
+
+### GetIosSound
+
+`func (o *NotificationAllOf) GetIosSound() string`
+
+GetIosSound returns the IosSound field if non-nil, zero value otherwise.
+
+### GetIosSoundOk
+
+`func (o *NotificationAllOf) GetIosSoundOk() (*string, bool)`
+
+GetIosSoundOk returns a tuple with the IosSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosSound
+
+`func (o *NotificationAllOf) SetIosSound(v string)`
+
+SetIosSound sets IosSound field to given value.
+
+### HasIosSound
+
+`func (o *NotificationAllOf) HasIosSound() bool`
+
+HasIosSound returns a boolean if a field has been set.
+
+### GetAndroidSound
+
+`func (o *NotificationAllOf) GetAndroidSound() string`
+
+GetAndroidSound returns the AndroidSound field if non-nil, zero value otherwise.
+
+### GetAndroidSoundOk
+
+`func (o *NotificationAllOf) GetAndroidSoundOk() (*string, bool)`
+
+GetAndroidSoundOk returns a tuple with the AndroidSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidSound
+
+`func (o *NotificationAllOf) SetAndroidSound(v string)`
+
+SetAndroidSound sets AndroidSound field to given value.
+
+### HasAndroidSound
+
+`func (o *NotificationAllOf) HasAndroidSound() bool`
+
+HasAndroidSound returns a boolean if a field has been set.
+
+### GetHuaweiSound
+
+`func (o *NotificationAllOf) GetHuaweiSound() string`
+
+GetHuaweiSound returns the HuaweiSound field if non-nil, zero value otherwise.
+
+### GetHuaweiSoundOk
+
+`func (o *NotificationAllOf) GetHuaweiSoundOk() (*string, bool)`
+
+GetHuaweiSoundOk returns a tuple with the HuaweiSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiSound
+
+`func (o *NotificationAllOf) SetHuaweiSound(v string)`
+
+SetHuaweiSound sets HuaweiSound field to given value.
+
+### HasHuaweiSound
+
+`func (o *NotificationAllOf) HasHuaweiSound() bool`
+
+HasHuaweiSound returns a boolean if a field has been set.
+
+### GetAdmSound
+
+`func (o *NotificationAllOf) GetAdmSound() string`
+
+GetAdmSound returns the AdmSound field if non-nil, zero value otherwise.
+
+### GetAdmSoundOk
+
+`func (o *NotificationAllOf) GetAdmSoundOk() (*string, bool)`
+
+GetAdmSoundOk returns a tuple with the AdmSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmSound
+
+`func (o *NotificationAllOf) SetAdmSound(v string)`
+
+SetAdmSound sets AdmSound field to given value.
+
+### HasAdmSound
+
+`func (o *NotificationAllOf) HasAdmSound() bool`
+
+HasAdmSound returns a boolean if a field has been set.
+
+### GetWpWnsSound
+
+`func (o *NotificationAllOf) GetWpWnsSound() string`
+
+GetWpWnsSound returns the WpWnsSound field if non-nil, zero value otherwise.
+
+### GetWpWnsSoundOk
+
+`func (o *NotificationAllOf) GetWpWnsSoundOk() (*string, bool)`
+
+GetWpWnsSoundOk returns a tuple with the WpWnsSound field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWpWnsSound
+
+`func (o *NotificationAllOf) SetWpWnsSound(v string)`
+
+SetWpWnsSound sets WpWnsSound field to given value.
+
+### HasWpWnsSound
+
+`func (o *NotificationAllOf) HasWpWnsSound() bool`
+
+HasWpWnsSound returns a boolean if a field has been set.
+
+### GetAndroidLedColor
+
+`func (o *NotificationAllOf) GetAndroidLedColor() string`
+
+GetAndroidLedColor returns the AndroidLedColor field if non-nil, zero value otherwise.
+
+### GetAndroidLedColorOk
+
+`func (o *NotificationAllOf) GetAndroidLedColorOk() (*string, bool)`
+
+GetAndroidLedColorOk returns a tuple with the AndroidLedColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidLedColor
+
+`func (o *NotificationAllOf) SetAndroidLedColor(v string)`
+
+SetAndroidLedColor sets AndroidLedColor field to given value.
+
+### HasAndroidLedColor
+
+`func (o *NotificationAllOf) HasAndroidLedColor() bool`
+
+HasAndroidLedColor returns a boolean if a field has been set.
+
+### GetHuaweiLedColor
+
+`func (o *NotificationAllOf) GetHuaweiLedColor() string`
+
+GetHuaweiLedColor returns the HuaweiLedColor field if non-nil, zero value otherwise.
+
+### GetHuaweiLedColorOk
+
+`func (o *NotificationAllOf) GetHuaweiLedColorOk() (*string, bool)`
+
+GetHuaweiLedColorOk returns a tuple with the HuaweiLedColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiLedColor
+
+`func (o *NotificationAllOf) SetHuaweiLedColor(v string)`
+
+SetHuaweiLedColor sets HuaweiLedColor field to given value.
+
+### HasHuaweiLedColor
+
+`func (o *NotificationAllOf) HasHuaweiLedColor() bool`
+
+HasHuaweiLedColor returns a boolean if a field has been set.
+
+### GetAndroidAccentColor
+
+`func (o *NotificationAllOf) GetAndroidAccentColor() string`
+
+GetAndroidAccentColor returns the AndroidAccentColor field if non-nil, zero value otherwise.
+
+### GetAndroidAccentColorOk
+
+`func (o *NotificationAllOf) GetAndroidAccentColorOk() (*string, bool)`
+
+GetAndroidAccentColorOk returns a tuple with the AndroidAccentColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidAccentColor
+
+`func (o *NotificationAllOf) SetAndroidAccentColor(v string)`
+
+SetAndroidAccentColor sets AndroidAccentColor field to given value.
+
+### HasAndroidAccentColor
+
+`func (o *NotificationAllOf) HasAndroidAccentColor() bool`
+
+HasAndroidAccentColor returns a boolean if a field has been set.
+
+### GetHuaweiAccentColor
+
+`func (o *NotificationAllOf) GetHuaweiAccentColor() string`
+
+GetHuaweiAccentColor returns the HuaweiAccentColor field if non-nil, zero value otherwise.
+
+### GetHuaweiAccentColorOk
+
+`func (o *NotificationAllOf) GetHuaweiAccentColorOk() (*string, bool)`
+
+GetHuaweiAccentColorOk returns a tuple with the HuaweiAccentColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiAccentColor
+
+`func (o *NotificationAllOf) SetHuaweiAccentColor(v string)`
+
+SetHuaweiAccentColor sets HuaweiAccentColor field to given value.
+
+### HasHuaweiAccentColor
+
+`func (o *NotificationAllOf) HasHuaweiAccentColor() bool`
+
+HasHuaweiAccentColor returns a boolean if a field has been set.
+
+### GetAndroidVisibility
+
+`func (o *NotificationAllOf) GetAndroidVisibility() int32`
+
+GetAndroidVisibility returns the AndroidVisibility field if non-nil, zero value otherwise.
+
+### GetAndroidVisibilityOk
+
+`func (o *NotificationAllOf) GetAndroidVisibilityOk() (*int32, bool)`
+
+GetAndroidVisibilityOk returns a tuple with the AndroidVisibility field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidVisibility
+
+`func (o *NotificationAllOf) SetAndroidVisibility(v int32)`
+
+SetAndroidVisibility sets AndroidVisibility field to given value.
+
+### HasAndroidVisibility
+
+`func (o *NotificationAllOf) HasAndroidVisibility() bool`
+
+HasAndroidVisibility returns a boolean if a field has been set.
+
+### GetHuaweiVisibility
+
+`func (o *NotificationAllOf) GetHuaweiVisibility() int32`
+
+GetHuaweiVisibility returns the HuaweiVisibility field if non-nil, zero value otherwise.
+
+### GetHuaweiVisibilityOk
+
+`func (o *NotificationAllOf) GetHuaweiVisibilityOk() (*int32, bool)`
+
+GetHuaweiVisibilityOk returns a tuple with the HuaweiVisibility field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHuaweiVisibility
+
+`func (o *NotificationAllOf) SetHuaweiVisibility(v int32)`
+
+SetHuaweiVisibility sets HuaweiVisibility field to given value.
+
+### HasHuaweiVisibility
+
+`func (o *NotificationAllOf) HasHuaweiVisibility() bool`
+
+HasHuaweiVisibility returns a boolean if a field has been set.
+
+### GetIosBadgeType
+
+`func (o *NotificationAllOf) GetIosBadgeType() string`
+
+GetIosBadgeType returns the IosBadgeType field if non-nil, zero value otherwise.
+
+### GetIosBadgeTypeOk
+
+`func (o *NotificationAllOf) GetIosBadgeTypeOk() (*string, bool)`
+
+GetIosBadgeTypeOk returns a tuple with the IosBadgeType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosBadgeType
+
+`func (o *NotificationAllOf) SetIosBadgeType(v string)`
+
+SetIosBadgeType sets IosBadgeType field to given value.
+
+### HasIosBadgeType
+
+`func (o *NotificationAllOf) HasIosBadgeType() bool`
+
+HasIosBadgeType returns a boolean if a field has been set.
+
+### GetIosBadgeCount
+
+`func (o *NotificationAllOf) GetIosBadgeCount() int32`
+
+GetIosBadgeCount returns the IosBadgeCount field if non-nil, zero value otherwise.
+
+### GetIosBadgeCountOk
+
+`func (o *NotificationAllOf) GetIosBadgeCountOk() (*int32, bool)`
+
+GetIosBadgeCountOk returns a tuple with the IosBadgeCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIosBadgeCount
+
+`func (o *NotificationAllOf) SetIosBadgeCount(v int32)`
+
+SetIosBadgeCount sets IosBadgeCount field to given value.
+
+### HasIosBadgeCount
+
+`func (o *NotificationAllOf) HasIosBadgeCount() bool`
+
+HasIosBadgeCount returns a boolean if a field has been set.
+
+### GetCollapseId
+
+`func (o *NotificationAllOf) GetCollapseId() string`
+
+GetCollapseId returns the CollapseId field if non-nil, zero value otherwise.
+
+### GetCollapseIdOk
+
+`func (o *NotificationAllOf) GetCollapseIdOk() (*string, bool)`
+
+GetCollapseIdOk returns a tuple with the CollapseId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCollapseId
+
+`func (o *NotificationAllOf) SetCollapseId(v string)`
+
+SetCollapseId sets CollapseId field to given value.
+
+### HasCollapseId
+
+`func (o *NotificationAllOf) HasCollapseId() bool`
+
+HasCollapseId returns a boolean if a field has been set.
+
+### GetWebPushTopic
+
+`func (o *NotificationAllOf) GetWebPushTopic() string`
+
+GetWebPushTopic returns the WebPushTopic field if non-nil, zero value otherwise.
+
+### GetWebPushTopicOk
+
+`func (o *NotificationAllOf) GetWebPushTopicOk() (*string, bool)`
+
+GetWebPushTopicOk returns a tuple with the WebPushTopic field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetWebPushTopic
+
+`func (o *NotificationAllOf) SetWebPushTopic(v string)`
+
+SetWebPushTopic sets WebPushTopic field to given value.
+
+### HasWebPushTopic
+
+`func (o *NotificationAllOf) HasWebPushTopic() bool`
+
+HasWebPushTopic returns a boolean if a field has been set.
+
+### GetApnsAlert
+
+`func (o *NotificationAllOf) GetApnsAlert() map[string]interface{}`
+
+GetApnsAlert returns the ApnsAlert field if non-nil, zero value otherwise.
+
+### GetApnsAlertOk
+
+`func (o *NotificationAllOf) GetApnsAlertOk() (*map[string]interface{}, bool)`
+
+GetApnsAlertOk returns a tuple with the ApnsAlert field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsAlert
+
+`func (o *NotificationAllOf) SetApnsAlert(v map[string]interface{})`
+
+SetApnsAlert sets ApnsAlert field to given value.
+
+### HasApnsAlert
+
+`func (o *NotificationAllOf) HasApnsAlert() bool`
+
+HasApnsAlert returns a boolean if a field has been set.
+
+### GetSendAfter
+
+`func (o *NotificationAllOf) GetSendAfter() string`
+
+GetSendAfter returns the SendAfter field if non-nil, zero value otherwise.
+
+### GetSendAfterOk
+
+`func (o *NotificationAllOf) GetSendAfterOk() (*string, bool)`
+
+GetSendAfterOk returns a tuple with the SendAfter field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSendAfter
+
+`func (o *NotificationAllOf) SetSendAfter(v string)`
+
+SetSendAfter sets SendAfter field to given value.
+
+### HasSendAfter
+
+`func (o *NotificationAllOf) HasSendAfter() bool`
+
+HasSendAfter returns a boolean if a field has been set.
+
+### GetDelayedOption
+
+`func (o *NotificationAllOf) GetDelayedOption() string`
+
+GetDelayedOption returns the DelayedOption field if non-nil, zero value otherwise.
+
+### GetDelayedOptionOk
+
+`func (o *NotificationAllOf) GetDelayedOptionOk() (*string, bool)`
+
+GetDelayedOptionOk returns a tuple with the DelayedOption field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDelayedOption
+
+`func (o *NotificationAllOf) SetDelayedOption(v string)`
+
+SetDelayedOption sets DelayedOption field to given value.
+
+### HasDelayedOption
+
+`func (o *NotificationAllOf) HasDelayedOption() bool`
+
+HasDelayedOption returns a boolean if a field has been set.
+
+### GetDeliveryTimeOfDay
+
+`func (o *NotificationAllOf) GetDeliveryTimeOfDay() string`
+
+GetDeliveryTimeOfDay returns the DeliveryTimeOfDay field if non-nil, zero value otherwise.
+
+### GetDeliveryTimeOfDayOk
+
+`func (o *NotificationAllOf) GetDeliveryTimeOfDayOk() (*string, bool)`
+
+GetDeliveryTimeOfDayOk returns a tuple with the DeliveryTimeOfDay field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDeliveryTimeOfDay
+
+`func (o *NotificationAllOf) SetDeliveryTimeOfDay(v string)`
+
+SetDeliveryTimeOfDay sets DeliveryTimeOfDay field to given value.
+
+### HasDeliveryTimeOfDay
+
+`func (o *NotificationAllOf) HasDeliveryTimeOfDay() bool`
+
+HasDeliveryTimeOfDay returns a boolean if a field has been set.
+
+### GetTtl
+
+`func (o *NotificationAllOf) GetTtl() int32`
+
+GetTtl returns the Ttl field if non-nil, zero value otherwise.
+
+### GetTtlOk
+
+`func (o *NotificationAllOf) GetTtlOk() (*int32, bool)`
+
+GetTtlOk returns a tuple with the Ttl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTtl
+
+`func (o *NotificationAllOf) SetTtl(v int32)`
+
+SetTtl sets Ttl field to given value.
+
+### HasTtl
+
+`func (o *NotificationAllOf) HasTtl() bool`
+
+HasTtl returns a boolean if a field has been set.
+
+### GetPriority
+
+`func (o *NotificationAllOf) GetPriority() int32`
+
+GetPriority returns the Priority field if non-nil, zero value otherwise.
+
+### GetPriorityOk
+
+`func (o *NotificationAllOf) GetPriorityOk() (*int32, bool)`
+
+GetPriorityOk returns a tuple with the Priority field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPriority
+
+`func (o *NotificationAllOf) SetPriority(v int32)`
+
+SetPriority sets Priority field to given value.
+
+### HasPriority
+
+`func (o *NotificationAllOf) HasPriority() bool`
+
+HasPriority returns a boolean if a field has been set.
+
+### GetApnsPushTypeOverride
+
+`func (o *NotificationAllOf) GetApnsPushTypeOverride() string`
+
+GetApnsPushTypeOverride returns the ApnsPushTypeOverride field if non-nil, zero value otherwise.
+
+### GetApnsPushTypeOverrideOk
+
+`func (o *NotificationAllOf) GetApnsPushTypeOverrideOk() (*string, bool)`
+
+GetApnsPushTypeOverrideOk returns a tuple with the ApnsPushTypeOverride field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetApnsPushTypeOverride
+
+`func (o *NotificationAllOf) SetApnsPushTypeOverride(v string)`
+
+SetApnsPushTypeOverride sets ApnsPushTypeOverride field to given value.
+
+### HasApnsPushTypeOverride
+
+`func (o *NotificationAllOf) HasApnsPushTypeOverride() bool`
+
+HasApnsPushTypeOverride returns a boolean if a field has been set.
+
+### GetThrottleRatePerMinute
+
+`func (o *NotificationAllOf) GetThrottleRatePerMinute() string`
+
+GetThrottleRatePerMinute returns the ThrottleRatePerMinute field if non-nil, zero value otherwise.
+
+### GetThrottleRatePerMinuteOk
+
+`func (o *NotificationAllOf) GetThrottleRatePerMinuteOk() (*string, bool)`
+
+GetThrottleRatePerMinuteOk returns a tuple with the ThrottleRatePerMinute field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetThrottleRatePerMinute
+
+`func (o *NotificationAllOf) SetThrottleRatePerMinute(v string)`
+
+SetThrottleRatePerMinute sets ThrottleRatePerMinute field to given value.
+
+### HasThrottleRatePerMinute
+
+`func (o *NotificationAllOf) HasThrottleRatePerMinute() bool`
+
+HasThrottleRatePerMinute returns a boolean if a field has been set.
+
+### GetAndroidGroup
+
+`func (o *NotificationAllOf) GetAndroidGroup() string`
+
+GetAndroidGroup returns the AndroidGroup field if non-nil, zero value otherwise.
+
+### GetAndroidGroupOk
+
+`func (o *NotificationAllOf) GetAndroidGroupOk() (*string, bool)`
+
+GetAndroidGroupOk returns a tuple with the AndroidGroup field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidGroup
+
+`func (o *NotificationAllOf) SetAndroidGroup(v string)`
+
+SetAndroidGroup sets AndroidGroup field to given value.
+
+### HasAndroidGroup
+
+`func (o *NotificationAllOf) HasAndroidGroup() bool`
+
+HasAndroidGroup returns a boolean if a field has been set.
+
+### GetAndroidGroupMessage
+
+`func (o *NotificationAllOf) GetAndroidGroupMessage() string`
+
+GetAndroidGroupMessage returns the AndroidGroupMessage field if non-nil, zero value otherwise.
+
+### GetAndroidGroupMessageOk
+
+`func (o *NotificationAllOf) GetAndroidGroupMessageOk() (*string, bool)`
+
+GetAndroidGroupMessageOk returns a tuple with the AndroidGroupMessage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroidGroupMessage
+
+`func (o *NotificationAllOf) SetAndroidGroupMessage(v string)`
+
+SetAndroidGroupMessage sets AndroidGroupMessage field to given value.
+
+### HasAndroidGroupMessage
+
+`func (o *NotificationAllOf) HasAndroidGroupMessage() bool`
+
+HasAndroidGroupMessage returns a boolean if a field has been set.
+
+### GetAdmGroup
+
+`func (o *NotificationAllOf) GetAdmGroup() string`
+
+GetAdmGroup returns the AdmGroup field if non-nil, zero value otherwise.
+
+### GetAdmGroupOk
+
+`func (o *NotificationAllOf) GetAdmGroupOk() (*string, bool)`
+
+GetAdmGroupOk returns a tuple with the AdmGroup field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmGroup
+
+`func (o *NotificationAllOf) SetAdmGroup(v string)`
+
+SetAdmGroup sets AdmGroup field to given value.
+
+### HasAdmGroup
+
+`func (o *NotificationAllOf) HasAdmGroup() bool`
+
+HasAdmGroup returns a boolean if a field has been set.
+
+### GetAdmGroupMessage
+
+`func (o *NotificationAllOf) GetAdmGroupMessage() map[string]interface{}`
+
+GetAdmGroupMessage returns the AdmGroupMessage field if non-nil, zero value otherwise.
+
+### GetAdmGroupMessageOk
+
+`func (o *NotificationAllOf) GetAdmGroupMessageOk() (*map[string]interface{}, bool)`
+
+GetAdmGroupMessageOk returns a tuple with the AdmGroupMessage field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdmGroupMessage
+
+`func (o *NotificationAllOf) SetAdmGroupMessage(v map[string]interface{})`
+
+SetAdmGroupMessage sets AdmGroupMessage field to given value.
+
+### HasAdmGroupMessage
+
+`func (o *NotificationAllOf) HasAdmGroupMessage() bool`
+
+HasAdmGroupMessage returns a boolean if a field has been set.
+
+### GetThreadId
+
+`func (o *NotificationAllOf) GetThreadId() string`
+
+GetThreadId returns the ThreadId field if non-nil, zero value otherwise.
+
+### GetThreadIdOk
+
+`func (o *NotificationAllOf) GetThreadIdOk() (*string, bool)`
+
+GetThreadIdOk returns a tuple with the ThreadId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetThreadId
+
+`func (o *NotificationAllOf) SetThreadId(v string)`
+
+SetThreadId sets ThreadId field to given value.
+
+### HasThreadId
+
+`func (o *NotificationAllOf) HasThreadId() bool`
+
+HasThreadId returns a boolean if a field has been set.
+
+### GetSummaryArg
+
+`func (o *NotificationAllOf) GetSummaryArg() string`
+
+GetSummaryArg returns the SummaryArg field if non-nil, zero value otherwise.
+
+### GetSummaryArgOk
+
+`func (o *NotificationAllOf) GetSummaryArgOk() (*string, bool)`
+
+GetSummaryArgOk returns a tuple with the SummaryArg field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSummaryArg
+
+`func (o *NotificationAllOf) SetSummaryArg(v string)`
+
+SetSummaryArg sets SummaryArg field to given value.
+
+### HasSummaryArg
+
+`func (o *NotificationAllOf) HasSummaryArg() bool`
+
+HasSummaryArg returns a boolean if a field has been set.
+
+### GetSummaryArgCount
+
+`func (o *NotificationAllOf) GetSummaryArgCount() int32`
+
+GetSummaryArgCount returns the SummaryArgCount field if non-nil, zero value otherwise.
+
+### GetSummaryArgCountOk
+
+`func (o *NotificationAllOf) GetSummaryArgCountOk() (*int32, bool)`
+
+GetSummaryArgCountOk returns a tuple with the SummaryArgCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSummaryArgCount
+
+`func (o *NotificationAllOf) SetSummaryArgCount(v int32)`
+
+SetSummaryArgCount sets SummaryArgCount field to given value.
+
+### HasSummaryArgCount
+
+`func (o *NotificationAllOf) HasSummaryArgCount() bool`
+
+HasSummaryArgCount returns a boolean if a field has been set.
+
+### GetEmailSubect
+
+`func (o *NotificationAllOf) GetEmailSubect() string`
+
+GetEmailSubect returns the EmailSubect field if non-nil, zero value otherwise.
+
+### GetEmailSubectOk
+
+`func (o *NotificationAllOf) GetEmailSubectOk() (*string, bool)`
+
+GetEmailSubectOk returns a tuple with the EmailSubect field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailSubect
+
+`func (o *NotificationAllOf) SetEmailSubect(v string)`
+
+SetEmailSubect sets EmailSubect field to given value.
+
+### HasEmailSubect
+
+`func (o *NotificationAllOf) HasEmailSubect() bool`
+
+HasEmailSubect returns a boolean if a field has been set.
+
+### GetEmailBody
+
+`func (o *NotificationAllOf) GetEmailBody() string`
+
+GetEmailBody returns the EmailBody field if non-nil, zero value otherwise.
+
+### GetEmailBodyOk
+
+`func (o *NotificationAllOf) GetEmailBodyOk() (*string, bool)`
+
+GetEmailBodyOk returns a tuple with the EmailBody field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailBody
+
+`func (o *NotificationAllOf) SetEmailBody(v string)`
+
+SetEmailBody sets EmailBody field to given value.
+
+### HasEmailBody
+
+`func (o *NotificationAllOf) HasEmailBody() bool`
+
+HasEmailBody returns a boolean if a field has been set.
+
+### GetEmailFromName
+
+`func (o *NotificationAllOf) GetEmailFromName() string`
+
+GetEmailFromName returns the EmailFromName field if non-nil, zero value otherwise.
+
+### GetEmailFromNameOk
+
+`func (o *NotificationAllOf) GetEmailFromNameOk() (*string, bool)`
+
+GetEmailFromNameOk returns a tuple with the EmailFromName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailFromName
+
+`func (o *NotificationAllOf) SetEmailFromName(v string)`
+
+SetEmailFromName sets EmailFromName field to given value.
+
+### HasEmailFromName
+
+`func (o *NotificationAllOf) HasEmailFromName() bool`
+
+HasEmailFromName returns a boolean if a field has been set.
+
+### GetEmailFromAddress
+
+`func (o *NotificationAllOf) GetEmailFromAddress() string`
+
+GetEmailFromAddress returns the EmailFromAddress field if non-nil, zero value otherwise.
+
+### GetEmailFromAddressOk
+
+`func (o *NotificationAllOf) GetEmailFromAddressOk() (*string, bool)`
+
+GetEmailFromAddressOk returns a tuple with the EmailFromAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailFromAddress
+
+`func (o *NotificationAllOf) SetEmailFromAddress(v string)`
+
+SetEmailFromAddress sets EmailFromAddress field to given value.
+
+### HasEmailFromAddress
+
+`func (o *NotificationAllOf) HasEmailFromAddress() bool`
+
+HasEmailFromAddress returns a boolean if a field has been set.
+
+### GetSmsFrom
+
+`func (o *NotificationAllOf) GetSmsFrom() string`
+
+GetSmsFrom returns the SmsFrom field if non-nil, zero value otherwise.
+
+### GetSmsFromOk
+
+`func (o *NotificationAllOf) GetSmsFromOk() (*string, bool)`
+
+GetSmsFromOk returns a tuple with the SmsFrom field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmsFrom
+
+`func (o *NotificationAllOf) SetSmsFrom(v string)`
+
+SetSmsFrom sets SmsFrom field to given value.
+
+### HasSmsFrom
+
+`func (o *NotificationAllOf) HasSmsFrom() bool`
+
+HasSmsFrom returns a boolean if a field has been set.
+
+### GetSmsMediaUrls
+
+`func (o *NotificationAllOf) GetSmsMediaUrls() []string`
+
+GetSmsMediaUrls returns the SmsMediaUrls field if non-nil, zero value otherwise.
+
+### GetSmsMediaUrlsOk
+
+`func (o *NotificationAllOf) GetSmsMediaUrlsOk() (*[]string, bool)`
+
+GetSmsMediaUrlsOk returns a tuple with the SmsMediaUrls field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSmsMediaUrls
+
+`func (o *NotificationAllOf) SetSmsMediaUrls(v []string)`
+
+SetSmsMediaUrls sets SmsMediaUrls field to given value.
+
+### HasSmsMediaUrls
+
+`func (o *NotificationAllOf) HasSmsMediaUrls() bool`
+
+HasSmsMediaUrls returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/NotificationAllOfAndroidBackgroundLayout.md b/docs/NotificationAllOfAndroidBackgroundLayout.md
new file mode 100644
index 0000000..4987f19
--- /dev/null
+++ b/docs/NotificationAllOfAndroidBackgroundLayout.md
@@ -0,0 +1,108 @@
+# NotificationAllOfAndroidBackgroundLayout
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Image** | Pointer to **string** | Asset file, android resource name, or URL to remote image. | [optional] 
+**HeadingsColor** | Pointer to **string** | Title text color ARGB Hex format. Example(Blue) \&quot;FF0000FF\&quot;. | [optional] 
+**ContentsColor** | Pointer to **string** | Body text color ARGB Hex format. Example(Red) \&quot;FFFF0000\&quot;. | [optional] 
+
+## Methods
+
+### NewNotificationAllOfAndroidBackgroundLayout
+
+`func NewNotificationAllOfAndroidBackgroundLayout() *NotificationAllOfAndroidBackgroundLayout`
+
+NewNotificationAllOfAndroidBackgroundLayout instantiates a new NotificationAllOfAndroidBackgroundLayout object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotificationAllOfAndroidBackgroundLayoutWithDefaults
+
+`func NewNotificationAllOfAndroidBackgroundLayoutWithDefaults() *NotificationAllOfAndroidBackgroundLayout`
+
+NewNotificationAllOfAndroidBackgroundLayoutWithDefaults instantiates a new NotificationAllOfAndroidBackgroundLayout object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetImage
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetImage() string`
+
+GetImage returns the Image field if non-nil, zero value otherwise.
+
+### GetImageOk
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetImageOk() (*string, bool)`
+
+GetImageOk returns a tuple with the Image field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetImage
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) SetImage(v string)`
+
+SetImage sets Image field to given value.
+
+### HasImage
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) HasImage() bool`
+
+HasImage returns a boolean if a field has been set.
+
+### GetHeadingsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetHeadingsColor() string`
+
+GetHeadingsColor returns the HeadingsColor field if non-nil, zero value otherwise.
+
+### GetHeadingsColorOk
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetHeadingsColorOk() (*string, bool)`
+
+GetHeadingsColorOk returns a tuple with the HeadingsColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHeadingsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) SetHeadingsColor(v string)`
+
+SetHeadingsColor sets HeadingsColor field to given value.
+
+### HasHeadingsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) HasHeadingsColor() bool`
+
+HasHeadingsColor returns a boolean if a field has been set.
+
+### GetContentsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetContentsColor() string`
+
+GetContentsColor returns the ContentsColor field if non-nil, zero value otherwise.
+
+### GetContentsColorOk
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) GetContentsColorOk() (*string, bool)`
+
+GetContentsColorOk returns a tuple with the ContentsColor field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetContentsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) SetContentsColor(v string)`
+
+SetContentsColor sets ContentsColor field to given value.
+
+### HasContentsColor
+
+`func (o *NotificationAllOfAndroidBackgroundLayout) HasContentsColor() bool`
+
+HasContentsColor returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/NotificationSlice.md b/docs/NotificationSlice.md
new file mode 100644
index 0000000..607e0ac
--- /dev/null
+++ b/docs/NotificationSlice.md
@@ -0,0 +1,134 @@
+# NotificationSlice
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TotalCount** | Pointer to **int32** |  | [optional] 
+**Offset** | Pointer to **int32** |  | [optional] 
+**Limit** | Pointer to **int32** |  | [optional] 
+**Notifications** | Pointer to [**[]Notification**](Notification.md) |  | [optional] 
+
+## Methods
+
+### NewNotificationSlice
+
+`func NewNotificationSlice() *NotificationSlice`
+
+NewNotificationSlice instantiates a new NotificationSlice object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotificationSliceWithDefaults
+
+`func NewNotificationSliceWithDefaults() *NotificationSlice`
+
+NewNotificationSliceWithDefaults instantiates a new NotificationSlice object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetTotalCount
+
+`func (o *NotificationSlice) GetTotalCount() int32`
+
+GetTotalCount returns the TotalCount field if non-nil, zero value otherwise.
+
+### GetTotalCountOk
+
+`func (o *NotificationSlice) GetTotalCountOk() (*int32, bool)`
+
+GetTotalCountOk returns a tuple with the TotalCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTotalCount
+
+`func (o *NotificationSlice) SetTotalCount(v int32)`
+
+SetTotalCount sets TotalCount field to given value.
+
+### HasTotalCount
+
+`func (o *NotificationSlice) HasTotalCount() bool`
+
+HasTotalCount returns a boolean if a field has been set.
+
+### GetOffset
+
+`func (o *NotificationSlice) GetOffset() int32`
+
+GetOffset returns the Offset field if non-nil, zero value otherwise.
+
+### GetOffsetOk
+
+`func (o *NotificationSlice) GetOffsetOk() (*int32, bool)`
+
+GetOffsetOk returns a tuple with the Offset field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOffset
+
+`func (o *NotificationSlice) SetOffset(v int32)`
+
+SetOffset sets Offset field to given value.
+
+### HasOffset
+
+`func (o *NotificationSlice) HasOffset() bool`
+
+HasOffset returns a boolean if a field has been set.
+
+### GetLimit
+
+`func (o *NotificationSlice) GetLimit() int32`
+
+GetLimit returns the Limit field if non-nil, zero value otherwise.
+
+### GetLimitOk
+
+`func (o *NotificationSlice) GetLimitOk() (*int32, bool)`
+
+GetLimitOk returns a tuple with the Limit field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLimit
+
+`func (o *NotificationSlice) SetLimit(v int32)`
+
+SetLimit sets Limit field to given value.
+
+### HasLimit
+
+`func (o *NotificationSlice) HasLimit() bool`
+
+HasLimit returns a boolean if a field has been set.
+
+### GetNotifications
+
+`func (o *NotificationSlice) GetNotifications() []Notification`
+
+GetNotifications returns the Notifications field if non-nil, zero value otherwise.
+
+### GetNotificationsOk
+
+`func (o *NotificationSlice) GetNotificationsOk() (*[]Notification, bool)`
+
+GetNotificationsOk returns a tuple with the Notifications field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNotifications
+
+`func (o *NotificationSlice) SetNotifications(v []Notification)`
+
+SetNotifications sets Notifications field to given value.
+
+### HasNotifications
+
+`func (o *NotificationSlice) HasNotifications() bool`
+
+HasNotifications returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/NotificationTarget.md b/docs/NotificationTarget.md
new file mode 100644
index 0000000..0142f55
--- /dev/null
+++ b/docs/NotificationTarget.md
@@ -0,0 +1,654 @@
+# NotificationTarget
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IncludedSegments** | Pointer to **[]string** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+**ExcludedSegments** | Pointer to **[]string** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+**LastSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users last session. Example: \&quot;1.1\&quot;  | [optional] 
+**FirstSession** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot; or \&quot;&lt;\&quot; hours_ago &#x3D; number of hours before or after the users first session. Example: \&quot;1.1\&quot;  | [optional] 
+**SessionCount** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; number sessions. Example: \&quot;1\&quot;  | [optional] 
+**SessionTime** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; Time in seconds the user has been in your app. Example: \&quot;3600\&quot;  | [optional] 
+**AmountSpent** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, or \&quot;&#x3D;\&quot; value &#x3D; Amount in USD a user has spent on IAP (In App Purchases). Example: \&quot;0.99\&quot;  | [optional] 
+**BoughtSku** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot; or \&quot;&#x3D;\&quot; key &#x3D; SKU purchased in your app as an IAP (In App Purchases). Example: \&quot;com.domain.100coinpack\&quot; value &#x3D; value of SKU to compare to. Example: \&quot;0.99\&quot;  | [optional] 
+**Tag** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot;, \&quot;!&#x3D;\&quot;, \&quot;exists\&quot;, \&quot;not_exists\&quot;, \&quot;time_elapsed_gt\&quot; (paid plan only) or \&quot;time_elapsed_lt\&quot; (paid plan only) See Time Operators key &#x3D; Tag key to compare. value &#x3D; Tag value to compare. Not required for \&quot;exists\&quot; or \&quot;not_exists\&quot;. Example: See Formatting Filters  | [optional] 
+**Language** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; 2 character language code. Example: \&quot;en\&quot;. For a list of all language codes see Language &amp; Localization.  | [optional] 
+**AppVersion** | Pointer to **string** | relation &#x3D; \&quot;&gt;\&quot;, \&quot;&lt;\&quot;, \&quot;&#x3D;\&quot; or \&quot;!&#x3D;\&quot; value &#x3D; app version. Example: \&quot;1.0.0\&quot;  | [optional] 
+**Location** | Pointer to **string** | radius &#x3D; in meters lat &#x3D; latitude long &#x3D; longitude  | [optional] 
+**Email** | Pointer to **string** | value &#x3D; email address Only for sending Push Notifications Use this for targeting push subscribers associated with an email set with all SDK setEmail methods To send emails to specific email addresses use include_email_tokens parameter  | [optional] 
+**Country** | Pointer to **string** | relation &#x3D; \&quot;&#x3D;\&quot; value &#x3D; 2-digit Country code Example: \&quot;field\&quot;: \&quot;country\&quot;, \&quot;relation\&quot;: \&quot;&#x3D;\&quot;, \&quot;value\&quot;, \&quot;US\&quot;  | [optional] 
+**IncludePlayerIds** | Pointer to **[]string** | Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\&quot;1dd608f2-c6a1-11e3-851d-000c2940e62c\&quot;] Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeExternalUserIds** | Pointer to **[]string** | Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\&quot;custom-id-assigned-by-api\&quot;] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms.  | [optional] 
+**IncludeEmailTokens** | Pointer to **[]string** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call  | [optional] 
+**IncludePhoneNumbers** | Pointer to **[]string** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeIosTokens** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeWpWnsUris** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAmazonRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeWebRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAndroidRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+
+## Methods
+
+### NewNotificationTarget
+
+`func NewNotificationTarget() *NotificationTarget`
+
+NewNotificationTarget instantiates a new NotificationTarget object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewNotificationTargetWithDefaults
+
+`func NewNotificationTargetWithDefaults() *NotificationTarget`
+
+NewNotificationTargetWithDefaults instantiates a new NotificationTarget object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetIncludedSegments
+
+`func (o *NotificationTarget) GetIncludedSegments() []string`
+
+GetIncludedSegments returns the IncludedSegments field if non-nil, zero value otherwise.
+
+### GetIncludedSegmentsOk
+
+`func (o *NotificationTarget) GetIncludedSegmentsOk() (*[]string, bool)`
+
+GetIncludedSegmentsOk returns a tuple with the IncludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludedSegments
+
+`func (o *NotificationTarget) SetIncludedSegments(v []string)`
+
+SetIncludedSegments sets IncludedSegments field to given value.
+
+### HasIncludedSegments
+
+`func (o *NotificationTarget) HasIncludedSegments() bool`
+
+HasIncludedSegments returns a boolean if a field has been set.
+
+### GetExcludedSegments
+
+`func (o *NotificationTarget) GetExcludedSegments() []string`
+
+GetExcludedSegments returns the ExcludedSegments field if non-nil, zero value otherwise.
+
+### GetExcludedSegmentsOk
+
+`func (o *NotificationTarget) GetExcludedSegmentsOk() (*[]string, bool)`
+
+GetExcludedSegmentsOk returns a tuple with the ExcludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExcludedSegments
+
+`func (o *NotificationTarget) SetExcludedSegments(v []string)`
+
+SetExcludedSegments sets ExcludedSegments field to given value.
+
+### HasExcludedSegments
+
+`func (o *NotificationTarget) HasExcludedSegments() bool`
+
+HasExcludedSegments returns a boolean if a field has been set.
+
+### GetLastSession
+
+`func (o *NotificationTarget) GetLastSession() string`
+
+GetLastSession returns the LastSession field if non-nil, zero value otherwise.
+
+### GetLastSessionOk
+
+`func (o *NotificationTarget) GetLastSessionOk() (*string, bool)`
+
+GetLastSessionOk returns a tuple with the LastSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastSession
+
+`func (o *NotificationTarget) SetLastSession(v string)`
+
+SetLastSession sets LastSession field to given value.
+
+### HasLastSession
+
+`func (o *NotificationTarget) HasLastSession() bool`
+
+HasLastSession returns a boolean if a field has been set.
+
+### GetFirstSession
+
+`func (o *NotificationTarget) GetFirstSession() string`
+
+GetFirstSession returns the FirstSession field if non-nil, zero value otherwise.
+
+### GetFirstSessionOk
+
+`func (o *NotificationTarget) GetFirstSessionOk() (*string, bool)`
+
+GetFirstSessionOk returns a tuple with the FirstSession field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirstSession
+
+`func (o *NotificationTarget) SetFirstSession(v string)`
+
+SetFirstSession sets FirstSession field to given value.
+
+### HasFirstSession
+
+`func (o *NotificationTarget) HasFirstSession() bool`
+
+HasFirstSession returns a boolean if a field has been set.
+
+### GetSessionCount
+
+`func (o *NotificationTarget) GetSessionCount() string`
+
+GetSessionCount returns the SessionCount field if non-nil, zero value otherwise.
+
+### GetSessionCountOk
+
+`func (o *NotificationTarget) GetSessionCountOk() (*string, bool)`
+
+GetSessionCountOk returns a tuple with the SessionCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionCount
+
+`func (o *NotificationTarget) SetSessionCount(v string)`
+
+SetSessionCount sets SessionCount field to given value.
+
+### HasSessionCount
+
+`func (o *NotificationTarget) HasSessionCount() bool`
+
+HasSessionCount returns a boolean if a field has been set.
+
+### GetSessionTime
+
+`func (o *NotificationTarget) GetSessionTime() string`
+
+GetSessionTime returns the SessionTime field if non-nil, zero value otherwise.
+
+### GetSessionTimeOk
+
+`func (o *NotificationTarget) GetSessionTimeOk() (*string, bool)`
+
+GetSessionTimeOk returns a tuple with the SessionTime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionTime
+
+`func (o *NotificationTarget) SetSessionTime(v string)`
+
+SetSessionTime sets SessionTime field to given value.
+
+### HasSessionTime
+
+`func (o *NotificationTarget) HasSessionTime() bool`
+
+HasSessionTime returns a boolean if a field has been set.
+
+### GetAmountSpent
+
+`func (o *NotificationTarget) GetAmountSpent() string`
+
+GetAmountSpent returns the AmountSpent field if non-nil, zero value otherwise.
+
+### GetAmountSpentOk
+
+`func (o *NotificationTarget) GetAmountSpentOk() (*string, bool)`
+
+GetAmountSpentOk returns a tuple with the AmountSpent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAmountSpent
+
+`func (o *NotificationTarget) SetAmountSpent(v string)`
+
+SetAmountSpent sets AmountSpent field to given value.
+
+### HasAmountSpent
+
+`func (o *NotificationTarget) HasAmountSpent() bool`
+
+HasAmountSpent returns a boolean if a field has been set.
+
+### GetBoughtSku
+
+`func (o *NotificationTarget) GetBoughtSku() string`
+
+GetBoughtSku returns the BoughtSku field if non-nil, zero value otherwise.
+
+### GetBoughtSkuOk
+
+`func (o *NotificationTarget) GetBoughtSkuOk() (*string, bool)`
+
+GetBoughtSkuOk returns a tuple with the BoughtSku field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBoughtSku
+
+`func (o *NotificationTarget) SetBoughtSku(v string)`
+
+SetBoughtSku sets BoughtSku field to given value.
+
+### HasBoughtSku
+
+`func (o *NotificationTarget) HasBoughtSku() bool`
+
+HasBoughtSku returns a boolean if a field has been set.
+
+### GetTag
+
+`func (o *NotificationTarget) GetTag() string`
+
+GetTag returns the Tag field if non-nil, zero value otherwise.
+
+### GetTagOk
+
+`func (o *NotificationTarget) GetTagOk() (*string, bool)`
+
+GetTagOk returns a tuple with the Tag field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTag
+
+`func (o *NotificationTarget) SetTag(v string)`
+
+SetTag sets Tag field to given value.
+
+### HasTag
+
+`func (o *NotificationTarget) HasTag() bool`
+
+HasTag returns a boolean if a field has been set.
+
+### GetLanguage
+
+`func (o *NotificationTarget) GetLanguage() string`
+
+GetLanguage returns the Language field if non-nil, zero value otherwise.
+
+### GetLanguageOk
+
+`func (o *NotificationTarget) GetLanguageOk() (*string, bool)`
+
+GetLanguageOk returns a tuple with the Language field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLanguage
+
+`func (o *NotificationTarget) SetLanguage(v string)`
+
+SetLanguage sets Language field to given value.
+
+### HasLanguage
+
+`func (o *NotificationTarget) HasLanguage() bool`
+
+HasLanguage returns a boolean if a field has been set.
+
+### GetAppVersion
+
+`func (o *NotificationTarget) GetAppVersion() string`
+
+GetAppVersion returns the AppVersion field if non-nil, zero value otherwise.
+
+### GetAppVersionOk
+
+`func (o *NotificationTarget) GetAppVersionOk() (*string, bool)`
+
+GetAppVersionOk returns a tuple with the AppVersion field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppVersion
+
+`func (o *NotificationTarget) SetAppVersion(v string)`
+
+SetAppVersion sets AppVersion field to given value.
+
+### HasAppVersion
+
+`func (o *NotificationTarget) HasAppVersion() bool`
+
+HasAppVersion returns a boolean if a field has been set.
+
+### GetLocation
+
+`func (o *NotificationTarget) GetLocation() string`
+
+GetLocation returns the Location field if non-nil, zero value otherwise.
+
+### GetLocationOk
+
+`func (o *NotificationTarget) GetLocationOk() (*string, bool)`
+
+GetLocationOk returns a tuple with the Location field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLocation
+
+`func (o *NotificationTarget) SetLocation(v string)`
+
+SetLocation sets Location field to given value.
+
+### HasLocation
+
+`func (o *NotificationTarget) HasLocation() bool`
+
+HasLocation returns a boolean if a field has been set.
+
+### GetEmail
+
+`func (o *NotificationTarget) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *NotificationTarget) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *NotificationTarget) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *NotificationTarget) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetCountry
+
+`func (o *NotificationTarget) GetCountry() string`
+
+GetCountry returns the Country field if non-nil, zero value otherwise.
+
+### GetCountryOk
+
+`func (o *NotificationTarget) GetCountryOk() (*string, bool)`
+
+GetCountryOk returns a tuple with the Country field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCountry
+
+`func (o *NotificationTarget) SetCountry(v string)`
+
+SetCountry sets Country field to given value.
+
+### HasCountry
+
+`func (o *NotificationTarget) HasCountry() bool`
+
+HasCountry returns a boolean if a field has been set.
+
+### GetIncludePlayerIds
+
+`func (o *NotificationTarget) GetIncludePlayerIds() []string`
+
+GetIncludePlayerIds returns the IncludePlayerIds field if non-nil, zero value otherwise.
+
+### GetIncludePlayerIdsOk
+
+`func (o *NotificationTarget) GetIncludePlayerIdsOk() (*[]string, bool)`
+
+GetIncludePlayerIdsOk returns a tuple with the IncludePlayerIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePlayerIds
+
+`func (o *NotificationTarget) SetIncludePlayerIds(v []string)`
+
+SetIncludePlayerIds sets IncludePlayerIds field to given value.
+
+### HasIncludePlayerIds
+
+`func (o *NotificationTarget) HasIncludePlayerIds() bool`
+
+HasIncludePlayerIds returns a boolean if a field has been set.
+
+### GetIncludeExternalUserIds
+
+`func (o *NotificationTarget) GetIncludeExternalUserIds() []string`
+
+GetIncludeExternalUserIds returns the IncludeExternalUserIds field if non-nil, zero value otherwise.
+
+### GetIncludeExternalUserIdsOk
+
+`func (o *NotificationTarget) GetIncludeExternalUserIdsOk() (*[]string, bool)`
+
+GetIncludeExternalUserIdsOk returns a tuple with the IncludeExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeExternalUserIds
+
+`func (o *NotificationTarget) SetIncludeExternalUserIds(v []string)`
+
+SetIncludeExternalUserIds sets IncludeExternalUserIds field to given value.
+
+### HasIncludeExternalUserIds
+
+`func (o *NotificationTarget) HasIncludeExternalUserIds() bool`
+
+HasIncludeExternalUserIds returns a boolean if a field has been set.
+
+### GetIncludeEmailTokens
+
+`func (o *NotificationTarget) GetIncludeEmailTokens() []string`
+
+GetIncludeEmailTokens returns the IncludeEmailTokens field if non-nil, zero value otherwise.
+
+### GetIncludeEmailTokensOk
+
+`func (o *NotificationTarget) GetIncludeEmailTokensOk() (*[]string, bool)`
+
+GetIncludeEmailTokensOk returns a tuple with the IncludeEmailTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeEmailTokens
+
+`func (o *NotificationTarget) SetIncludeEmailTokens(v []string)`
+
+SetIncludeEmailTokens sets IncludeEmailTokens field to given value.
+
+### HasIncludeEmailTokens
+
+`func (o *NotificationTarget) HasIncludeEmailTokens() bool`
+
+HasIncludeEmailTokens returns a boolean if a field has been set.
+
+### GetIncludePhoneNumbers
+
+`func (o *NotificationTarget) GetIncludePhoneNumbers() []string`
+
+GetIncludePhoneNumbers returns the IncludePhoneNumbers field if non-nil, zero value otherwise.
+
+### GetIncludePhoneNumbersOk
+
+`func (o *NotificationTarget) GetIncludePhoneNumbersOk() (*[]string, bool)`
+
+GetIncludePhoneNumbersOk returns a tuple with the IncludePhoneNumbers field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePhoneNumbers
+
+`func (o *NotificationTarget) SetIncludePhoneNumbers(v []string)`
+
+SetIncludePhoneNumbers sets IncludePhoneNumbers field to given value.
+
+### HasIncludePhoneNumbers
+
+`func (o *NotificationTarget) HasIncludePhoneNumbers() bool`
+
+HasIncludePhoneNumbers returns a boolean if a field has been set.
+
+### GetIncludeIosTokens
+
+`func (o *NotificationTarget) GetIncludeIosTokens() []string`
+
+GetIncludeIosTokens returns the IncludeIosTokens field if non-nil, zero value otherwise.
+
+### GetIncludeIosTokensOk
+
+`func (o *NotificationTarget) GetIncludeIosTokensOk() (*[]string, bool)`
+
+GetIncludeIosTokensOk returns a tuple with the IncludeIosTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeIosTokens
+
+`func (o *NotificationTarget) SetIncludeIosTokens(v []string)`
+
+SetIncludeIosTokens sets IncludeIosTokens field to given value.
+
+### HasIncludeIosTokens
+
+`func (o *NotificationTarget) HasIncludeIosTokens() bool`
+
+HasIncludeIosTokens returns a boolean if a field has been set.
+
+### GetIncludeWpWnsUris
+
+`func (o *NotificationTarget) GetIncludeWpWnsUris() []string`
+
+GetIncludeWpWnsUris returns the IncludeWpWnsUris field if non-nil, zero value otherwise.
+
+### GetIncludeWpWnsUrisOk
+
+`func (o *NotificationTarget) GetIncludeWpWnsUrisOk() (*[]string, bool)`
+
+GetIncludeWpWnsUrisOk returns a tuple with the IncludeWpWnsUris field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeWpWnsUris
+
+`func (o *NotificationTarget) SetIncludeWpWnsUris(v []string)`
+
+SetIncludeWpWnsUris sets IncludeWpWnsUris field to given value.
+
+### HasIncludeWpWnsUris
+
+`func (o *NotificationTarget) HasIncludeWpWnsUris() bool`
+
+HasIncludeWpWnsUris returns a boolean if a field has been set.
+
+### GetIncludeAmazonRegIds
+
+`func (o *NotificationTarget) GetIncludeAmazonRegIds() []string`
+
+GetIncludeAmazonRegIds returns the IncludeAmazonRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAmazonRegIdsOk
+
+`func (o *NotificationTarget) GetIncludeAmazonRegIdsOk() (*[]string, bool)`
+
+GetIncludeAmazonRegIdsOk returns a tuple with the IncludeAmazonRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAmazonRegIds
+
+`func (o *NotificationTarget) SetIncludeAmazonRegIds(v []string)`
+
+SetIncludeAmazonRegIds sets IncludeAmazonRegIds field to given value.
+
+### HasIncludeAmazonRegIds
+
+`func (o *NotificationTarget) HasIncludeAmazonRegIds() bool`
+
+HasIncludeAmazonRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeRegIds
+
+`func (o *NotificationTarget) GetIncludeChromeRegIds() []string`
+
+GetIncludeChromeRegIds returns the IncludeChromeRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeRegIdsOk
+
+`func (o *NotificationTarget) GetIncludeChromeRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeRegIdsOk returns a tuple with the IncludeChromeRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeRegIds
+
+`func (o *NotificationTarget) SetIncludeChromeRegIds(v []string)`
+
+SetIncludeChromeRegIds sets IncludeChromeRegIds field to given value.
+
+### HasIncludeChromeRegIds
+
+`func (o *NotificationTarget) HasIncludeChromeRegIds() bool`
+
+HasIncludeChromeRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeWebRegIds
+
+`func (o *NotificationTarget) GetIncludeChromeWebRegIds() []string`
+
+GetIncludeChromeWebRegIds returns the IncludeChromeWebRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeWebRegIdsOk
+
+`func (o *NotificationTarget) GetIncludeChromeWebRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeWebRegIdsOk returns a tuple with the IncludeChromeWebRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeWebRegIds
+
+`func (o *NotificationTarget) SetIncludeChromeWebRegIds(v []string)`
+
+SetIncludeChromeWebRegIds sets IncludeChromeWebRegIds field to given value.
+
+### HasIncludeChromeWebRegIds
+
+`func (o *NotificationTarget) HasIncludeChromeWebRegIds() bool`
+
+HasIncludeChromeWebRegIds returns a boolean if a field has been set.
+
+### GetIncludeAndroidRegIds
+
+`func (o *NotificationTarget) GetIncludeAndroidRegIds() []string`
+
+GetIncludeAndroidRegIds returns the IncludeAndroidRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAndroidRegIdsOk
+
+`func (o *NotificationTarget) GetIncludeAndroidRegIdsOk() (*[]string, bool)`
+
+GetIncludeAndroidRegIdsOk returns a tuple with the IncludeAndroidRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAndroidRegIds
+
+`func (o *NotificationTarget) SetIncludeAndroidRegIds(v []string)`
+
+SetIncludeAndroidRegIds sets IncludeAndroidRegIds field to given value.
+
+### HasIncludeAndroidRegIds
+
+`func (o *NotificationTarget) HasIncludeAndroidRegIds() bool`
+
+HasIncludeAndroidRegIds returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Operator.md b/docs/Operator.md
new file mode 100644
index 0000000..ee64025
--- /dev/null
+++ b/docs/Operator.md
@@ -0,0 +1,56 @@
+# Operator
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Operator** | Pointer to **string** | Strictly, this must be either &#x60;\&quot;OR\&quot;&#x60;, or &#x60;\&quot;AND\&quot;&#x60;.  It can be used to compose Filters as part of a Filters object. | [optional] 
+
+## Methods
+
+### NewOperator
+
+`func NewOperator() *Operator`
+
+NewOperator instantiates a new Operator object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewOperatorWithDefaults
+
+`func NewOperatorWithDefaults() *Operator`
+
+NewOperatorWithDefaults instantiates a new Operator object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetOperator
+
+`func (o *Operator) GetOperator() string`
+
+GetOperator returns the Operator field if non-nil, zero value otherwise.
+
+### GetOperatorOk
+
+`func (o *Operator) GetOperatorOk() (*string, bool)`
+
+GetOperatorOk returns a tuple with the Operator field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOperator
+
+`func (o *Operator) SetOperator(v string)`
+
+SetOperator sets Operator field to given value.
+
+### HasOperator
+
+`func (o *Operator) HasOperator() bool`
+
+HasOperator returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OutcomeData.md b/docs/OutcomeData.md
new file mode 100644
index 0000000..a2a78df
--- /dev/null
+++ b/docs/OutcomeData.md
@@ -0,0 +1,93 @@
+# OutcomeData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** |  | 
+**Value** | **int32** |  | 
+**Aggregation** | **string** |  | 
+
+## Methods
+
+### NewOutcomeData
+
+`func NewOutcomeData(id string, value int32, aggregation string, ) *OutcomeData`
+
+NewOutcomeData instantiates a new OutcomeData object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewOutcomeDataWithDefaults
+
+`func NewOutcomeDataWithDefaults() *OutcomeData`
+
+NewOutcomeDataWithDefaults instantiates a new OutcomeData object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *OutcomeData) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *OutcomeData) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *OutcomeData) SetId(v string)`
+
+SetId sets Id field to given value.
+
+
+### GetValue
+
+`func (o *OutcomeData) GetValue() int32`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *OutcomeData) GetValueOk() (*int32, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *OutcomeData) SetValue(v int32)`
+
+SetValue sets Value field to given value.
+
+
+### GetAggregation
+
+`func (o *OutcomeData) GetAggregation() string`
+
+GetAggregation returns the Aggregation field if non-nil, zero value otherwise.
+
+### GetAggregationOk
+
+`func (o *OutcomeData) GetAggregationOk() (*string, bool)`
+
+GetAggregationOk returns a tuple with the Aggregation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAggregation
+
+`func (o *OutcomeData) SetAggregation(v string)`
+
+SetAggregation sets Aggregation field to given value.
+
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OutcomesData.md b/docs/OutcomesData.md
new file mode 100644
index 0000000..42239d9
--- /dev/null
+++ b/docs/OutcomesData.md
@@ -0,0 +1,56 @@
+# OutcomesData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Outcomes** | Pointer to [**[]OutcomeData**](OutcomeData.md) |  | [optional] 
+
+## Methods
+
+### NewOutcomesData
+
+`func NewOutcomesData() *OutcomesData`
+
+NewOutcomesData instantiates a new OutcomesData object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewOutcomesDataWithDefaults
+
+`func NewOutcomesDataWithDefaults() *OutcomesData`
+
+NewOutcomesDataWithDefaults instantiates a new OutcomesData object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetOutcomes
+
+`func (o *OutcomesData) GetOutcomes() []OutcomeData`
+
+GetOutcomes returns the Outcomes field if non-nil, zero value otherwise.
+
+### GetOutcomesOk
+
+`func (o *OutcomesData) GetOutcomesOk() (*[]OutcomeData, bool)`
+
+GetOutcomesOk returns a tuple with the Outcomes field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOutcomes
+
+`func (o *OutcomesData) SetOutcomes(v []OutcomeData)`
+
+SetOutcomes sets Outcomes field to given value.
+
+### HasOutcomes
+
+`func (o *OutcomesData) HasOutcomes() bool`
+
+HasOutcomes returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PlatformDeliveryData.md b/docs/PlatformDeliveryData.md
new file mode 100644
index 0000000..f906259
--- /dev/null
+++ b/docs/PlatformDeliveryData.md
@@ -0,0 +1,186 @@
+# PlatformDeliveryData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**EdgeWebPush** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+**ChromeWebPush** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+**FirefoxWebPush** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+**SafariWebPush** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+**Android** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+**Ios** | Pointer to [**DeliveryData**](DeliveryData.md) |  | [optional] 
+
+## Methods
+
+### NewPlatformDeliveryData
+
+`func NewPlatformDeliveryData() *PlatformDeliveryData`
+
+NewPlatformDeliveryData instantiates a new PlatformDeliveryData object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewPlatformDeliveryDataWithDefaults
+
+`func NewPlatformDeliveryDataWithDefaults() *PlatformDeliveryData`
+
+NewPlatformDeliveryDataWithDefaults instantiates a new PlatformDeliveryData object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEdgeWebPush
+
+`func (o *PlatformDeliveryData) GetEdgeWebPush() DeliveryData`
+
+GetEdgeWebPush returns the EdgeWebPush field if non-nil, zero value otherwise.
+
+### GetEdgeWebPushOk
+
+`func (o *PlatformDeliveryData) GetEdgeWebPushOk() (*DeliveryData, bool)`
+
+GetEdgeWebPushOk returns a tuple with the EdgeWebPush field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEdgeWebPush
+
+`func (o *PlatformDeliveryData) SetEdgeWebPush(v DeliveryData)`
+
+SetEdgeWebPush sets EdgeWebPush field to given value.
+
+### HasEdgeWebPush
+
+`func (o *PlatformDeliveryData) HasEdgeWebPush() bool`
+
+HasEdgeWebPush returns a boolean if a field has been set.
+
+### GetChromeWebPush
+
+`func (o *PlatformDeliveryData) GetChromeWebPush() DeliveryData`
+
+GetChromeWebPush returns the ChromeWebPush field if non-nil, zero value otherwise.
+
+### GetChromeWebPushOk
+
+`func (o *PlatformDeliveryData) GetChromeWebPushOk() (*DeliveryData, bool)`
+
+GetChromeWebPushOk returns a tuple with the ChromeWebPush field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetChromeWebPush
+
+`func (o *PlatformDeliveryData) SetChromeWebPush(v DeliveryData)`
+
+SetChromeWebPush sets ChromeWebPush field to given value.
+
+### HasChromeWebPush
+
+`func (o *PlatformDeliveryData) HasChromeWebPush() bool`
+
+HasChromeWebPush returns a boolean if a field has been set.
+
+### GetFirefoxWebPush
+
+`func (o *PlatformDeliveryData) GetFirefoxWebPush() DeliveryData`
+
+GetFirefoxWebPush returns the FirefoxWebPush field if non-nil, zero value otherwise.
+
+### GetFirefoxWebPushOk
+
+`func (o *PlatformDeliveryData) GetFirefoxWebPushOk() (*DeliveryData, bool)`
+
+GetFirefoxWebPushOk returns a tuple with the FirefoxWebPush field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFirefoxWebPush
+
+`func (o *PlatformDeliveryData) SetFirefoxWebPush(v DeliveryData)`
+
+SetFirefoxWebPush sets FirefoxWebPush field to given value.
+
+### HasFirefoxWebPush
+
+`func (o *PlatformDeliveryData) HasFirefoxWebPush() bool`
+
+HasFirefoxWebPush returns a boolean if a field has been set.
+
+### GetSafariWebPush
+
+`func (o *PlatformDeliveryData) GetSafariWebPush() DeliveryData`
+
+GetSafariWebPush returns the SafariWebPush field if non-nil, zero value otherwise.
+
+### GetSafariWebPushOk
+
+`func (o *PlatformDeliveryData) GetSafariWebPushOk() (*DeliveryData, bool)`
+
+GetSafariWebPushOk returns a tuple with the SafariWebPush field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSafariWebPush
+
+`func (o *PlatformDeliveryData) SetSafariWebPush(v DeliveryData)`
+
+SetSafariWebPush sets SafariWebPush field to given value.
+
+### HasSafariWebPush
+
+`func (o *PlatformDeliveryData) HasSafariWebPush() bool`
+
+HasSafariWebPush returns a boolean if a field has been set.
+
+### GetAndroid
+
+`func (o *PlatformDeliveryData) GetAndroid() DeliveryData`
+
+GetAndroid returns the Android field if non-nil, zero value otherwise.
+
+### GetAndroidOk
+
+`func (o *PlatformDeliveryData) GetAndroidOk() (*DeliveryData, bool)`
+
+GetAndroidOk returns a tuple with the Android field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAndroid
+
+`func (o *PlatformDeliveryData) SetAndroid(v DeliveryData)`
+
+SetAndroid sets Android field to given value.
+
+### HasAndroid
+
+`func (o *PlatformDeliveryData) HasAndroid() bool`
+
+HasAndroid returns a boolean if a field has been set.
+
+### GetIos
+
+`func (o *PlatformDeliveryData) GetIos() DeliveryData`
+
+GetIos returns the Ios field if non-nil, zero value otherwise.
+
+### GetIosOk
+
+`func (o *PlatformDeliveryData) GetIosOk() (*DeliveryData, bool)`
+
+GetIosOk returns a tuple with the Ios field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIos
+
+`func (o *PlatformDeliveryData) SetIos(v DeliveryData)`
+
+SetIos sets Ios field to given value.
+
+### HasIos
+
+`func (o *PlatformDeliveryData) HasIos() bool`
+
+HasIos returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Player.md b/docs/Player.md
new file mode 100644
index 0000000..8eb07de
--- /dev/null
+++ b/docs/Player.md
@@ -0,0 +1,717 @@
+# Player
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | The device&#39;s OneSignal ID | [readonly] 
+**InvalidIdentifier** | Pointer to **bool** | If true, this is the equivalent of a user being Unsubscribed | [optional] [readonly] 
+**AppId** | **string** |  | 
+**DeviceType** | **int32** | Required The device&#39;s platform:   0 &#x3D; iOS   1 &#x3D; Android   2 &#x3D; Amazon   3 &#x3D; WindowsPhone (MPNS)   4 &#x3D; Chrome Apps / Extensions   5 &#x3D; Chrome Web Push   6 &#x3D; Windows (WNS)   7 &#x3D; Safari   8 &#x3D; Firefox   9 &#x3D; MacOS   10 &#x3D; Alexa   11 &#x3D; Email   13 &#x3D; For Huawei App Gallery Builds SDK Setup. Not for Huawei Devices using FCM   14 &#x3D; SMS  | 
+**ExternalUserId** | Pointer to **string** | a custom user ID | [optional] 
+**ExternalUserIdAuthHash** | Pointer to **string** | Only required if you have enabled Identity Verification and device_type is NOT 11 email. | [optional] 
+**EmailAuthHash** | Pointer to **string** | Email - Only required if you have enabled Identity Verification and device_type is email (11). | [optional] 
+**Identifier** | Pointer to **string** | Recommended: For Push Notifications, this is the Push Token Identifier from Google or Apple. For Apple Push identifiers, you must strip all non alphanumeric characters. Examples: iOS: 7abcd558f29d0b1f048083e2834ad8ea4b3d87d8ad9c088b33c132706ff445f0 Android: APA91bHbYHk7aq-Uam_2pyJ2qbZvqllyyh2wjfPRaw5gLEX2SUlQBRvOc6sck1sa7H7nGeLNlDco8lXj83HWWwzV... For Email Addresses, set the full email address email@email.com and make sure to set device_type to 11.  | [optional] 
+**Language** | Pointer to **string** | Language code. Typically lower case two letters, except for Chinese where it must be one of zh-Hans or zh-Hant. Example: en  | [optional] 
+**Timezone** | Pointer to **int32** | Number of seconds away from UTC. Example: -28800  | [optional] 
+**GameVersion** | Pointer to **string** | Version of your app. Example: 1.1  | [optional] 
+**DeviceModel** | Pointer to **string** | Device make and model. Example: iPhone5,1  | [optional] 
+**DeviceOs** | Pointer to **string** | Device operating system version. Example: 7.0.4  | [optional] 
+**AdId** | Pointer to **string** | The ad id for the device&#39;s platform: Android &#x3D; Advertising Id iOS &#x3D; identifierForVendor WP8.0 &#x3D; DeviceUniqueId WP8.1 &#x3D; AdvertisingId  | [optional] 
+**Sdk** | Pointer to **string** | Name and version of the sdk/plugin that&#39;s calling this API method (if any) | [optional] 
+**SessionCount** | Pointer to **int32** | Number of times the user has played the game, defaults to 1 | [optional] 
+**Tags** | Pointer to **map[string]interface{}** | Custom tags for the player. Only support string and integer key value pairs. Does not support arrays or other nested objects. Setting a tag value to null or an empty string will remove the tag. Example: {\&quot;foo\&quot;:\&quot;bar\&quot;,\&quot;this\&quot;:\&quot;that\&quot;} Limitations: - 100 tags per call - Android SDK users: tags cannot be removed or changed via API if set through SDK sendTag methods. Recommended to only tag devices with 1 kilobyte of data Please consider using your own Database to save more than 1 kilobyte of data. See: Internal Database &amp; CRM  | [optional] 
+**AmountSpent** | Pointer to **string** | Amount the user has spent in USD, up to two decimal places | [optional] 
+**CreatedAt** | Pointer to **int32** | Unixtime when the player joined the game | [optional] 
+**Playtime** | Pointer to **int32** | Seconds player was running your app. | [optional] 
+**BadgeCount** | Pointer to **int32** | Current iOS badge count displayed on the app icon NOTE: Not supported for apps created after June 2018, since badge count for apps created after this date are handled on the client.  | [optional] 
+**LastActive** | Pointer to **int32** | Unixtime when the player was last active | [optional] 
+**NotificationTypes** | Pointer to **int32** | 1 &#x3D; subscribed -2 &#x3D; unsubscribed iOS - These values are set each time the user opens the app from the SDK. Use the SDK function set Subscription instead. Android - You may set this but you can no longer use the SDK method setSubscription later in your app as it will create synchronization issues.  | [optional] 
+**TestType** | Pointer to **int32** | This is used in deciding whether to use your iOS Sandbox or Production push certificate when sending a push when both have been uploaded. Set to the iOS provisioning profile that was used to build your app. 1 &#x3D; Development 2 &#x3D; Ad-Hoc Omit this field for App Store builds.  | [optional] 
+**Long** | Pointer to **float32** | Longitude of the device, used for geotagging to segment on. | [optional] 
+**Lat** | Pointer to **float32** | Latitude of the device, used for geotagging to segment on. | [optional] 
+**Country** | Pointer to **string** | Country code in the ISO 3166-1 Alpha 2 format | [optional] 
+
+## Methods
+
+### NewPlayer
+
+`func NewPlayer(id string, appId string, deviceType int32, ) *Player`
+
+NewPlayer instantiates a new Player object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewPlayerWithDefaults
+
+`func NewPlayerWithDefaults() *Player`
+
+NewPlayerWithDefaults instantiates a new Player object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Player) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Player) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Player) SetId(v string)`
+
+SetId sets Id field to given value.
+
+
+### GetInvalidIdentifier
+
+`func (o *Player) GetInvalidIdentifier() bool`
+
+GetInvalidIdentifier returns the InvalidIdentifier field if non-nil, zero value otherwise.
+
+### GetInvalidIdentifierOk
+
+`func (o *Player) GetInvalidIdentifierOk() (*bool, bool)`
+
+GetInvalidIdentifierOk returns a tuple with the InvalidIdentifier field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetInvalidIdentifier
+
+`func (o *Player) SetInvalidIdentifier(v bool)`
+
+SetInvalidIdentifier sets InvalidIdentifier field to given value.
+
+### HasInvalidIdentifier
+
+`func (o *Player) HasInvalidIdentifier() bool`
+
+HasInvalidIdentifier returns a boolean if a field has been set.
+
+### GetAppId
+
+`func (o *Player) GetAppId() string`
+
+GetAppId returns the AppId field if non-nil, zero value otherwise.
+
+### GetAppIdOk
+
+`func (o *Player) GetAppIdOk() (*string, bool)`
+
+GetAppIdOk returns a tuple with the AppId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAppId
+
+`func (o *Player) SetAppId(v string)`
+
+SetAppId sets AppId field to given value.
+
+
+### GetDeviceType
+
+`func (o *Player) GetDeviceType() int32`
+
+GetDeviceType returns the DeviceType field if non-nil, zero value otherwise.
+
+### GetDeviceTypeOk
+
+`func (o *Player) GetDeviceTypeOk() (*int32, bool)`
+
+GetDeviceTypeOk returns a tuple with the DeviceType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDeviceType
+
+`func (o *Player) SetDeviceType(v int32)`
+
+SetDeviceType sets DeviceType field to given value.
+
+
+### GetExternalUserId
+
+`func (o *Player) GetExternalUserId() string`
+
+GetExternalUserId returns the ExternalUserId field if non-nil, zero value otherwise.
+
+### GetExternalUserIdOk
+
+`func (o *Player) GetExternalUserIdOk() (*string, bool)`
+
+GetExternalUserIdOk returns a tuple with the ExternalUserId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExternalUserId
+
+`func (o *Player) SetExternalUserId(v string)`
+
+SetExternalUserId sets ExternalUserId field to given value.
+
+### HasExternalUserId
+
+`func (o *Player) HasExternalUserId() bool`
+
+HasExternalUserId returns a boolean if a field has been set.
+
+### GetExternalUserIdAuthHash
+
+`func (o *Player) GetExternalUserIdAuthHash() string`
+
+GetExternalUserIdAuthHash returns the ExternalUserIdAuthHash field if non-nil, zero value otherwise.
+
+### GetExternalUserIdAuthHashOk
+
+`func (o *Player) GetExternalUserIdAuthHashOk() (*string, bool)`
+
+GetExternalUserIdAuthHashOk returns a tuple with the ExternalUserIdAuthHash field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExternalUserIdAuthHash
+
+`func (o *Player) SetExternalUserIdAuthHash(v string)`
+
+SetExternalUserIdAuthHash sets ExternalUserIdAuthHash field to given value.
+
+### HasExternalUserIdAuthHash
+
+`func (o *Player) HasExternalUserIdAuthHash() bool`
+
+HasExternalUserIdAuthHash returns a boolean if a field has been set.
+
+### GetEmailAuthHash
+
+`func (o *Player) GetEmailAuthHash() string`
+
+GetEmailAuthHash returns the EmailAuthHash field if non-nil, zero value otherwise.
+
+### GetEmailAuthHashOk
+
+`func (o *Player) GetEmailAuthHashOk() (*string, bool)`
+
+GetEmailAuthHashOk returns a tuple with the EmailAuthHash field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmailAuthHash
+
+`func (o *Player) SetEmailAuthHash(v string)`
+
+SetEmailAuthHash sets EmailAuthHash field to given value.
+
+### HasEmailAuthHash
+
+`func (o *Player) HasEmailAuthHash() bool`
+
+HasEmailAuthHash returns a boolean if a field has been set.
+
+### GetIdentifier
+
+`func (o *Player) GetIdentifier() string`
+
+GetIdentifier returns the Identifier field if non-nil, zero value otherwise.
+
+### GetIdentifierOk
+
+`func (o *Player) GetIdentifierOk() (*string, bool)`
+
+GetIdentifierOk returns a tuple with the Identifier field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIdentifier
+
+`func (o *Player) SetIdentifier(v string)`
+
+SetIdentifier sets Identifier field to given value.
+
+### HasIdentifier
+
+`func (o *Player) HasIdentifier() bool`
+
+HasIdentifier returns a boolean if a field has been set.
+
+### GetLanguage
+
+`func (o *Player) GetLanguage() string`
+
+GetLanguage returns the Language field if non-nil, zero value otherwise.
+
+### GetLanguageOk
+
+`func (o *Player) GetLanguageOk() (*string, bool)`
+
+GetLanguageOk returns a tuple with the Language field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLanguage
+
+`func (o *Player) SetLanguage(v string)`
+
+SetLanguage sets Language field to given value.
+
+### HasLanguage
+
+`func (o *Player) HasLanguage() bool`
+
+HasLanguage returns a boolean if a field has been set.
+
+### GetTimezone
+
+`func (o *Player) GetTimezone() int32`
+
+GetTimezone returns the Timezone field if non-nil, zero value otherwise.
+
+### GetTimezoneOk
+
+`func (o *Player) GetTimezoneOk() (*int32, bool)`
+
+GetTimezoneOk returns a tuple with the Timezone field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTimezone
+
+`func (o *Player) SetTimezone(v int32)`
+
+SetTimezone sets Timezone field to given value.
+
+### HasTimezone
+
+`func (o *Player) HasTimezone() bool`
+
+HasTimezone returns a boolean if a field has been set.
+
+### GetGameVersion
+
+`func (o *Player) GetGameVersion() string`
+
+GetGameVersion returns the GameVersion field if non-nil, zero value otherwise.
+
+### GetGameVersionOk
+
+`func (o *Player) GetGameVersionOk() (*string, bool)`
+
+GetGameVersionOk returns a tuple with the GameVersion field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetGameVersion
+
+`func (o *Player) SetGameVersion(v string)`
+
+SetGameVersion sets GameVersion field to given value.
+
+### HasGameVersion
+
+`func (o *Player) HasGameVersion() bool`
+
+HasGameVersion returns a boolean if a field has been set.
+
+### GetDeviceModel
+
+`func (o *Player) GetDeviceModel() string`
+
+GetDeviceModel returns the DeviceModel field if non-nil, zero value otherwise.
+
+### GetDeviceModelOk
+
+`func (o *Player) GetDeviceModelOk() (*string, bool)`
+
+GetDeviceModelOk returns a tuple with the DeviceModel field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDeviceModel
+
+`func (o *Player) SetDeviceModel(v string)`
+
+SetDeviceModel sets DeviceModel field to given value.
+
+### HasDeviceModel
+
+`func (o *Player) HasDeviceModel() bool`
+
+HasDeviceModel returns a boolean if a field has been set.
+
+### GetDeviceOs
+
+`func (o *Player) GetDeviceOs() string`
+
+GetDeviceOs returns the DeviceOs field if non-nil, zero value otherwise.
+
+### GetDeviceOsOk
+
+`func (o *Player) GetDeviceOsOk() (*string, bool)`
+
+GetDeviceOsOk returns a tuple with the DeviceOs field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDeviceOs
+
+`func (o *Player) SetDeviceOs(v string)`
+
+SetDeviceOs sets DeviceOs field to given value.
+
+### HasDeviceOs
+
+`func (o *Player) HasDeviceOs() bool`
+
+HasDeviceOs returns a boolean if a field has been set.
+
+### GetAdId
+
+`func (o *Player) GetAdId() string`
+
+GetAdId returns the AdId field if non-nil, zero value otherwise.
+
+### GetAdIdOk
+
+`func (o *Player) GetAdIdOk() (*string, bool)`
+
+GetAdIdOk returns a tuple with the AdId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAdId
+
+`func (o *Player) SetAdId(v string)`
+
+SetAdId sets AdId field to given value.
+
+### HasAdId
+
+`func (o *Player) HasAdId() bool`
+
+HasAdId returns a boolean if a field has been set.
+
+### GetSdk
+
+`func (o *Player) GetSdk() string`
+
+GetSdk returns the Sdk field if non-nil, zero value otherwise.
+
+### GetSdkOk
+
+`func (o *Player) GetSdkOk() (*string, bool)`
+
+GetSdkOk returns a tuple with the Sdk field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSdk
+
+`func (o *Player) SetSdk(v string)`
+
+SetSdk sets Sdk field to given value.
+
+### HasSdk
+
+`func (o *Player) HasSdk() bool`
+
+HasSdk returns a boolean if a field has been set.
+
+### GetSessionCount
+
+`func (o *Player) GetSessionCount() int32`
+
+GetSessionCount returns the SessionCount field if non-nil, zero value otherwise.
+
+### GetSessionCountOk
+
+`func (o *Player) GetSessionCountOk() (*int32, bool)`
+
+GetSessionCountOk returns a tuple with the SessionCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSessionCount
+
+`func (o *Player) SetSessionCount(v int32)`
+
+SetSessionCount sets SessionCount field to given value.
+
+### HasSessionCount
+
+`func (o *Player) HasSessionCount() bool`
+
+HasSessionCount returns a boolean if a field has been set.
+
+### GetTags
+
+`func (o *Player) GetTags() map[string]interface{}`
+
+GetTags returns the Tags field if non-nil, zero value otherwise.
+
+### GetTagsOk
+
+`func (o *Player) GetTagsOk() (*map[string]interface{}, bool)`
+
+GetTagsOk returns a tuple with the Tags field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTags
+
+`func (o *Player) SetTags(v map[string]interface{})`
+
+SetTags sets Tags field to given value.
+
+### HasTags
+
+`func (o *Player) HasTags() bool`
+
+HasTags returns a boolean if a field has been set.
+
+### GetAmountSpent
+
+`func (o *Player) GetAmountSpent() string`
+
+GetAmountSpent returns the AmountSpent field if non-nil, zero value otherwise.
+
+### GetAmountSpentOk
+
+`func (o *Player) GetAmountSpentOk() (*string, bool)`
+
+GetAmountSpentOk returns a tuple with the AmountSpent field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAmountSpent
+
+`func (o *Player) SetAmountSpent(v string)`
+
+SetAmountSpent sets AmountSpent field to given value.
+
+### HasAmountSpent
+
+`func (o *Player) HasAmountSpent() bool`
+
+HasAmountSpent returns a boolean if a field has been set.
+
+### GetCreatedAt
+
+`func (o *Player) GetCreatedAt() int32`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *Player) GetCreatedAtOk() (*int32, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *Player) SetCreatedAt(v int32)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *Player) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetPlaytime
+
+`func (o *Player) GetPlaytime() int32`
+
+GetPlaytime returns the Playtime field if non-nil, zero value otherwise.
+
+### GetPlaytimeOk
+
+`func (o *Player) GetPlaytimeOk() (*int32, bool)`
+
+GetPlaytimeOk returns a tuple with the Playtime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPlaytime
+
+`func (o *Player) SetPlaytime(v int32)`
+
+SetPlaytime sets Playtime field to given value.
+
+### HasPlaytime
+
+`func (o *Player) HasPlaytime() bool`
+
+HasPlaytime returns a boolean if a field has been set.
+
+### GetBadgeCount
+
+`func (o *Player) GetBadgeCount() int32`
+
+GetBadgeCount returns the BadgeCount field if non-nil, zero value otherwise.
+
+### GetBadgeCountOk
+
+`func (o *Player) GetBadgeCountOk() (*int32, bool)`
+
+GetBadgeCountOk returns a tuple with the BadgeCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBadgeCount
+
+`func (o *Player) SetBadgeCount(v int32)`
+
+SetBadgeCount sets BadgeCount field to given value.
+
+### HasBadgeCount
+
+`func (o *Player) HasBadgeCount() bool`
+
+HasBadgeCount returns a boolean if a field has been set.
+
+### GetLastActive
+
+`func (o *Player) GetLastActive() int32`
+
+GetLastActive returns the LastActive field if non-nil, zero value otherwise.
+
+### GetLastActiveOk
+
+`func (o *Player) GetLastActiveOk() (*int32, bool)`
+
+GetLastActiveOk returns a tuple with the LastActive field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastActive
+
+`func (o *Player) SetLastActive(v int32)`
+
+SetLastActive sets LastActive field to given value.
+
+### HasLastActive
+
+`func (o *Player) HasLastActive() bool`
+
+HasLastActive returns a boolean if a field has been set.
+
+### GetNotificationTypes
+
+`func (o *Player) GetNotificationTypes() int32`
+
+GetNotificationTypes returns the NotificationTypes field if non-nil, zero value otherwise.
+
+### GetNotificationTypesOk
+
+`func (o *Player) GetNotificationTypesOk() (*int32, bool)`
+
+GetNotificationTypesOk returns a tuple with the NotificationTypes field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNotificationTypes
+
+`func (o *Player) SetNotificationTypes(v int32)`
+
+SetNotificationTypes sets NotificationTypes field to given value.
+
+### HasNotificationTypes
+
+`func (o *Player) HasNotificationTypes() bool`
+
+HasNotificationTypes returns a boolean if a field has been set.
+
+### GetTestType
+
+`func (o *Player) GetTestType() int32`
+
+GetTestType returns the TestType field if non-nil, zero value otherwise.
+
+### GetTestTypeOk
+
+`func (o *Player) GetTestTypeOk() (*int32, bool)`
+
+GetTestTypeOk returns a tuple with the TestType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTestType
+
+`func (o *Player) SetTestType(v int32)`
+
+SetTestType sets TestType field to given value.
+
+### HasTestType
+
+`func (o *Player) HasTestType() bool`
+
+HasTestType returns a boolean if a field has been set.
+
+### GetLong
+
+`func (o *Player) GetLong() float32`
+
+GetLong returns the Long field if non-nil, zero value otherwise.
+
+### GetLongOk
+
+`func (o *Player) GetLongOk() (*float32, bool)`
+
+GetLongOk returns a tuple with the Long field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLong
+
+`func (o *Player) SetLong(v float32)`
+
+SetLong sets Long field to given value.
+
+### HasLong
+
+`func (o *Player) HasLong() bool`
+
+HasLong returns a boolean if a field has been set.
+
+### GetLat
+
+`func (o *Player) GetLat() float32`
+
+GetLat returns the Lat field if non-nil, zero value otherwise.
+
+### GetLatOk
+
+`func (o *Player) GetLatOk() (*float32, bool)`
+
+GetLatOk returns a tuple with the Lat field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLat
+
+`func (o *Player) SetLat(v float32)`
+
+SetLat sets Lat field to given value.
+
+### HasLat
+
+`func (o *Player) HasLat() bool`
+
+HasLat returns a boolean if a field has been set.
+
+### GetCountry
+
+`func (o *Player) GetCountry() string`
+
+GetCountry returns the Country field if non-nil, zero value otherwise.
+
+### GetCountryOk
+
+`func (o *Player) GetCountryOk() (*string, bool)`
+
+GetCountryOk returns a tuple with the Country field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCountry
+
+`func (o *Player) SetCountry(v string)`
+
+SetCountry sets Country field to given value.
+
+### HasCountry
+
+`func (o *Player) HasCountry() bool`
+
+HasCountry returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PlayerNotificationTarget.md b/docs/PlayerNotificationTarget.md
new file mode 100644
index 0000000..855cfff
--- /dev/null
+++ b/docs/PlayerNotificationTarget.md
@@ -0,0 +1,290 @@
+# PlayerNotificationTarget
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IncludePlayerIds** | Pointer to **[]string** | Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\&quot;1dd608f2-c6a1-11e3-851d-000c2940e62c\&quot;] Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeExternalUserIds** | Pointer to **[]string** | Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\&quot;custom-id-assigned-by-api\&quot;] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms.  | [optional] 
+**IncludeEmailTokens** | Pointer to **[]string** | Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call  | [optional] 
+**IncludePhoneNumbers** | Pointer to **[]string** | Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeIosTokens** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeWpWnsUris** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAmazonRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeChromeWebRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+**IncludeAndroidRegIds** | Pointer to **[]string** | Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call  | [optional] 
+
+## Methods
+
+### NewPlayerNotificationTarget
+
+`func NewPlayerNotificationTarget() *PlayerNotificationTarget`
+
+NewPlayerNotificationTarget instantiates a new PlayerNotificationTarget object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewPlayerNotificationTargetWithDefaults
+
+`func NewPlayerNotificationTargetWithDefaults() *PlayerNotificationTarget`
+
+NewPlayerNotificationTargetWithDefaults instantiates a new PlayerNotificationTarget object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetIncludePlayerIds
+
+`func (o *PlayerNotificationTarget) GetIncludePlayerIds() []string`
+
+GetIncludePlayerIds returns the IncludePlayerIds field if non-nil, zero value otherwise.
+
+### GetIncludePlayerIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludePlayerIdsOk() (*[]string, bool)`
+
+GetIncludePlayerIdsOk returns a tuple with the IncludePlayerIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePlayerIds
+
+`func (o *PlayerNotificationTarget) SetIncludePlayerIds(v []string)`
+
+SetIncludePlayerIds sets IncludePlayerIds field to given value.
+
+### HasIncludePlayerIds
+
+`func (o *PlayerNotificationTarget) HasIncludePlayerIds() bool`
+
+HasIncludePlayerIds returns a boolean if a field has been set.
+
+### GetIncludeExternalUserIds
+
+`func (o *PlayerNotificationTarget) GetIncludeExternalUserIds() []string`
+
+GetIncludeExternalUserIds returns the IncludeExternalUserIds field if non-nil, zero value otherwise.
+
+### GetIncludeExternalUserIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludeExternalUserIdsOk() (*[]string, bool)`
+
+GetIncludeExternalUserIdsOk returns a tuple with the IncludeExternalUserIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeExternalUserIds
+
+`func (o *PlayerNotificationTarget) SetIncludeExternalUserIds(v []string)`
+
+SetIncludeExternalUserIds sets IncludeExternalUserIds field to given value.
+
+### HasIncludeExternalUserIds
+
+`func (o *PlayerNotificationTarget) HasIncludeExternalUserIds() bool`
+
+HasIncludeExternalUserIds returns a boolean if a field has been set.
+
+### GetIncludeEmailTokens
+
+`func (o *PlayerNotificationTarget) GetIncludeEmailTokens() []string`
+
+GetIncludeEmailTokens returns the IncludeEmailTokens field if non-nil, zero value otherwise.
+
+### GetIncludeEmailTokensOk
+
+`func (o *PlayerNotificationTarget) GetIncludeEmailTokensOk() (*[]string, bool)`
+
+GetIncludeEmailTokensOk returns a tuple with the IncludeEmailTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeEmailTokens
+
+`func (o *PlayerNotificationTarget) SetIncludeEmailTokens(v []string)`
+
+SetIncludeEmailTokens sets IncludeEmailTokens field to given value.
+
+### HasIncludeEmailTokens
+
+`func (o *PlayerNotificationTarget) HasIncludeEmailTokens() bool`
+
+HasIncludeEmailTokens returns a boolean if a field has been set.
+
+### GetIncludePhoneNumbers
+
+`func (o *PlayerNotificationTarget) GetIncludePhoneNumbers() []string`
+
+GetIncludePhoneNumbers returns the IncludePhoneNumbers field if non-nil, zero value otherwise.
+
+### GetIncludePhoneNumbersOk
+
+`func (o *PlayerNotificationTarget) GetIncludePhoneNumbersOk() (*[]string, bool)`
+
+GetIncludePhoneNumbersOk returns a tuple with the IncludePhoneNumbers field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludePhoneNumbers
+
+`func (o *PlayerNotificationTarget) SetIncludePhoneNumbers(v []string)`
+
+SetIncludePhoneNumbers sets IncludePhoneNumbers field to given value.
+
+### HasIncludePhoneNumbers
+
+`func (o *PlayerNotificationTarget) HasIncludePhoneNumbers() bool`
+
+HasIncludePhoneNumbers returns a boolean if a field has been set.
+
+### GetIncludeIosTokens
+
+`func (o *PlayerNotificationTarget) GetIncludeIosTokens() []string`
+
+GetIncludeIosTokens returns the IncludeIosTokens field if non-nil, zero value otherwise.
+
+### GetIncludeIosTokensOk
+
+`func (o *PlayerNotificationTarget) GetIncludeIosTokensOk() (*[]string, bool)`
+
+GetIncludeIosTokensOk returns a tuple with the IncludeIosTokens field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeIosTokens
+
+`func (o *PlayerNotificationTarget) SetIncludeIosTokens(v []string)`
+
+SetIncludeIosTokens sets IncludeIosTokens field to given value.
+
+### HasIncludeIosTokens
+
+`func (o *PlayerNotificationTarget) HasIncludeIosTokens() bool`
+
+HasIncludeIosTokens returns a boolean if a field has been set.
+
+### GetIncludeWpWnsUris
+
+`func (o *PlayerNotificationTarget) GetIncludeWpWnsUris() []string`
+
+GetIncludeWpWnsUris returns the IncludeWpWnsUris field if non-nil, zero value otherwise.
+
+### GetIncludeWpWnsUrisOk
+
+`func (o *PlayerNotificationTarget) GetIncludeWpWnsUrisOk() (*[]string, bool)`
+
+GetIncludeWpWnsUrisOk returns a tuple with the IncludeWpWnsUris field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeWpWnsUris
+
+`func (o *PlayerNotificationTarget) SetIncludeWpWnsUris(v []string)`
+
+SetIncludeWpWnsUris sets IncludeWpWnsUris field to given value.
+
+### HasIncludeWpWnsUris
+
+`func (o *PlayerNotificationTarget) HasIncludeWpWnsUris() bool`
+
+HasIncludeWpWnsUris returns a boolean if a field has been set.
+
+### GetIncludeAmazonRegIds
+
+`func (o *PlayerNotificationTarget) GetIncludeAmazonRegIds() []string`
+
+GetIncludeAmazonRegIds returns the IncludeAmazonRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAmazonRegIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludeAmazonRegIdsOk() (*[]string, bool)`
+
+GetIncludeAmazonRegIdsOk returns a tuple with the IncludeAmazonRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAmazonRegIds
+
+`func (o *PlayerNotificationTarget) SetIncludeAmazonRegIds(v []string)`
+
+SetIncludeAmazonRegIds sets IncludeAmazonRegIds field to given value.
+
+### HasIncludeAmazonRegIds
+
+`func (o *PlayerNotificationTarget) HasIncludeAmazonRegIds() bool`
+
+HasIncludeAmazonRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeRegIds
+
+`func (o *PlayerNotificationTarget) GetIncludeChromeRegIds() []string`
+
+GetIncludeChromeRegIds returns the IncludeChromeRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeRegIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludeChromeRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeRegIdsOk returns a tuple with the IncludeChromeRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeRegIds
+
+`func (o *PlayerNotificationTarget) SetIncludeChromeRegIds(v []string)`
+
+SetIncludeChromeRegIds sets IncludeChromeRegIds field to given value.
+
+### HasIncludeChromeRegIds
+
+`func (o *PlayerNotificationTarget) HasIncludeChromeRegIds() bool`
+
+HasIncludeChromeRegIds returns a boolean if a field has been set.
+
+### GetIncludeChromeWebRegIds
+
+`func (o *PlayerNotificationTarget) GetIncludeChromeWebRegIds() []string`
+
+GetIncludeChromeWebRegIds returns the IncludeChromeWebRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeChromeWebRegIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludeChromeWebRegIdsOk() (*[]string, bool)`
+
+GetIncludeChromeWebRegIdsOk returns a tuple with the IncludeChromeWebRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeChromeWebRegIds
+
+`func (o *PlayerNotificationTarget) SetIncludeChromeWebRegIds(v []string)`
+
+SetIncludeChromeWebRegIds sets IncludeChromeWebRegIds field to given value.
+
+### HasIncludeChromeWebRegIds
+
+`func (o *PlayerNotificationTarget) HasIncludeChromeWebRegIds() bool`
+
+HasIncludeChromeWebRegIds returns a boolean if a field has been set.
+
+### GetIncludeAndroidRegIds
+
+`func (o *PlayerNotificationTarget) GetIncludeAndroidRegIds() []string`
+
+GetIncludeAndroidRegIds returns the IncludeAndroidRegIds field if non-nil, zero value otherwise.
+
+### GetIncludeAndroidRegIdsOk
+
+`func (o *PlayerNotificationTarget) GetIncludeAndroidRegIdsOk() (*[]string, bool)`
+
+GetIncludeAndroidRegIdsOk returns a tuple with the IncludeAndroidRegIds field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludeAndroidRegIds
+
+`func (o *PlayerNotificationTarget) SetIncludeAndroidRegIds(v []string)`
+
+SetIncludeAndroidRegIds sets IncludeAndroidRegIds field to given value.
+
+### HasIncludeAndroidRegIds
+
+`func (o *PlayerNotificationTarget) HasIncludeAndroidRegIds() bool`
+
+HasIncludeAndroidRegIds returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PlayerSlice.md b/docs/PlayerSlice.md
new file mode 100644
index 0000000..8451610
--- /dev/null
+++ b/docs/PlayerSlice.md
@@ -0,0 +1,134 @@
+# PlayerSlice
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TotalCount** | Pointer to **int32** |  | [optional] 
+**Offset** | Pointer to **int32** |  | [optional] 
+**Limit** | Pointer to **int32** |  | [optional] 
+**Players** | Pointer to [**[]Player**](Player.md) |  | [optional] 
+
+## Methods
+
+### NewPlayerSlice
+
+`func NewPlayerSlice() *PlayerSlice`
+
+NewPlayerSlice instantiates a new PlayerSlice object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewPlayerSliceWithDefaults
+
+`func NewPlayerSliceWithDefaults() *PlayerSlice`
+
+NewPlayerSliceWithDefaults instantiates a new PlayerSlice object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetTotalCount
+
+`func (o *PlayerSlice) GetTotalCount() int32`
+
+GetTotalCount returns the TotalCount field if non-nil, zero value otherwise.
+
+### GetTotalCountOk
+
+`func (o *PlayerSlice) GetTotalCountOk() (*int32, bool)`
+
+GetTotalCountOk returns a tuple with the TotalCount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTotalCount
+
+`func (o *PlayerSlice) SetTotalCount(v int32)`
+
+SetTotalCount sets TotalCount field to given value.
+
+### HasTotalCount
+
+`func (o *PlayerSlice) HasTotalCount() bool`
+
+HasTotalCount returns a boolean if a field has been set.
+
+### GetOffset
+
+`func (o *PlayerSlice) GetOffset() int32`
+
+GetOffset returns the Offset field if non-nil, zero value otherwise.
+
+### GetOffsetOk
+
+`func (o *PlayerSlice) GetOffsetOk() (*int32, bool)`
+
+GetOffsetOk returns a tuple with the Offset field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOffset
+
+`func (o *PlayerSlice) SetOffset(v int32)`
+
+SetOffset sets Offset field to given value.
+
+### HasOffset
+
+`func (o *PlayerSlice) HasOffset() bool`
+
+HasOffset returns a boolean if a field has been set.
+
+### GetLimit
+
+`func (o *PlayerSlice) GetLimit() int32`
+
+GetLimit returns the Limit field if non-nil, zero value otherwise.
+
+### GetLimitOk
+
+`func (o *PlayerSlice) GetLimitOk() (*int32, bool)`
+
+GetLimitOk returns a tuple with the Limit field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLimit
+
+`func (o *PlayerSlice) SetLimit(v int32)`
+
+SetLimit sets Limit field to given value.
+
+### HasLimit
+
+`func (o *PlayerSlice) HasLimit() bool`
+
+HasLimit returns a boolean if a field has been set.
+
+### GetPlayers
+
+`func (o *PlayerSlice) GetPlayers() []Player`
+
+GetPlayers returns the Players field if non-nil, zero value otherwise.
+
+### GetPlayersOk
+
+`func (o *PlayerSlice) GetPlayersOk() (*[]Player, bool)`
+
+GetPlayersOk returns a tuple with the Players field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPlayers
+
+`func (o *PlayerSlice) SetPlayers(v []Player)`
+
+SetPlayers sets Players field to given value.
+
+### HasPlayers
+
+`func (o *PlayerSlice) HasPlayers() bool`
+
+HasPlayers returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Purchase.md b/docs/Purchase.md
new file mode 100644
index 0000000..381c782
--- /dev/null
+++ b/docs/Purchase.md
@@ -0,0 +1,93 @@
+# Purchase
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Sku** | **string** | The unique identifier of the purchased item. | 
+**Amount** | **float32** | The amount, in USD, spent purchasing the item. | 
+**Iso** | **string** | The 3-letter ISO 4217 currency code. Required for correct storage and conversion of amount. | 
+
+## Methods
+
+### NewPurchase
+
+`func NewPurchase(sku string, amount float32, iso string, ) *Purchase`
+
+NewPurchase instantiates a new Purchase object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewPurchaseWithDefaults
+
+`func NewPurchaseWithDefaults() *Purchase`
+
+NewPurchaseWithDefaults instantiates a new Purchase object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetSku
+
+`func (o *Purchase) GetSku() string`
+
+GetSku returns the Sku field if non-nil, zero value otherwise.
+
+### GetSkuOk
+
+`func (o *Purchase) GetSkuOk() (*string, bool)`
+
+GetSkuOk returns a tuple with the Sku field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSku
+
+`func (o *Purchase) SetSku(v string)`
+
+SetSku sets Sku field to given value.
+
+
+### GetAmount
+
+`func (o *Purchase) GetAmount() float32`
+
+GetAmount returns the Amount field if non-nil, zero value otherwise.
+
+### GetAmountOk
+
+`func (o *Purchase) GetAmountOk() (*float32, bool)`
+
+GetAmountOk returns a tuple with the Amount field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAmount
+
+`func (o *Purchase) SetAmount(v float32)`
+
+SetAmount sets Amount field to given value.
+
+
+### GetIso
+
+`func (o *Purchase) GetIso() string`
+
+GetIso returns the Iso field if non-nil, zero value otherwise.
+
+### GetIsoOk
+
+`func (o *Purchase) GetIsoOk() (*string, bool)`
+
+GetIsoOk returns a tuple with the Iso field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIso
+
+`func (o *Purchase) SetIso(v string)`
+
+SetIso sets Iso field to given value.
+
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Segment.md b/docs/Segment.md
new file mode 100644
index 0000000..dc6ddcb
--- /dev/null
+++ b/docs/Segment.md
@@ -0,0 +1,98 @@
+# Segment
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **string** | UUID of the segment.  If left empty, it will be assigned automaticaly. | [optional] 
+**Name** | **string** | Name of the segment.  You&#39;ll see this name on the Web UI. | 
+**Filters** | [**[]FilterExpressions**](FilterExpressions.md) | Filter or operators the segment will have.  For a list of available filters with details, please see Send to Users Based on Filters. | 
+
+## Methods
+
+### NewSegment
+
+`func NewSegment(name string, filters []FilterExpressions, ) *Segment`
+
+NewSegment instantiates a new Segment object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewSegmentWithDefaults
+
+`func NewSegmentWithDefaults() *Segment`
+
+NewSegmentWithDefaults instantiates a new Segment object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *Segment) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *Segment) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *Segment) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *Segment) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *Segment) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *Segment) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *Segment) SetName(v string)`
+
+SetName sets Name field to given value.
+
+
+### GetFilters
+
+`func (o *Segment) GetFilters() []FilterExpressions`
+
+GetFilters returns the Filters field if non-nil, zero value otherwise.
+
+### GetFiltersOk
+
+`func (o *Segment) GetFiltersOk() (*[]FilterExpressions, bool)`
+
+GetFiltersOk returns a tuple with the Filters field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFilters
+
+`func (o *Segment) SetFilters(v []FilterExpressions)`
+
+SetFilters sets Filters field to given value.
+
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/SegmentNotificationTarget.md b/docs/SegmentNotificationTarget.md
new file mode 100644
index 0000000..6ff48e4
--- /dev/null
+++ b/docs/SegmentNotificationTarget.md
@@ -0,0 +1,82 @@
+# SegmentNotificationTarget
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IncludedSegments** | Pointer to **[]string** | The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+**ExcludedSegments** | Pointer to **[]string** | Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\&quot;Active Users\&quot;, \&quot;Inactive Users\&quot;]  | [optional] 
+
+## Methods
+
+### NewSegmentNotificationTarget
+
+`func NewSegmentNotificationTarget() *SegmentNotificationTarget`
+
+NewSegmentNotificationTarget instantiates a new SegmentNotificationTarget object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewSegmentNotificationTargetWithDefaults
+
+`func NewSegmentNotificationTargetWithDefaults() *SegmentNotificationTarget`
+
+NewSegmentNotificationTargetWithDefaults instantiates a new SegmentNotificationTarget object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetIncludedSegments
+
+`func (o *SegmentNotificationTarget) GetIncludedSegments() []string`
+
+GetIncludedSegments returns the IncludedSegments field if non-nil, zero value otherwise.
+
+### GetIncludedSegmentsOk
+
+`func (o *SegmentNotificationTarget) GetIncludedSegmentsOk() (*[]string, bool)`
+
+GetIncludedSegmentsOk returns a tuple with the IncludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIncludedSegments
+
+`func (o *SegmentNotificationTarget) SetIncludedSegments(v []string)`
+
+SetIncludedSegments sets IncludedSegments field to given value.
+
+### HasIncludedSegments
+
+`func (o *SegmentNotificationTarget) HasIncludedSegments() bool`
+
+HasIncludedSegments returns a boolean if a field has been set.
+
+### GetExcludedSegments
+
+`func (o *SegmentNotificationTarget) GetExcludedSegments() []string`
+
+GetExcludedSegments returns the ExcludedSegments field if non-nil, zero value otherwise.
+
+### GetExcludedSegmentsOk
+
+`func (o *SegmentNotificationTarget) GetExcludedSegmentsOk() (*[]string, bool)`
+
+GetExcludedSegmentsOk returns a tuple with the ExcludedSegments field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExcludedSegments
+
+`func (o *SegmentNotificationTarget) SetExcludedSegments(v []string)`
+
+SetExcludedSegments sets ExcludedSegments field to given value.
+
+### HasExcludedSegments
+
+`func (o *SegmentNotificationTarget) HasExcludedSegments() bool`
+
+HasExcludedSegments returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/StringMap.md b/docs/StringMap.md
new file mode 100644
index 0000000..5a912a7
--- /dev/null
+++ b/docs/StringMap.md
@@ -0,0 +1,1143 @@
+# StringMap
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**En** | **string** | Text in English.  Will be used as a fallback | 
+**Ar** | Pointer to **string** | Text in Arabic. | [optional] 
+**Bs** | Pointer to **string** | Text in Bosnian. | [optional] 
+**Bg** | Pointer to **string** | Text in Bulgarian. | [optional] 
+**Ca** | Pointer to **string** | Text in Catalan. | [optional] 
+**ZhHans** | Pointer to **string** | Text in Chinese (Simplified). | [optional] 
+**ZhHant** | Pointer to **string** | Text in Chinese (Traditional). | [optional] 
+**Zh** | Pointer to **string** | Alias for zh-Hans. | [optional] 
+**Hr** | Pointer to **string** | Text in Croatian. | [optional] 
+**Cs** | Pointer to **string** | Text in Czech. | [optional] 
+**Da** | Pointer to **string** | Text in Danish. | [optional] 
+**Nl** | Pointer to **string** | Text in Dutch. | [optional] 
+**Et** | Pointer to **string** | Text in Estonian. | [optional] 
+**Fi** | Pointer to **string** | Text in Finnish. | [optional] 
+**Fr** | Pointer to **string** | Text in French. | [optional] 
+**Ka** | Pointer to **string** | Text in Georgian. | [optional] 
+**De** | Pointer to **string** | Text in German. | [optional] 
+**El** | Pointer to **string** | Text in Greek. | [optional] 
+**Hi** | Pointer to **string** | Text in Hindi. | [optional] 
+**He** | Pointer to **string** | Text in Hebrew. | [optional] 
+**Hu** | Pointer to **string** | Text in Hungarian. | [optional] 
+**Id** | Pointer to **string** | Text in Indonesian. | [optional] 
+**It** | Pointer to **string** | Text in Italian. | [optional] 
+**Ja** | Pointer to **string** | Text in Japanese. | [optional] 
+**Ko** | Pointer to **string** | Text in Korean. | [optional] 
+**Lv** | Pointer to **string** | Text in Latvian. | [optional] 
+**Lt** | Pointer to **string** | Text in Lithuanian. | [optional] 
+**Ms** | Pointer to **string** | Text in Malay. | [optional] 
+**Nb** | Pointer to **string** | Text in Norwegian. | [optional] 
+**Pl** | Pointer to **string** | Text in Polish. | [optional] 
+**Fa** | Pointer to **string** | Text in Persian. | [optional] 
+**Pt** | Pointer to **string** | Text in Portugese. | [optional] 
+**Pa** | Pointer to **string** | Text in Punjabi. | [optional] 
+**Ro** | Pointer to **string** | Text in Romanian. | [optional] 
+**Ru** | Pointer to **string** | Text in Russian. | [optional] 
+**Sr** | Pointer to **string** | Text in Serbian. | [optional] 
+**Sk** | Pointer to **string** | Text in Slovak. | [optional] 
+**Es** | Pointer to **string** | Text in Spanish. | [optional] 
+**Sv** | Pointer to **string** | Text in Swedish. | [optional] 
+**Th** | Pointer to **string** | Text in Thai. | [optional] 
+**Tr** | Pointer to **string** | Text in Turkish. | [optional] 
+**Uk** | Pointer to **string** | Text in Ukrainian. | [optional] 
+**Vi** | Pointer to **string** | Text in Vietnamese. | [optional] 
+
+## Methods
+
+### NewStringMap
+
+`func NewStringMap(en string, ) *StringMap`
+
+NewStringMap instantiates a new StringMap object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewStringMapWithDefaults
+
+`func NewStringMapWithDefaults() *StringMap`
+
+NewStringMapWithDefaults instantiates a new StringMap object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEn
+
+`func (o *StringMap) GetEn() string`
+
+GetEn returns the En field if non-nil, zero value otherwise.
+
+### GetEnOk
+
+`func (o *StringMap) GetEnOk() (*string, bool)`
+
+GetEnOk returns a tuple with the En field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEn
+
+`func (o *StringMap) SetEn(v string)`
+
+SetEn sets En field to given value.
+
+
+### GetAr
+
+`func (o *StringMap) GetAr() string`
+
+GetAr returns the Ar field if non-nil, zero value otherwise.
+
+### GetArOk
+
+`func (o *StringMap) GetArOk() (*string, bool)`
+
+GetArOk returns a tuple with the Ar field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAr
+
+`func (o *StringMap) SetAr(v string)`
+
+SetAr sets Ar field to given value.
+
+### HasAr
+
+`func (o *StringMap) HasAr() bool`
+
+HasAr returns a boolean if a field has been set.
+
+### GetBs
+
+`func (o *StringMap) GetBs() string`
+
+GetBs returns the Bs field if non-nil, zero value otherwise.
+
+### GetBsOk
+
+`func (o *StringMap) GetBsOk() (*string, bool)`
+
+GetBsOk returns a tuple with the Bs field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBs
+
+`func (o *StringMap) SetBs(v string)`
+
+SetBs sets Bs field to given value.
+
+### HasBs
+
+`func (o *StringMap) HasBs() bool`
+
+HasBs returns a boolean if a field has been set.
+
+### GetBg
+
+`func (o *StringMap) GetBg() string`
+
+GetBg returns the Bg field if non-nil, zero value otherwise.
+
+### GetBgOk
+
+`func (o *StringMap) GetBgOk() (*string, bool)`
+
+GetBgOk returns a tuple with the Bg field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBg
+
+`func (o *StringMap) SetBg(v string)`
+
+SetBg sets Bg field to given value.
+
+### HasBg
+
+`func (o *StringMap) HasBg() bool`
+
+HasBg returns a boolean if a field has been set.
+
+### GetCa
+
+`func (o *StringMap) GetCa() string`
+
+GetCa returns the Ca field if non-nil, zero value otherwise.
+
+### GetCaOk
+
+`func (o *StringMap) GetCaOk() (*string, bool)`
+
+GetCaOk returns a tuple with the Ca field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCa
+
+`func (o *StringMap) SetCa(v string)`
+
+SetCa sets Ca field to given value.
+
+### HasCa
+
+`func (o *StringMap) HasCa() bool`
+
+HasCa returns a boolean if a field has been set.
+
+### GetZhHans
+
+`func (o *StringMap) GetZhHans() string`
+
+GetZhHans returns the ZhHans field if non-nil, zero value otherwise.
+
+### GetZhHansOk
+
+`func (o *StringMap) GetZhHansOk() (*string, bool)`
+
+GetZhHansOk returns a tuple with the ZhHans field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetZhHans
+
+`func (o *StringMap) SetZhHans(v string)`
+
+SetZhHans sets ZhHans field to given value.
+
+### HasZhHans
+
+`func (o *StringMap) HasZhHans() bool`
+
+HasZhHans returns a boolean if a field has been set.
+
+### GetZhHant
+
+`func (o *StringMap) GetZhHant() string`
+
+GetZhHant returns the ZhHant field if non-nil, zero value otherwise.
+
+### GetZhHantOk
+
+`func (o *StringMap) GetZhHantOk() (*string, bool)`
+
+GetZhHantOk returns a tuple with the ZhHant field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetZhHant
+
+`func (o *StringMap) SetZhHant(v string)`
+
+SetZhHant sets ZhHant field to given value.
+
+### HasZhHant
+
+`func (o *StringMap) HasZhHant() bool`
+
+HasZhHant returns a boolean if a field has been set.
+
+### GetZh
+
+`func (o *StringMap) GetZh() string`
+
+GetZh returns the Zh field if non-nil, zero value otherwise.
+
+### GetZhOk
+
+`func (o *StringMap) GetZhOk() (*string, bool)`
+
+GetZhOk returns a tuple with the Zh field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetZh
+
+`func (o *StringMap) SetZh(v string)`
+
+SetZh sets Zh field to given value.
+
+### HasZh
+
+`func (o *StringMap) HasZh() bool`
+
+HasZh returns a boolean if a field has been set.
+
+### GetHr
+
+`func (o *StringMap) GetHr() string`
+
+GetHr returns the Hr field if non-nil, zero value otherwise.
+
+### GetHrOk
+
+`func (o *StringMap) GetHrOk() (*string, bool)`
+
+GetHrOk returns a tuple with the Hr field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHr
+
+`func (o *StringMap) SetHr(v string)`
+
+SetHr sets Hr field to given value.
+
+### HasHr
+
+`func (o *StringMap) HasHr() bool`
+
+HasHr returns a boolean if a field has been set.
+
+### GetCs
+
+`func (o *StringMap) GetCs() string`
+
+GetCs returns the Cs field if non-nil, zero value otherwise.
+
+### GetCsOk
+
+`func (o *StringMap) GetCsOk() (*string, bool)`
+
+GetCsOk returns a tuple with the Cs field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCs
+
+`func (o *StringMap) SetCs(v string)`
+
+SetCs sets Cs field to given value.
+
+### HasCs
+
+`func (o *StringMap) HasCs() bool`
+
+HasCs returns a boolean if a field has been set.
+
+### GetDa
+
+`func (o *StringMap) GetDa() string`
+
+GetDa returns the Da field if non-nil, zero value otherwise.
+
+### GetDaOk
+
+`func (o *StringMap) GetDaOk() (*string, bool)`
+
+GetDaOk returns a tuple with the Da field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDa
+
+`func (o *StringMap) SetDa(v string)`
+
+SetDa sets Da field to given value.
+
+### HasDa
+
+`func (o *StringMap) HasDa() bool`
+
+HasDa returns a boolean if a field has been set.
+
+### GetNl
+
+`func (o *StringMap) GetNl() string`
+
+GetNl returns the Nl field if non-nil, zero value otherwise.
+
+### GetNlOk
+
+`func (o *StringMap) GetNlOk() (*string, bool)`
+
+GetNlOk returns a tuple with the Nl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNl
+
+`func (o *StringMap) SetNl(v string)`
+
+SetNl sets Nl field to given value.
+
+### HasNl
+
+`func (o *StringMap) HasNl() bool`
+
+HasNl returns a boolean if a field has been set.
+
+### GetEt
+
+`func (o *StringMap) GetEt() string`
+
+GetEt returns the Et field if non-nil, zero value otherwise.
+
+### GetEtOk
+
+`func (o *StringMap) GetEtOk() (*string, bool)`
+
+GetEtOk returns a tuple with the Et field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEt
+
+`func (o *StringMap) SetEt(v string)`
+
+SetEt sets Et field to given value.
+
+### HasEt
+
+`func (o *StringMap) HasEt() bool`
+
+HasEt returns a boolean if a field has been set.
+
+### GetFi
+
+`func (o *StringMap) GetFi() string`
+
+GetFi returns the Fi field if non-nil, zero value otherwise.
+
+### GetFiOk
+
+`func (o *StringMap) GetFiOk() (*string, bool)`
+
+GetFiOk returns a tuple with the Fi field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFi
+
+`func (o *StringMap) SetFi(v string)`
+
+SetFi sets Fi field to given value.
+
+### HasFi
+
+`func (o *StringMap) HasFi() bool`
+
+HasFi returns a boolean if a field has been set.
+
+### GetFr
+
+`func (o *StringMap) GetFr() string`
+
+GetFr returns the Fr field if non-nil, zero value otherwise.
+
+### GetFrOk
+
+`func (o *StringMap) GetFrOk() (*string, bool)`
+
+GetFrOk returns a tuple with the Fr field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFr
+
+`func (o *StringMap) SetFr(v string)`
+
+SetFr sets Fr field to given value.
+
+### HasFr
+
+`func (o *StringMap) HasFr() bool`
+
+HasFr returns a boolean if a field has been set.
+
+### GetKa
+
+`func (o *StringMap) GetKa() string`
+
+GetKa returns the Ka field if non-nil, zero value otherwise.
+
+### GetKaOk
+
+`func (o *StringMap) GetKaOk() (*string, bool)`
+
+GetKaOk returns a tuple with the Ka field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKa
+
+`func (o *StringMap) SetKa(v string)`
+
+SetKa sets Ka field to given value.
+
+### HasKa
+
+`func (o *StringMap) HasKa() bool`
+
+HasKa returns a boolean if a field has been set.
+
+### GetDe
+
+`func (o *StringMap) GetDe() string`
+
+GetDe returns the De field if non-nil, zero value otherwise.
+
+### GetDeOk
+
+`func (o *StringMap) GetDeOk() (*string, bool)`
+
+GetDeOk returns a tuple with the De field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDe
+
+`func (o *StringMap) SetDe(v string)`
+
+SetDe sets De field to given value.
+
+### HasDe
+
+`func (o *StringMap) HasDe() bool`
+
+HasDe returns a boolean if a field has been set.
+
+### GetEl
+
+`func (o *StringMap) GetEl() string`
+
+GetEl returns the El field if non-nil, zero value otherwise.
+
+### GetElOk
+
+`func (o *StringMap) GetElOk() (*string, bool)`
+
+GetElOk returns a tuple with the El field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEl
+
+`func (o *StringMap) SetEl(v string)`
+
+SetEl sets El field to given value.
+
+### HasEl
+
+`func (o *StringMap) HasEl() bool`
+
+HasEl returns a boolean if a field has been set.
+
+### GetHi
+
+`func (o *StringMap) GetHi() string`
+
+GetHi returns the Hi field if non-nil, zero value otherwise.
+
+### GetHiOk
+
+`func (o *StringMap) GetHiOk() (*string, bool)`
+
+GetHiOk returns a tuple with the Hi field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHi
+
+`func (o *StringMap) SetHi(v string)`
+
+SetHi sets Hi field to given value.
+
+### HasHi
+
+`func (o *StringMap) HasHi() bool`
+
+HasHi returns a boolean if a field has been set.
+
+### GetHe
+
+`func (o *StringMap) GetHe() string`
+
+GetHe returns the He field if non-nil, zero value otherwise.
+
+### GetHeOk
+
+`func (o *StringMap) GetHeOk() (*string, bool)`
+
+GetHeOk returns a tuple with the He field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHe
+
+`func (o *StringMap) SetHe(v string)`
+
+SetHe sets He field to given value.
+
+### HasHe
+
+`func (o *StringMap) HasHe() bool`
+
+HasHe returns a boolean if a field has been set.
+
+### GetHu
+
+`func (o *StringMap) GetHu() string`
+
+GetHu returns the Hu field if non-nil, zero value otherwise.
+
+### GetHuOk
+
+`func (o *StringMap) GetHuOk() (*string, bool)`
+
+GetHuOk returns a tuple with the Hu field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHu
+
+`func (o *StringMap) SetHu(v string)`
+
+SetHu sets Hu field to given value.
+
+### HasHu
+
+`func (o *StringMap) HasHu() bool`
+
+HasHu returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *StringMap) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *StringMap) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *StringMap) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *StringMap) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetIt
+
+`func (o *StringMap) GetIt() string`
+
+GetIt returns the It field if non-nil, zero value otherwise.
+
+### GetItOk
+
+`func (o *StringMap) GetItOk() (*string, bool)`
+
+GetItOk returns a tuple with the It field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIt
+
+`func (o *StringMap) SetIt(v string)`
+
+SetIt sets It field to given value.
+
+### HasIt
+
+`func (o *StringMap) HasIt() bool`
+
+HasIt returns a boolean if a field has been set.
+
+### GetJa
+
+`func (o *StringMap) GetJa() string`
+
+GetJa returns the Ja field if non-nil, zero value otherwise.
+
+### GetJaOk
+
+`func (o *StringMap) GetJaOk() (*string, bool)`
+
+GetJaOk returns a tuple with the Ja field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetJa
+
+`func (o *StringMap) SetJa(v string)`
+
+SetJa sets Ja field to given value.
+
+### HasJa
+
+`func (o *StringMap) HasJa() bool`
+
+HasJa returns a boolean if a field has been set.
+
+### GetKo
+
+`func (o *StringMap) GetKo() string`
+
+GetKo returns the Ko field if non-nil, zero value otherwise.
+
+### GetKoOk
+
+`func (o *StringMap) GetKoOk() (*string, bool)`
+
+GetKoOk returns a tuple with the Ko field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKo
+
+`func (o *StringMap) SetKo(v string)`
+
+SetKo sets Ko field to given value.
+
+### HasKo
+
+`func (o *StringMap) HasKo() bool`
+
+HasKo returns a boolean if a field has been set.
+
+### GetLv
+
+`func (o *StringMap) GetLv() string`
+
+GetLv returns the Lv field if non-nil, zero value otherwise.
+
+### GetLvOk
+
+`func (o *StringMap) GetLvOk() (*string, bool)`
+
+GetLvOk returns a tuple with the Lv field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLv
+
+`func (o *StringMap) SetLv(v string)`
+
+SetLv sets Lv field to given value.
+
+### HasLv
+
+`func (o *StringMap) HasLv() bool`
+
+HasLv returns a boolean if a field has been set.
+
+### GetLt
+
+`func (o *StringMap) GetLt() string`
+
+GetLt returns the Lt field if non-nil, zero value otherwise.
+
+### GetLtOk
+
+`func (o *StringMap) GetLtOk() (*string, bool)`
+
+GetLtOk returns a tuple with the Lt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLt
+
+`func (o *StringMap) SetLt(v string)`
+
+SetLt sets Lt field to given value.
+
+### HasLt
+
+`func (o *StringMap) HasLt() bool`
+
+HasLt returns a boolean if a field has been set.
+
+### GetMs
+
+`func (o *StringMap) GetMs() string`
+
+GetMs returns the Ms field if non-nil, zero value otherwise.
+
+### GetMsOk
+
+`func (o *StringMap) GetMsOk() (*string, bool)`
+
+GetMsOk returns a tuple with the Ms field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMs
+
+`func (o *StringMap) SetMs(v string)`
+
+SetMs sets Ms field to given value.
+
+### HasMs
+
+`func (o *StringMap) HasMs() bool`
+
+HasMs returns a boolean if a field has been set.
+
+### GetNb
+
+`func (o *StringMap) GetNb() string`
+
+GetNb returns the Nb field if non-nil, zero value otherwise.
+
+### GetNbOk
+
+`func (o *StringMap) GetNbOk() (*string, bool)`
+
+GetNbOk returns a tuple with the Nb field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNb
+
+`func (o *StringMap) SetNb(v string)`
+
+SetNb sets Nb field to given value.
+
+### HasNb
+
+`func (o *StringMap) HasNb() bool`
+
+HasNb returns a boolean if a field has been set.
+
+### GetPl
+
+`func (o *StringMap) GetPl() string`
+
+GetPl returns the Pl field if non-nil, zero value otherwise.
+
+### GetPlOk
+
+`func (o *StringMap) GetPlOk() (*string, bool)`
+
+GetPlOk returns a tuple with the Pl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPl
+
+`func (o *StringMap) SetPl(v string)`
+
+SetPl sets Pl field to given value.
+
+### HasPl
+
+`func (o *StringMap) HasPl() bool`
+
+HasPl returns a boolean if a field has been set.
+
+### GetFa
+
+`func (o *StringMap) GetFa() string`
+
+GetFa returns the Fa field if non-nil, zero value otherwise.
+
+### GetFaOk
+
+`func (o *StringMap) GetFaOk() (*string, bool)`
+
+GetFaOk returns a tuple with the Fa field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFa
+
+`func (o *StringMap) SetFa(v string)`
+
+SetFa sets Fa field to given value.
+
+### HasFa
+
+`func (o *StringMap) HasFa() bool`
+
+HasFa returns a boolean if a field has been set.
+
+### GetPt
+
+`func (o *StringMap) GetPt() string`
+
+GetPt returns the Pt field if non-nil, zero value otherwise.
+
+### GetPtOk
+
+`func (o *StringMap) GetPtOk() (*string, bool)`
+
+GetPtOk returns a tuple with the Pt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPt
+
+`func (o *StringMap) SetPt(v string)`
+
+SetPt sets Pt field to given value.
+
+### HasPt
+
+`func (o *StringMap) HasPt() bool`
+
+HasPt returns a boolean if a field has been set.
+
+### GetPa
+
+`func (o *StringMap) GetPa() string`
+
+GetPa returns the Pa field if non-nil, zero value otherwise.
+
+### GetPaOk
+
+`func (o *StringMap) GetPaOk() (*string, bool)`
+
+GetPaOk returns a tuple with the Pa field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPa
+
+`func (o *StringMap) SetPa(v string)`
+
+SetPa sets Pa field to given value.
+
+### HasPa
+
+`func (o *StringMap) HasPa() bool`
+
+HasPa returns a boolean if a field has been set.
+
+### GetRo
+
+`func (o *StringMap) GetRo() string`
+
+GetRo returns the Ro field if non-nil, zero value otherwise.
+
+### GetRoOk
+
+`func (o *StringMap) GetRoOk() (*string, bool)`
+
+GetRoOk returns a tuple with the Ro field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRo
+
+`func (o *StringMap) SetRo(v string)`
+
+SetRo sets Ro field to given value.
+
+### HasRo
+
+`func (o *StringMap) HasRo() bool`
+
+HasRo returns a boolean if a field has been set.
+
+### GetRu
+
+`func (o *StringMap) GetRu() string`
+
+GetRu returns the Ru field if non-nil, zero value otherwise.
+
+### GetRuOk
+
+`func (o *StringMap) GetRuOk() (*string, bool)`
+
+GetRuOk returns a tuple with the Ru field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRu
+
+`func (o *StringMap) SetRu(v string)`
+
+SetRu sets Ru field to given value.
+
+### HasRu
+
+`func (o *StringMap) HasRu() bool`
+
+HasRu returns a boolean if a field has been set.
+
+### GetSr
+
+`func (o *StringMap) GetSr() string`
+
+GetSr returns the Sr field if non-nil, zero value otherwise.
+
+### GetSrOk
+
+`func (o *StringMap) GetSrOk() (*string, bool)`
+
+GetSrOk returns a tuple with the Sr field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSr
+
+`func (o *StringMap) SetSr(v string)`
+
+SetSr sets Sr field to given value.
+
+### HasSr
+
+`func (o *StringMap) HasSr() bool`
+
+HasSr returns a boolean if a field has been set.
+
+### GetSk
+
+`func (o *StringMap) GetSk() string`
+
+GetSk returns the Sk field if non-nil, zero value otherwise.
+
+### GetSkOk
+
+`func (o *StringMap) GetSkOk() (*string, bool)`
+
+GetSkOk returns a tuple with the Sk field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSk
+
+`func (o *StringMap) SetSk(v string)`
+
+SetSk sets Sk field to given value.
+
+### HasSk
+
+`func (o *StringMap) HasSk() bool`
+
+HasSk returns a boolean if a field has been set.
+
+### GetEs
+
+`func (o *StringMap) GetEs() string`
+
+GetEs returns the Es field if non-nil, zero value otherwise.
+
+### GetEsOk
+
+`func (o *StringMap) GetEsOk() (*string, bool)`
+
+GetEsOk returns a tuple with the Es field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEs
+
+`func (o *StringMap) SetEs(v string)`
+
+SetEs sets Es field to given value.
+
+### HasEs
+
+`func (o *StringMap) HasEs() bool`
+
+HasEs returns a boolean if a field has been set.
+
+### GetSv
+
+`func (o *StringMap) GetSv() string`
+
+GetSv returns the Sv field if non-nil, zero value otherwise.
+
+### GetSvOk
+
+`func (o *StringMap) GetSvOk() (*string, bool)`
+
+GetSvOk returns a tuple with the Sv field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSv
+
+`func (o *StringMap) SetSv(v string)`
+
+SetSv sets Sv field to given value.
+
+### HasSv
+
+`func (o *StringMap) HasSv() bool`
+
+HasSv returns a boolean if a field has been set.
+
+### GetTh
+
+`func (o *StringMap) GetTh() string`
+
+GetTh returns the Th field if non-nil, zero value otherwise.
+
+### GetThOk
+
+`func (o *StringMap) GetThOk() (*string, bool)`
+
+GetThOk returns a tuple with the Th field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTh
+
+`func (o *StringMap) SetTh(v string)`
+
+SetTh sets Th field to given value.
+
+### HasTh
+
+`func (o *StringMap) HasTh() bool`
+
+HasTh returns a boolean if a field has been set.
+
+### GetTr
+
+`func (o *StringMap) GetTr() string`
+
+GetTr returns the Tr field if non-nil, zero value otherwise.
+
+### GetTrOk
+
+`func (o *StringMap) GetTrOk() (*string, bool)`
+
+GetTrOk returns a tuple with the Tr field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTr
+
+`func (o *StringMap) SetTr(v string)`
+
+SetTr sets Tr field to given value.
+
+### HasTr
+
+`func (o *StringMap) HasTr() bool`
+
+HasTr returns a boolean if a field has been set.
+
+### GetUk
+
+`func (o *StringMap) GetUk() string`
+
+GetUk returns the Uk field if non-nil, zero value otherwise.
+
+### GetUkOk
+
+`func (o *StringMap) GetUkOk() (*string, bool)`
+
+GetUkOk returns a tuple with the Uk field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUk
+
+`func (o *StringMap) SetUk(v string)`
+
+SetUk sets Uk field to given value.
+
+### HasUk
+
+`func (o *StringMap) HasUk() bool`
+
+HasUk returns a boolean if a field has been set.
+
+### GetVi
+
+`func (o *StringMap) GetVi() string`
+
+GetVi returns the Vi field if non-nil, zero value otherwise.
+
+### GetViOk
+
+`func (o *StringMap) GetViOk() (*string, bool)`
+
+GetViOk returns a tuple with the Vi field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetVi
+
+`func (o *StringMap) SetVi(v string)`
+
+SetVi sets Vi field to given value.
+
+### HasVi
+
+`func (o *StringMap) HasVi() bool`
+
+HasVi returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/UpdatePlayerTagsRequestBody.md b/docs/UpdatePlayerTagsRequestBody.md
new file mode 100644
index 0000000..41f7f62
--- /dev/null
+++ b/docs/UpdatePlayerTagsRequestBody.md
@@ -0,0 +1,56 @@
+# UpdatePlayerTagsRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Tags** | Pointer to **map[string]interface{}** | Custom tags for the device record.  Only support string key value pairs.  Does not support arrays or other nested objects.  Example &#x60;{\&quot;foo\&quot;:\&quot;bar\&quot;,\&quot;this\&quot;:\&quot;that\&quot;}&#x60;. Limitations: - 100 tags per call - Android SDK users: tags cannot be removed or changed via API if set through SDK sendTag methods. Recommended to only tag devices with 1 kilobyte of ata Please consider using your own Database to save more than 1 kilobyte of data.  See: Internal Database &amp; CRM  | [optional] 
+
+## Methods
+
+### NewUpdatePlayerTagsRequestBody
+
+`func NewUpdatePlayerTagsRequestBody() *UpdatePlayerTagsRequestBody`
+
+NewUpdatePlayerTagsRequestBody instantiates a new UpdatePlayerTagsRequestBody object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewUpdatePlayerTagsRequestBodyWithDefaults
+
+`func NewUpdatePlayerTagsRequestBodyWithDefaults() *UpdatePlayerTagsRequestBody`
+
+NewUpdatePlayerTagsRequestBodyWithDefaults instantiates a new UpdatePlayerTagsRequestBody object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetTags
+
+`func (o *UpdatePlayerTagsRequestBody) GetTags() map[string]interface{}`
+
+GetTags returns the Tags field if non-nil, zero value otherwise.
+
+### GetTagsOk
+
+`func (o *UpdatePlayerTagsRequestBody) GetTagsOk() (*map[string]interface{}, bool)`
+
+GetTagsOk returns a tuple with the Tags field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTags
+
+`func (o *UpdatePlayerTagsRequestBody) SetTags(v map[string]interface{})`
+
+SetTags sets Tags field to given value.
+
+### HasTags
+
+`func (o *UpdatePlayerTagsRequestBody) HasTags() bool`
+
+HasTags returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..ead3260
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,7 @@
+module github.com/GIT_USER_ID/GIT_REPO_ID
+
+go 1.13
+
+require (
+	golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..734252e
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,13 @@
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e h1:bRhVy7zSSasaqNksaRZiA5EEI+Ei4I1nO5Jh72wfHlg=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
diff --git a/model_app.go b/model_app.go
new file mode 100644
index 0000000..9cf6bfe
--- /dev/null
+++ b/model_app.go
@@ -0,0 +1,1225 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+	"time"
+)
+
+// App struct for App
+type App struct {
+	Id string `json:"id"`
+	// The name of your app, as displayed on your apps list on the dashboard.  This can be renamed.
+	Name *string `json:"name,omitempty"`
+	Players *int32 `json:"players,omitempty"`
+	MessageablePlayers *int32 `json:"messageable_players,omitempty"`
+	UpdatedAt *time.Time `json:"updated_at,omitempty"`
+	CreatedAt *time.Time `json:"created_at,omitempty"`
+	// Android: Your Google Project number.  Also known as Sender ID.
+	AndroidGcmSenderId *string `json:"android_gcm_sender_id,omitempty"`
+	// Android: Your Google Push Messaging Auth Key
+	GcmKey *string `json:"gcm_key,omitempty"`
+	// Chrome (All Browsers except Safari) (Recommended): The URL to your website.  This field is required if you wish to enable web push and specify other web push parameters.
+	ChromeWebOrigin *string `json:"chrome_web_origin,omitempty"`
+	// Not for web push.  Your Google Push Messaging Auth Key if you use Chrome Apps / Extensions.
+	ChromeKey *string `json:"chrome_key,omitempty"`
+	// Chrome (All Browsers except Safari): Your default notification icon. Should be 256x256 pixels, min 80x80.
+	ChromeWebDefaultNotificationIcon *string `json:"chrome_web_default_notification_icon,omitempty"`
+	// Chrome (All Browsers except Safari): A subdomain of your choice in order to support Web Push on non-HTTPS websites. This field must be set in order for the chrome_web_gcm_sender_id property to be processed.
+	ChromeWebSubDomain *string `json:"chrome_web_sub_domain,omitempty"`
+	// iOS: Either sandbox or production
+	ApnsEnv *string `json:"apns_env,omitempty"`
+	// iOS: Your apple push notification p12 certificate file, converted to a string and Base64 encoded.
+	ApnsP12 *string `json:"apns_p12,omitempty"`
+	// iOS: Required if using p12 certificate.  Password for the apns_p12 file.
+	ApnsP12Password *string `json:"apns_p12_password,omitempty"`
+	ApnsCertificates *string `json:"apns_certificates,omitempty"`
+	SafariApnsCertificates *string `json:"safari_apns_certificates,omitempty"`
+	// Safari: Your apple push notification p12 certificate file for Safari Push Notifications, converted to a string and Base64 encoded.
+	SafariApnsP12 *string `json:"safari_apns_p12,omitempty"`
+	// Safari: Password for safari_apns_p12 file
+	SafariApnsP12Password *string `json:"safari_apns_p12_password,omitempty"`
+	// Safari (Recommended): The hostname to your website including http(s)://
+	SafariSiteOrigin *string `json:"safari_site_origin,omitempty"`
+	SafariPushId *string `json:"safari_push_id,omitempty"`
+	SafariIcon1616 *string `json:"safari_icon_16_16,omitempty"`
+	SafariIcon3232 *string `json:"safari_icon_32_32,omitempty"`
+	SafariIcon6464 *string `json:"safari_icon_64_64,omitempty"`
+	SafariIcon128128 *string `json:"safari_icon_128_128,omitempty"`
+	// Safari: A url for a 256x256 png notification icon. This is the only Safari icon URL you need to provide.
+	SafariIcon256256 *string `json:"safari_icon_256_256,omitempty"`
+	// All Browsers (Recommended): The Site Name. Requires both chrome_web_origin and safari_site_origin to be set to add or update it.
+	SiteName *string `json:"site_name,omitempty"`
+	BasicAuthKey *string `json:"basic_auth_key,omitempty"`
+	// The Id of the Organization you would like to add this app to.
+	OrganizationId *string `json:"organization_id,omitempty"`
+	// iOS: Notification data (additional data) values will be added to the root of the apns payload when sent to the device.  Ignore if you're not using any other plugins, or not using OneSignal SDK methods to read the payload.
+	AdditionalDataIsRootPayload *bool `json:"additional_data_is_root_payload,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _App App
+
+// NewApp instantiates a new App object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewApp(id string) *App {
+	this := App{}
+	this.Id = id
+	return &this
+}
+
+// NewAppWithDefaults instantiates a new App object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewAppWithDefaults() *App {
+	this := App{}
+	return &this
+}
+
+// GetId returns the Id field value
+func (o *App) GetId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value
+// and a boolean to check if the value has been set.
+func (o *App) GetIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Id, true
+}
+
+// SetId sets field value
+func (o *App) SetId(v string) {
+	o.Id = v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *App) GetName() string {
+	if o == nil || o.Name == nil {
+		var ret string
+		return ret
+	}
+	return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetNameOk() (*string, bool) {
+	if o == nil || o.Name == nil {
+		return nil, false
+	}
+	return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *App) HasName() bool {
+	if o != nil && o.Name != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *App) SetName(v string) {
+	o.Name = &v
+}
+
+// GetPlayers returns the Players field value if set, zero value otherwise.
+func (o *App) GetPlayers() int32 {
+	if o == nil || o.Players == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Players
+}
+
+// GetPlayersOk returns a tuple with the Players field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetPlayersOk() (*int32, bool) {
+	if o == nil || o.Players == nil {
+		return nil, false
+	}
+	return o.Players, true
+}
+
+// HasPlayers returns a boolean if a field has been set.
+func (o *App) HasPlayers() bool {
+	if o != nil && o.Players != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPlayers gets a reference to the given int32 and assigns it to the Players field.
+func (o *App) SetPlayers(v int32) {
+	o.Players = &v
+}
+
+// GetMessageablePlayers returns the MessageablePlayers field value if set, zero value otherwise.
+func (o *App) GetMessageablePlayers() int32 {
+	if o == nil || o.MessageablePlayers == nil {
+		var ret int32
+		return ret
+	}
+	return *o.MessageablePlayers
+}
+
+// GetMessageablePlayersOk returns a tuple with the MessageablePlayers field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetMessageablePlayersOk() (*int32, bool) {
+	if o == nil || o.MessageablePlayers == nil {
+		return nil, false
+	}
+	return o.MessageablePlayers, true
+}
+
+// HasMessageablePlayers returns a boolean if a field has been set.
+func (o *App) HasMessageablePlayers() bool {
+	if o != nil && o.MessageablePlayers != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMessageablePlayers gets a reference to the given int32 and assigns it to the MessageablePlayers field.
+func (o *App) SetMessageablePlayers(v int32) {
+	o.MessageablePlayers = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *App) GetUpdatedAt() time.Time {
+	if o == nil || o.UpdatedAt == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetUpdatedAtOk() (*time.Time, bool) {
+	if o == nil || o.UpdatedAt == nil {
+		return nil, false
+	}
+	return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *App) HasUpdatedAt() bool {
+	if o != nil && o.UpdatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *App) SetUpdatedAt(v time.Time) {
+	o.UpdatedAt = &v
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *App) GetCreatedAt() time.Time {
+	if o == nil || o.CreatedAt == nil {
+		var ret time.Time
+		return ret
+	}
+	return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetCreatedAtOk() (*time.Time, bool) {
+	if o == nil || o.CreatedAt == nil {
+		return nil, false
+	}
+	return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *App) HasCreatedAt() bool {
+	if o != nil && o.CreatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *App) SetCreatedAt(v time.Time) {
+	o.CreatedAt = &v
+}
+
+// GetAndroidGcmSenderId returns the AndroidGcmSenderId field value if set, zero value otherwise.
+func (o *App) GetAndroidGcmSenderId() string {
+	if o == nil || o.AndroidGcmSenderId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidGcmSenderId
+}
+
+// GetAndroidGcmSenderIdOk returns a tuple with the AndroidGcmSenderId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetAndroidGcmSenderIdOk() (*string, bool) {
+	if o == nil || o.AndroidGcmSenderId == nil {
+		return nil, false
+	}
+	return o.AndroidGcmSenderId, true
+}
+
+// HasAndroidGcmSenderId returns a boolean if a field has been set.
+func (o *App) HasAndroidGcmSenderId() bool {
+	if o != nil && o.AndroidGcmSenderId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidGcmSenderId gets a reference to the given string and assigns it to the AndroidGcmSenderId field.
+func (o *App) SetAndroidGcmSenderId(v string) {
+	o.AndroidGcmSenderId = &v
+}
+
+// GetGcmKey returns the GcmKey field value if set, zero value otherwise.
+func (o *App) GetGcmKey() string {
+	if o == nil || o.GcmKey == nil {
+		var ret string
+		return ret
+	}
+	return *o.GcmKey
+}
+
+// GetGcmKeyOk returns a tuple with the GcmKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetGcmKeyOk() (*string, bool) {
+	if o == nil || o.GcmKey == nil {
+		return nil, false
+	}
+	return o.GcmKey, true
+}
+
+// HasGcmKey returns a boolean if a field has been set.
+func (o *App) HasGcmKey() bool {
+	if o != nil && o.GcmKey != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetGcmKey gets a reference to the given string and assigns it to the GcmKey field.
+func (o *App) SetGcmKey(v string) {
+	o.GcmKey = &v
+}
+
+// GetChromeWebOrigin returns the ChromeWebOrigin field value if set, zero value otherwise.
+func (o *App) GetChromeWebOrigin() string {
+	if o == nil || o.ChromeWebOrigin == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebOrigin
+}
+
+// GetChromeWebOriginOk returns a tuple with the ChromeWebOrigin field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetChromeWebOriginOk() (*string, bool) {
+	if o == nil || o.ChromeWebOrigin == nil {
+		return nil, false
+	}
+	return o.ChromeWebOrigin, true
+}
+
+// HasChromeWebOrigin returns a boolean if a field has been set.
+func (o *App) HasChromeWebOrigin() bool {
+	if o != nil && o.ChromeWebOrigin != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebOrigin gets a reference to the given string and assigns it to the ChromeWebOrigin field.
+func (o *App) SetChromeWebOrigin(v string) {
+	o.ChromeWebOrigin = &v
+}
+
+// GetChromeKey returns the ChromeKey field value if set, zero value otherwise.
+func (o *App) GetChromeKey() string {
+	if o == nil || o.ChromeKey == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeKey
+}
+
+// GetChromeKeyOk returns a tuple with the ChromeKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetChromeKeyOk() (*string, bool) {
+	if o == nil || o.ChromeKey == nil {
+		return nil, false
+	}
+	return o.ChromeKey, true
+}
+
+// HasChromeKey returns a boolean if a field has been set.
+func (o *App) HasChromeKey() bool {
+	if o != nil && o.ChromeKey != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeKey gets a reference to the given string and assigns it to the ChromeKey field.
+func (o *App) SetChromeKey(v string) {
+	o.ChromeKey = &v
+}
+
+// GetChromeWebDefaultNotificationIcon returns the ChromeWebDefaultNotificationIcon field value if set, zero value otherwise.
+func (o *App) GetChromeWebDefaultNotificationIcon() string {
+	if o == nil || o.ChromeWebDefaultNotificationIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebDefaultNotificationIcon
+}
+
+// GetChromeWebDefaultNotificationIconOk returns a tuple with the ChromeWebDefaultNotificationIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetChromeWebDefaultNotificationIconOk() (*string, bool) {
+	if o == nil || o.ChromeWebDefaultNotificationIcon == nil {
+		return nil, false
+	}
+	return o.ChromeWebDefaultNotificationIcon, true
+}
+
+// HasChromeWebDefaultNotificationIcon returns a boolean if a field has been set.
+func (o *App) HasChromeWebDefaultNotificationIcon() bool {
+	if o != nil && o.ChromeWebDefaultNotificationIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebDefaultNotificationIcon gets a reference to the given string and assigns it to the ChromeWebDefaultNotificationIcon field.
+func (o *App) SetChromeWebDefaultNotificationIcon(v string) {
+	o.ChromeWebDefaultNotificationIcon = &v
+}
+
+// GetChromeWebSubDomain returns the ChromeWebSubDomain field value if set, zero value otherwise.
+func (o *App) GetChromeWebSubDomain() string {
+	if o == nil || o.ChromeWebSubDomain == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebSubDomain
+}
+
+// GetChromeWebSubDomainOk returns a tuple with the ChromeWebSubDomain field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetChromeWebSubDomainOk() (*string, bool) {
+	if o == nil || o.ChromeWebSubDomain == nil {
+		return nil, false
+	}
+	return o.ChromeWebSubDomain, true
+}
+
+// HasChromeWebSubDomain returns a boolean if a field has been set.
+func (o *App) HasChromeWebSubDomain() bool {
+	if o != nil && o.ChromeWebSubDomain != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebSubDomain gets a reference to the given string and assigns it to the ChromeWebSubDomain field.
+func (o *App) SetChromeWebSubDomain(v string) {
+	o.ChromeWebSubDomain = &v
+}
+
+// GetApnsEnv returns the ApnsEnv field value if set, zero value otherwise.
+func (o *App) GetApnsEnv() string {
+	if o == nil || o.ApnsEnv == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsEnv
+}
+
+// GetApnsEnvOk returns a tuple with the ApnsEnv field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetApnsEnvOk() (*string, bool) {
+	if o == nil || o.ApnsEnv == nil {
+		return nil, false
+	}
+	return o.ApnsEnv, true
+}
+
+// HasApnsEnv returns a boolean if a field has been set.
+func (o *App) HasApnsEnv() bool {
+	if o != nil && o.ApnsEnv != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsEnv gets a reference to the given string and assigns it to the ApnsEnv field.
+func (o *App) SetApnsEnv(v string) {
+	o.ApnsEnv = &v
+}
+
+// GetApnsP12 returns the ApnsP12 field value if set, zero value otherwise.
+func (o *App) GetApnsP12() string {
+	if o == nil || o.ApnsP12 == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsP12
+}
+
+// GetApnsP12Ok returns a tuple with the ApnsP12 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetApnsP12Ok() (*string, bool) {
+	if o == nil || o.ApnsP12 == nil {
+		return nil, false
+	}
+	return o.ApnsP12, true
+}
+
+// HasApnsP12 returns a boolean if a field has been set.
+func (o *App) HasApnsP12() bool {
+	if o != nil && o.ApnsP12 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsP12 gets a reference to the given string and assigns it to the ApnsP12 field.
+func (o *App) SetApnsP12(v string) {
+	o.ApnsP12 = &v
+}
+
+// GetApnsP12Password returns the ApnsP12Password field value if set, zero value otherwise.
+func (o *App) GetApnsP12Password() string {
+	if o == nil || o.ApnsP12Password == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsP12Password
+}
+
+// GetApnsP12PasswordOk returns a tuple with the ApnsP12Password field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetApnsP12PasswordOk() (*string, bool) {
+	if o == nil || o.ApnsP12Password == nil {
+		return nil, false
+	}
+	return o.ApnsP12Password, true
+}
+
+// HasApnsP12Password returns a boolean if a field has been set.
+func (o *App) HasApnsP12Password() bool {
+	if o != nil && o.ApnsP12Password != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsP12Password gets a reference to the given string and assigns it to the ApnsP12Password field.
+func (o *App) SetApnsP12Password(v string) {
+	o.ApnsP12Password = &v
+}
+
+// GetApnsCertificates returns the ApnsCertificates field value if set, zero value otherwise.
+func (o *App) GetApnsCertificates() string {
+	if o == nil || o.ApnsCertificates == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsCertificates
+}
+
+// GetApnsCertificatesOk returns a tuple with the ApnsCertificates field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetApnsCertificatesOk() (*string, bool) {
+	if o == nil || o.ApnsCertificates == nil {
+		return nil, false
+	}
+	return o.ApnsCertificates, true
+}
+
+// HasApnsCertificates returns a boolean if a field has been set.
+func (o *App) HasApnsCertificates() bool {
+	if o != nil && o.ApnsCertificates != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsCertificates gets a reference to the given string and assigns it to the ApnsCertificates field.
+func (o *App) SetApnsCertificates(v string) {
+	o.ApnsCertificates = &v
+}
+
+// GetSafariApnsCertificates returns the SafariApnsCertificates field value if set, zero value otherwise.
+func (o *App) GetSafariApnsCertificates() string {
+	if o == nil || o.SafariApnsCertificates == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariApnsCertificates
+}
+
+// GetSafariApnsCertificatesOk returns a tuple with the SafariApnsCertificates field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariApnsCertificatesOk() (*string, bool) {
+	if o == nil || o.SafariApnsCertificates == nil {
+		return nil, false
+	}
+	return o.SafariApnsCertificates, true
+}
+
+// HasSafariApnsCertificates returns a boolean if a field has been set.
+func (o *App) HasSafariApnsCertificates() bool {
+	if o != nil && o.SafariApnsCertificates != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariApnsCertificates gets a reference to the given string and assigns it to the SafariApnsCertificates field.
+func (o *App) SetSafariApnsCertificates(v string) {
+	o.SafariApnsCertificates = &v
+}
+
+// GetSafariApnsP12 returns the SafariApnsP12 field value if set, zero value otherwise.
+func (o *App) GetSafariApnsP12() string {
+	if o == nil || o.SafariApnsP12 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariApnsP12
+}
+
+// GetSafariApnsP12Ok returns a tuple with the SafariApnsP12 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariApnsP12Ok() (*string, bool) {
+	if o == nil || o.SafariApnsP12 == nil {
+		return nil, false
+	}
+	return o.SafariApnsP12, true
+}
+
+// HasSafariApnsP12 returns a boolean if a field has been set.
+func (o *App) HasSafariApnsP12() bool {
+	if o != nil && o.SafariApnsP12 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariApnsP12 gets a reference to the given string and assigns it to the SafariApnsP12 field.
+func (o *App) SetSafariApnsP12(v string) {
+	o.SafariApnsP12 = &v
+}
+
+// GetSafariApnsP12Password returns the SafariApnsP12Password field value if set, zero value otherwise.
+func (o *App) GetSafariApnsP12Password() string {
+	if o == nil || o.SafariApnsP12Password == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariApnsP12Password
+}
+
+// GetSafariApnsP12PasswordOk returns a tuple with the SafariApnsP12Password field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariApnsP12PasswordOk() (*string, bool) {
+	if o == nil || o.SafariApnsP12Password == nil {
+		return nil, false
+	}
+	return o.SafariApnsP12Password, true
+}
+
+// HasSafariApnsP12Password returns a boolean if a field has been set.
+func (o *App) HasSafariApnsP12Password() bool {
+	if o != nil && o.SafariApnsP12Password != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariApnsP12Password gets a reference to the given string and assigns it to the SafariApnsP12Password field.
+func (o *App) SetSafariApnsP12Password(v string) {
+	o.SafariApnsP12Password = &v
+}
+
+// GetSafariSiteOrigin returns the SafariSiteOrigin field value if set, zero value otherwise.
+func (o *App) GetSafariSiteOrigin() string {
+	if o == nil || o.SafariSiteOrigin == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariSiteOrigin
+}
+
+// GetSafariSiteOriginOk returns a tuple with the SafariSiteOrigin field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariSiteOriginOk() (*string, bool) {
+	if o == nil || o.SafariSiteOrigin == nil {
+		return nil, false
+	}
+	return o.SafariSiteOrigin, true
+}
+
+// HasSafariSiteOrigin returns a boolean if a field has been set.
+func (o *App) HasSafariSiteOrigin() bool {
+	if o != nil && o.SafariSiteOrigin != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariSiteOrigin gets a reference to the given string and assigns it to the SafariSiteOrigin field.
+func (o *App) SetSafariSiteOrigin(v string) {
+	o.SafariSiteOrigin = &v
+}
+
+// GetSafariPushId returns the SafariPushId field value if set, zero value otherwise.
+func (o *App) GetSafariPushId() string {
+	if o == nil || o.SafariPushId == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariPushId
+}
+
+// GetSafariPushIdOk returns a tuple with the SafariPushId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariPushIdOk() (*string, bool) {
+	if o == nil || o.SafariPushId == nil {
+		return nil, false
+	}
+	return o.SafariPushId, true
+}
+
+// HasSafariPushId returns a boolean if a field has been set.
+func (o *App) HasSafariPushId() bool {
+	if o != nil && o.SafariPushId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariPushId gets a reference to the given string and assigns it to the SafariPushId field.
+func (o *App) SetSafariPushId(v string) {
+	o.SafariPushId = &v
+}
+
+// GetSafariIcon1616 returns the SafariIcon1616 field value if set, zero value otherwise.
+func (o *App) GetSafariIcon1616() string {
+	if o == nil || o.SafariIcon1616 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariIcon1616
+}
+
+// GetSafariIcon1616Ok returns a tuple with the SafariIcon1616 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariIcon1616Ok() (*string, bool) {
+	if o == nil || o.SafariIcon1616 == nil {
+		return nil, false
+	}
+	return o.SafariIcon1616, true
+}
+
+// HasSafariIcon1616 returns a boolean if a field has been set.
+func (o *App) HasSafariIcon1616() bool {
+	if o != nil && o.SafariIcon1616 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariIcon1616 gets a reference to the given string and assigns it to the SafariIcon1616 field.
+func (o *App) SetSafariIcon1616(v string) {
+	o.SafariIcon1616 = &v
+}
+
+// GetSafariIcon3232 returns the SafariIcon3232 field value if set, zero value otherwise.
+func (o *App) GetSafariIcon3232() string {
+	if o == nil || o.SafariIcon3232 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariIcon3232
+}
+
+// GetSafariIcon3232Ok returns a tuple with the SafariIcon3232 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariIcon3232Ok() (*string, bool) {
+	if o == nil || o.SafariIcon3232 == nil {
+		return nil, false
+	}
+	return o.SafariIcon3232, true
+}
+
+// HasSafariIcon3232 returns a boolean if a field has been set.
+func (o *App) HasSafariIcon3232() bool {
+	if o != nil && o.SafariIcon3232 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariIcon3232 gets a reference to the given string and assigns it to the SafariIcon3232 field.
+func (o *App) SetSafariIcon3232(v string) {
+	o.SafariIcon3232 = &v
+}
+
+// GetSafariIcon6464 returns the SafariIcon6464 field value if set, zero value otherwise.
+func (o *App) GetSafariIcon6464() string {
+	if o == nil || o.SafariIcon6464 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariIcon6464
+}
+
+// GetSafariIcon6464Ok returns a tuple with the SafariIcon6464 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariIcon6464Ok() (*string, bool) {
+	if o == nil || o.SafariIcon6464 == nil {
+		return nil, false
+	}
+	return o.SafariIcon6464, true
+}
+
+// HasSafariIcon6464 returns a boolean if a field has been set.
+func (o *App) HasSafariIcon6464() bool {
+	if o != nil && o.SafariIcon6464 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariIcon6464 gets a reference to the given string and assigns it to the SafariIcon6464 field.
+func (o *App) SetSafariIcon6464(v string) {
+	o.SafariIcon6464 = &v
+}
+
+// GetSafariIcon128128 returns the SafariIcon128128 field value if set, zero value otherwise.
+func (o *App) GetSafariIcon128128() string {
+	if o == nil || o.SafariIcon128128 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariIcon128128
+}
+
+// GetSafariIcon128128Ok returns a tuple with the SafariIcon128128 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariIcon128128Ok() (*string, bool) {
+	if o == nil || o.SafariIcon128128 == nil {
+		return nil, false
+	}
+	return o.SafariIcon128128, true
+}
+
+// HasSafariIcon128128 returns a boolean if a field has been set.
+func (o *App) HasSafariIcon128128() bool {
+	if o != nil && o.SafariIcon128128 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariIcon128128 gets a reference to the given string and assigns it to the SafariIcon128128 field.
+func (o *App) SetSafariIcon128128(v string) {
+	o.SafariIcon128128 = &v
+}
+
+// GetSafariIcon256256 returns the SafariIcon256256 field value if set, zero value otherwise.
+func (o *App) GetSafariIcon256256() string {
+	if o == nil || o.SafariIcon256256 == nil {
+		var ret string
+		return ret
+	}
+	return *o.SafariIcon256256
+}
+
+// GetSafariIcon256256Ok returns a tuple with the SafariIcon256256 field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSafariIcon256256Ok() (*string, bool) {
+	if o == nil || o.SafariIcon256256 == nil {
+		return nil, false
+	}
+	return o.SafariIcon256256, true
+}
+
+// HasSafariIcon256256 returns a boolean if a field has been set.
+func (o *App) HasSafariIcon256256() bool {
+	if o != nil && o.SafariIcon256256 != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariIcon256256 gets a reference to the given string and assigns it to the SafariIcon256256 field.
+func (o *App) SetSafariIcon256256(v string) {
+	o.SafariIcon256256 = &v
+}
+
+// GetSiteName returns the SiteName field value if set, zero value otherwise.
+func (o *App) GetSiteName() string {
+	if o == nil || o.SiteName == nil {
+		var ret string
+		return ret
+	}
+	return *o.SiteName
+}
+
+// GetSiteNameOk returns a tuple with the SiteName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetSiteNameOk() (*string, bool) {
+	if o == nil || o.SiteName == nil {
+		return nil, false
+	}
+	return o.SiteName, true
+}
+
+// HasSiteName returns a boolean if a field has been set.
+func (o *App) HasSiteName() bool {
+	if o != nil && o.SiteName != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSiteName gets a reference to the given string and assigns it to the SiteName field.
+func (o *App) SetSiteName(v string) {
+	o.SiteName = &v
+}
+
+// GetBasicAuthKey returns the BasicAuthKey field value if set, zero value otherwise.
+func (o *App) GetBasicAuthKey() string {
+	if o == nil || o.BasicAuthKey == nil {
+		var ret string
+		return ret
+	}
+	return *o.BasicAuthKey
+}
+
+// GetBasicAuthKeyOk returns a tuple with the BasicAuthKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetBasicAuthKeyOk() (*string, bool) {
+	if o == nil || o.BasicAuthKey == nil {
+		return nil, false
+	}
+	return o.BasicAuthKey, true
+}
+
+// HasBasicAuthKey returns a boolean if a field has been set.
+func (o *App) HasBasicAuthKey() bool {
+	if o != nil && o.BasicAuthKey != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBasicAuthKey gets a reference to the given string and assigns it to the BasicAuthKey field.
+func (o *App) SetBasicAuthKey(v string) {
+	o.BasicAuthKey = &v
+}
+
+// GetOrganizationId returns the OrganizationId field value if set, zero value otherwise.
+func (o *App) GetOrganizationId() string {
+	if o == nil || o.OrganizationId == nil {
+		var ret string
+		return ret
+	}
+	return *o.OrganizationId
+}
+
+// GetOrganizationIdOk returns a tuple with the OrganizationId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetOrganizationIdOk() (*string, bool) {
+	if o == nil || o.OrganizationId == nil {
+		return nil, false
+	}
+	return o.OrganizationId, true
+}
+
+// HasOrganizationId returns a boolean if a field has been set.
+func (o *App) HasOrganizationId() bool {
+	if o != nil && o.OrganizationId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOrganizationId gets a reference to the given string and assigns it to the OrganizationId field.
+func (o *App) SetOrganizationId(v string) {
+	o.OrganizationId = &v
+}
+
+// GetAdditionalDataIsRootPayload returns the AdditionalDataIsRootPayload field value if set, zero value otherwise.
+func (o *App) GetAdditionalDataIsRootPayload() bool {
+	if o == nil || o.AdditionalDataIsRootPayload == nil {
+		var ret bool
+		return ret
+	}
+	return *o.AdditionalDataIsRootPayload
+}
+
+// GetAdditionalDataIsRootPayloadOk returns a tuple with the AdditionalDataIsRootPayload field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *App) GetAdditionalDataIsRootPayloadOk() (*bool, bool) {
+	if o == nil || o.AdditionalDataIsRootPayload == nil {
+		return nil, false
+	}
+	return o.AdditionalDataIsRootPayload, true
+}
+
+// HasAdditionalDataIsRootPayload returns a boolean if a field has been set.
+func (o *App) HasAdditionalDataIsRootPayload() bool {
+	if o != nil && o.AdditionalDataIsRootPayload != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdditionalDataIsRootPayload gets a reference to the given bool and assigns it to the AdditionalDataIsRootPayload field.
+func (o *App) SetAdditionalDataIsRootPayload(v bool) {
+	o.AdditionalDataIsRootPayload = &v
+}
+
+func (o App) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["id"] = o.Id
+	}
+	if o.Name != nil {
+		toSerialize["name"] = o.Name
+	}
+	if o.Players != nil {
+		toSerialize["players"] = o.Players
+	}
+	if o.MessageablePlayers != nil {
+		toSerialize["messageable_players"] = o.MessageablePlayers
+	}
+	if o.UpdatedAt != nil {
+		toSerialize["updated_at"] = o.UpdatedAt
+	}
+	if o.CreatedAt != nil {
+		toSerialize["created_at"] = o.CreatedAt
+	}
+	if o.AndroidGcmSenderId != nil {
+		toSerialize["android_gcm_sender_id"] = o.AndroidGcmSenderId
+	}
+	if o.GcmKey != nil {
+		toSerialize["gcm_key"] = o.GcmKey
+	}
+	if o.ChromeWebOrigin != nil {
+		toSerialize["chrome_web_origin"] = o.ChromeWebOrigin
+	}
+	if o.ChromeKey != nil {
+		toSerialize["chrome_key"] = o.ChromeKey
+	}
+	if o.ChromeWebDefaultNotificationIcon != nil {
+		toSerialize["chrome_web_default_notification_icon"] = o.ChromeWebDefaultNotificationIcon
+	}
+	if o.ChromeWebSubDomain != nil {
+		toSerialize["chrome_web_sub_domain"] = o.ChromeWebSubDomain
+	}
+	if o.ApnsEnv != nil {
+		toSerialize["apns_env"] = o.ApnsEnv
+	}
+	if o.ApnsP12 != nil {
+		toSerialize["apns_p12"] = o.ApnsP12
+	}
+	if o.ApnsP12Password != nil {
+		toSerialize["apns_p12_password"] = o.ApnsP12Password
+	}
+	if o.ApnsCertificates != nil {
+		toSerialize["apns_certificates"] = o.ApnsCertificates
+	}
+	if o.SafariApnsCertificates != nil {
+		toSerialize["safari_apns_certificates"] = o.SafariApnsCertificates
+	}
+	if o.SafariApnsP12 != nil {
+		toSerialize["safari_apns_p12"] = o.SafariApnsP12
+	}
+	if o.SafariApnsP12Password != nil {
+		toSerialize["safari_apns_p12_password"] = o.SafariApnsP12Password
+	}
+	if o.SafariSiteOrigin != nil {
+		toSerialize["safari_site_origin"] = o.SafariSiteOrigin
+	}
+	if o.SafariPushId != nil {
+		toSerialize["safari_push_id"] = o.SafariPushId
+	}
+	if o.SafariIcon1616 != nil {
+		toSerialize["safari_icon_16_16"] = o.SafariIcon1616
+	}
+	if o.SafariIcon3232 != nil {
+		toSerialize["safari_icon_32_32"] = o.SafariIcon3232
+	}
+	if o.SafariIcon6464 != nil {
+		toSerialize["safari_icon_64_64"] = o.SafariIcon6464
+	}
+	if o.SafariIcon128128 != nil {
+		toSerialize["safari_icon_128_128"] = o.SafariIcon128128
+	}
+	if o.SafariIcon256256 != nil {
+		toSerialize["safari_icon_256_256"] = o.SafariIcon256256
+	}
+	if o.SiteName != nil {
+		toSerialize["site_name"] = o.SiteName
+	}
+	if o.BasicAuthKey != nil {
+		toSerialize["basic_auth_key"] = o.BasicAuthKey
+	}
+	if o.OrganizationId != nil {
+		toSerialize["organization_id"] = o.OrganizationId
+	}
+	if o.AdditionalDataIsRootPayload != nil {
+		toSerialize["additional_data_is_root_payload"] = o.AdditionalDataIsRootPayload
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *App) UnmarshalJSON(bytes []byte) (err error) {
+	varApp := _App{}
+
+	if err = json.Unmarshal(bytes, &varApp); err == nil {
+		*o = App(varApp)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "name")
+		delete(additionalProperties, "players")
+		delete(additionalProperties, "messageable_players")
+		delete(additionalProperties, "updated_at")
+		delete(additionalProperties, "created_at")
+		delete(additionalProperties, "android_gcm_sender_id")
+		delete(additionalProperties, "gcm_key")
+		delete(additionalProperties, "chrome_web_origin")
+		delete(additionalProperties, "chrome_key")
+		delete(additionalProperties, "chrome_web_default_notification_icon")
+		delete(additionalProperties, "chrome_web_sub_domain")
+		delete(additionalProperties, "apns_env")
+		delete(additionalProperties, "apns_p12")
+		delete(additionalProperties, "apns_p12_password")
+		delete(additionalProperties, "apns_certificates")
+		delete(additionalProperties, "safari_apns_certificates")
+		delete(additionalProperties, "safari_apns_p12")
+		delete(additionalProperties, "safari_apns_p12_password")
+		delete(additionalProperties, "safari_site_origin")
+		delete(additionalProperties, "safari_push_id")
+		delete(additionalProperties, "safari_icon_16_16")
+		delete(additionalProperties, "safari_icon_32_32")
+		delete(additionalProperties, "safari_icon_64_64")
+		delete(additionalProperties, "safari_icon_128_128")
+		delete(additionalProperties, "safari_icon_256_256")
+		delete(additionalProperties, "site_name")
+		delete(additionalProperties, "basic_auth_key")
+		delete(additionalProperties, "organization_id")
+		delete(additionalProperties, "additional_data_is_root_payload")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableApp struct {
+	value *App
+	isSet bool
+}
+
+func (v NullableApp) Get() *App {
+	return v.value
+}
+
+func (v *NullableApp) Set(val *App) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableApp) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableApp) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableApp(val *App) *NullableApp {
+	return &NullableApp{value: val, isSet: true}
+}
+
+func (v NullableApp) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableApp) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_button.go b/model_button.go
new file mode 100644
index 0000000..629941a
--- /dev/null
+++ b/model_button.go
@@ -0,0 +1,208 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Button struct for Button
+type Button struct {
+	Id string `json:"id"`
+	Text *string `json:"text,omitempty"`
+	Icon *string `json:"icon,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Button Button
+
+// NewButton instantiates a new Button object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewButton(id string) *Button {
+	this := Button{}
+	this.Id = id
+	return &this
+}
+
+// NewButtonWithDefaults instantiates a new Button object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewButtonWithDefaults() *Button {
+	this := Button{}
+	return &this
+}
+
+// GetId returns the Id field value
+func (o *Button) GetId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value
+// and a boolean to check if the value has been set.
+func (o *Button) GetIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Id, true
+}
+
+// SetId sets field value
+func (o *Button) SetId(v string) {
+	o.Id = v
+}
+
+// GetText returns the Text field value if set, zero value otherwise.
+func (o *Button) GetText() string {
+	if o == nil || o.Text == nil {
+		var ret string
+		return ret
+	}
+	return *o.Text
+}
+
+// GetTextOk returns a tuple with the Text field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Button) GetTextOk() (*string, bool) {
+	if o == nil || o.Text == nil {
+		return nil, false
+	}
+	return o.Text, true
+}
+
+// HasText returns a boolean if a field has been set.
+func (o *Button) HasText() bool {
+	if o != nil && o.Text != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetText gets a reference to the given string and assigns it to the Text field.
+func (o *Button) SetText(v string) {
+	o.Text = &v
+}
+
+// GetIcon returns the Icon field value if set, zero value otherwise.
+func (o *Button) GetIcon() string {
+	if o == nil || o.Icon == nil {
+		var ret string
+		return ret
+	}
+	return *o.Icon
+}
+
+// GetIconOk returns a tuple with the Icon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Button) GetIconOk() (*string, bool) {
+	if o == nil || o.Icon == nil {
+		return nil, false
+	}
+	return o.Icon, true
+}
+
+// HasIcon returns a boolean if a field has been set.
+func (o *Button) HasIcon() bool {
+	if o != nil && o.Icon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIcon gets a reference to the given string and assigns it to the Icon field.
+func (o *Button) SetIcon(v string) {
+	o.Icon = &v
+}
+
+func (o Button) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["id"] = o.Id
+	}
+	if o.Text != nil {
+		toSerialize["text"] = o.Text
+	}
+	if o.Icon != nil {
+		toSerialize["icon"] = o.Icon
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Button) UnmarshalJSON(bytes []byte) (err error) {
+	varButton := _Button{}
+
+	if err = json.Unmarshal(bytes, &varButton); err == nil {
+		*o = Button(varButton)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "text")
+		delete(additionalProperties, "icon")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableButton struct {
+	value *Button
+	isSet bool
+}
+
+func (v NullableButton) Get() *Button {
+	return v.value
+}
+
+func (v *NullableButton) Set(val *Button) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableButton) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableButton) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableButton(val *Button) *NullableButton {
+	return &NullableButton{value: val, isSet: true}
+}
+
+func (v NullableButton) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableButton) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_delivery_data.go b/model_delivery_data.go
new file mode 100644
index 0000000..4e95831
--- /dev/null
+++ b/model_delivery_data.go
@@ -0,0 +1,289 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// DeliveryData struct for DeliveryData
+type DeliveryData struct {
+	Successful *int32 `json:"successful,omitempty"`
+	Failed *int32 `json:"failed,omitempty"`
+	Errored *int32 `json:"errored,omitempty"`
+	Converted *int32 `json:"converted,omitempty"`
+	Received *int32 `json:"received,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _DeliveryData DeliveryData
+
+// NewDeliveryData instantiates a new DeliveryData object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDeliveryData() *DeliveryData {
+	this := DeliveryData{}
+	return &this
+}
+
+// NewDeliveryDataWithDefaults instantiates a new DeliveryData object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDeliveryDataWithDefaults() *DeliveryData {
+	this := DeliveryData{}
+	return &this
+}
+
+// GetSuccessful returns the Successful field value if set, zero value otherwise.
+func (o *DeliveryData) GetSuccessful() int32 {
+	if o == nil || o.Successful == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Successful
+}
+
+// GetSuccessfulOk returns a tuple with the Successful field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DeliveryData) GetSuccessfulOk() (*int32, bool) {
+	if o == nil || o.Successful == nil {
+		return nil, false
+	}
+	return o.Successful, true
+}
+
+// HasSuccessful returns a boolean if a field has been set.
+func (o *DeliveryData) HasSuccessful() bool {
+	if o != nil && o.Successful != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccessful gets a reference to the given int32 and assigns it to the Successful field.
+func (o *DeliveryData) SetSuccessful(v int32) {
+	o.Successful = &v
+}
+
+// GetFailed returns the Failed field value if set, zero value otherwise.
+func (o *DeliveryData) GetFailed() int32 {
+	if o == nil || o.Failed == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Failed
+}
+
+// GetFailedOk returns a tuple with the Failed field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DeliveryData) GetFailedOk() (*int32, bool) {
+	if o == nil || o.Failed == nil {
+		return nil, false
+	}
+	return o.Failed, true
+}
+
+// HasFailed returns a boolean if a field has been set.
+func (o *DeliveryData) HasFailed() bool {
+	if o != nil && o.Failed != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFailed gets a reference to the given int32 and assigns it to the Failed field.
+func (o *DeliveryData) SetFailed(v int32) {
+	o.Failed = &v
+}
+
+// GetErrored returns the Errored field value if set, zero value otherwise.
+func (o *DeliveryData) GetErrored() int32 {
+	if o == nil || o.Errored == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Errored
+}
+
+// GetErroredOk returns a tuple with the Errored field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DeliveryData) GetErroredOk() (*int32, bool) {
+	if o == nil || o.Errored == nil {
+		return nil, false
+	}
+	return o.Errored, true
+}
+
+// HasErrored returns a boolean if a field has been set.
+func (o *DeliveryData) HasErrored() bool {
+	if o != nil && o.Errored != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErrored gets a reference to the given int32 and assigns it to the Errored field.
+func (o *DeliveryData) SetErrored(v int32) {
+	o.Errored = &v
+}
+
+// GetConverted returns the Converted field value if set, zero value otherwise.
+func (o *DeliveryData) GetConverted() int32 {
+	if o == nil || o.Converted == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Converted
+}
+
+// GetConvertedOk returns a tuple with the Converted field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DeliveryData) GetConvertedOk() (*int32, bool) {
+	if o == nil || o.Converted == nil {
+		return nil, false
+	}
+	return o.Converted, true
+}
+
+// HasConverted returns a boolean if a field has been set.
+func (o *DeliveryData) HasConverted() bool {
+	if o != nil && o.Converted != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetConverted gets a reference to the given int32 and assigns it to the Converted field.
+func (o *DeliveryData) SetConverted(v int32) {
+	o.Converted = &v
+}
+
+// GetReceived returns the Received field value if set, zero value otherwise.
+func (o *DeliveryData) GetReceived() int32 {
+	if o == nil || o.Received == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Received
+}
+
+// GetReceivedOk returns a tuple with the Received field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DeliveryData) GetReceivedOk() (*int32, bool) {
+	if o == nil || o.Received == nil {
+		return nil, false
+	}
+	return o.Received, true
+}
+
+// HasReceived returns a boolean if a field has been set.
+func (o *DeliveryData) HasReceived() bool {
+	if o != nil && o.Received != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetReceived gets a reference to the given int32 and assigns it to the Received field.
+func (o *DeliveryData) SetReceived(v int32) {
+	o.Received = &v
+}
+
+func (o DeliveryData) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Successful != nil {
+		toSerialize["successful"] = o.Successful
+	}
+	if o.Failed != nil {
+		toSerialize["failed"] = o.Failed
+	}
+	if o.Errored != nil {
+		toSerialize["errored"] = o.Errored
+	}
+	if o.Converted != nil {
+		toSerialize["converted"] = o.Converted
+	}
+	if o.Received != nil {
+		toSerialize["received"] = o.Received
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *DeliveryData) UnmarshalJSON(bytes []byte) (err error) {
+	varDeliveryData := _DeliveryData{}
+
+	if err = json.Unmarshal(bytes, &varDeliveryData); err == nil {
+		*o = DeliveryData(varDeliveryData)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "successful")
+		delete(additionalProperties, "failed")
+		delete(additionalProperties, "errored")
+		delete(additionalProperties, "converted")
+		delete(additionalProperties, "received")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableDeliveryData struct {
+	value *DeliveryData
+	isSet bool
+}
+
+func (v NullableDeliveryData) Get() *DeliveryData {
+	return v.value
+}
+
+func (v *NullableDeliveryData) Set(val *DeliveryData) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableDeliveryData) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableDeliveryData) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableDeliveryData(val *DeliveryData) *NullableDeliveryData {
+	return &NullableDeliveryData{value: val, isSet: true}
+}
+
+func (v NullableDeliveryData) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableDeliveryData) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_export_players_request_body.go b/model_export_players_request_body.go
new file mode 100644
index 0000000..c180998
--- /dev/null
+++ b/model_export_players_request_body.go
@@ -0,0 +1,218 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// ExportPlayersRequestBody struct for ExportPlayersRequestBody
+type ExportPlayersRequestBody struct {
+	// Additional fields that you wish to include. Currently supports location, country, rooted, notification_types, ip, external_user_id, web_auth, and web_p256.
+	ExtraFields []string `json:"extra_fields,omitempty"`
+	// Export all devices with a last_active timestamp greater than this time.  Unixtime in seconds.
+	LastActiveSince *int32 `json:"last_active_since,omitempty"`
+	// Export al ldevices belonging to the segment.
+	SegmentName *string `json:"segment_name,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _ExportPlayersRequestBody ExportPlayersRequestBody
+
+// NewExportPlayersRequestBody instantiates a new ExportPlayersRequestBody object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewExportPlayersRequestBody() *ExportPlayersRequestBody {
+	this := ExportPlayersRequestBody{}
+	return &this
+}
+
+// NewExportPlayersRequestBodyWithDefaults instantiates a new ExportPlayersRequestBody object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewExportPlayersRequestBodyWithDefaults() *ExportPlayersRequestBody {
+	this := ExportPlayersRequestBody{}
+	return &this
+}
+
+// GetExtraFields returns the ExtraFields field value if set, zero value otherwise.
+func (o *ExportPlayersRequestBody) GetExtraFields() []string {
+	if o == nil || o.ExtraFields == nil {
+		var ret []string
+		return ret
+	}
+	return o.ExtraFields
+}
+
+// GetExtraFieldsOk returns a tuple with the ExtraFields field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ExportPlayersRequestBody) GetExtraFieldsOk() ([]string, bool) {
+	if o == nil || o.ExtraFields == nil {
+		return nil, false
+	}
+	return o.ExtraFields, true
+}
+
+// HasExtraFields returns a boolean if a field has been set.
+func (o *ExportPlayersRequestBody) HasExtraFields() bool {
+	if o != nil && o.ExtraFields != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExtraFields gets a reference to the given []string and assigns it to the ExtraFields field.
+func (o *ExportPlayersRequestBody) SetExtraFields(v []string) {
+	o.ExtraFields = v
+}
+
+// GetLastActiveSince returns the LastActiveSince field value if set, zero value otherwise.
+func (o *ExportPlayersRequestBody) GetLastActiveSince() int32 {
+	if o == nil || o.LastActiveSince == nil {
+		var ret int32
+		return ret
+	}
+	return *o.LastActiveSince
+}
+
+// GetLastActiveSinceOk returns a tuple with the LastActiveSince field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ExportPlayersRequestBody) GetLastActiveSinceOk() (*int32, bool) {
+	if o == nil || o.LastActiveSince == nil {
+		return nil, false
+	}
+	return o.LastActiveSince, true
+}
+
+// HasLastActiveSince returns a boolean if a field has been set.
+func (o *ExportPlayersRequestBody) HasLastActiveSince() bool {
+	if o != nil && o.LastActiveSince != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLastActiveSince gets a reference to the given int32 and assigns it to the LastActiveSince field.
+func (o *ExportPlayersRequestBody) SetLastActiveSince(v int32) {
+	o.LastActiveSince = &v
+}
+
+// GetSegmentName returns the SegmentName field value if set, zero value otherwise.
+func (o *ExportPlayersRequestBody) GetSegmentName() string {
+	if o == nil || o.SegmentName == nil {
+		var ret string
+		return ret
+	}
+	return *o.SegmentName
+}
+
+// GetSegmentNameOk returns a tuple with the SegmentName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ExportPlayersRequestBody) GetSegmentNameOk() (*string, bool) {
+	if o == nil || o.SegmentName == nil {
+		return nil, false
+	}
+	return o.SegmentName, true
+}
+
+// HasSegmentName returns a boolean if a field has been set.
+func (o *ExportPlayersRequestBody) HasSegmentName() bool {
+	if o != nil && o.SegmentName != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSegmentName gets a reference to the given string and assigns it to the SegmentName field.
+func (o *ExportPlayersRequestBody) SetSegmentName(v string) {
+	o.SegmentName = &v
+}
+
+func (o ExportPlayersRequestBody) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.ExtraFields != nil {
+		toSerialize["extra_fields"] = o.ExtraFields
+	}
+	if o.LastActiveSince != nil {
+		toSerialize["last_active_since"] = o.LastActiveSince
+	}
+	if o.SegmentName != nil {
+		toSerialize["segment_name"] = o.SegmentName
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *ExportPlayersRequestBody) UnmarshalJSON(bytes []byte) (err error) {
+	varExportPlayersRequestBody := _ExportPlayersRequestBody{}
+
+	if err = json.Unmarshal(bytes, &varExportPlayersRequestBody); err == nil {
+		*o = ExportPlayersRequestBody(varExportPlayersRequestBody)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "extra_fields")
+		delete(additionalProperties, "last_active_since")
+		delete(additionalProperties, "segment_name")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableExportPlayersRequestBody struct {
+	value *ExportPlayersRequestBody
+	isSet bool
+}
+
+func (v NullableExportPlayersRequestBody) Get() *ExportPlayersRequestBody {
+	return v.value
+}
+
+func (v *NullableExportPlayersRequestBody) Set(val *ExportPlayersRequestBody) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableExportPlayersRequestBody) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableExportPlayersRequestBody) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableExportPlayersRequestBody(val *ExportPlayersRequestBody) *NullableExportPlayersRequestBody {
+	return &NullableExportPlayersRequestBody{value: val, isSet: true}
+}
+
+func (v NullableExportPlayersRequestBody) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableExportPlayersRequestBody) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_filter.go b/model_filter.go
new file mode 100644
index 0000000..6439bf7
--- /dev/null
+++ b/model_filter.go
@@ -0,0 +1,242 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Filter struct for Filter
+type Filter struct {
+	// Name of the field to use as the first operand in the filter expression.
+	Field string `json:"field"`
+	// If `field` is `tag`, this field is *required* to specify `key` inside the tags.
+	Key *string `json:"key,omitempty"`
+	// Constant value to use as the second operand in the filter expression.  This value is *required* when the relation operator is a binary operator.
+	Value *string `json:"value,omitempty"`
+	// Operator of a filter expression.
+	Relation string `json:"relation"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Filter Filter
+
+// NewFilter instantiates a new Filter object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewFilter(field string, relation string) *Filter {
+	this := Filter{}
+	this.Field = field
+	this.Relation = relation
+	return &this
+}
+
+// NewFilterWithDefaults instantiates a new Filter object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewFilterWithDefaults() *Filter {
+	this := Filter{}
+	return &this
+}
+
+// GetField returns the Field field value
+func (o *Filter) GetField() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Field
+}
+
+// GetFieldOk returns a tuple with the Field field value
+// and a boolean to check if the value has been set.
+func (o *Filter) GetFieldOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Field, true
+}
+
+// SetField sets field value
+func (o *Filter) SetField(v string) {
+	o.Field = v
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *Filter) GetKey() string {
+	if o == nil || o.Key == nil {
+		var ret string
+		return ret
+	}
+	return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Filter) GetKeyOk() (*string, bool) {
+	if o == nil || o.Key == nil {
+		return nil, false
+	}
+	return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *Filter) HasKey() bool {
+	if o != nil && o.Key != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *Filter) SetKey(v string) {
+	o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *Filter) GetValue() string {
+	if o == nil || o.Value == nil {
+		var ret string
+		return ret
+	}
+	return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Filter) GetValueOk() (*string, bool) {
+	if o == nil || o.Value == nil {
+		return nil, false
+	}
+	return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *Filter) HasValue() bool {
+	if o != nil && o.Value != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *Filter) SetValue(v string) {
+	o.Value = &v
+}
+
+// GetRelation returns the Relation field value
+func (o *Filter) GetRelation() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Relation
+}
+
+// GetRelationOk returns a tuple with the Relation field value
+// and a boolean to check if the value has been set.
+func (o *Filter) GetRelationOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Relation, true
+}
+
+// SetRelation sets field value
+func (o *Filter) SetRelation(v string) {
+	o.Relation = v
+}
+
+func (o Filter) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["field"] = o.Field
+	}
+	if o.Key != nil {
+		toSerialize["key"] = o.Key
+	}
+	if o.Value != nil {
+		toSerialize["value"] = o.Value
+	}
+	if true {
+		toSerialize["relation"] = o.Relation
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Filter) UnmarshalJSON(bytes []byte) (err error) {
+	varFilter := _Filter{}
+
+	if err = json.Unmarshal(bytes, &varFilter); err == nil {
+		*o = Filter(varFilter)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "field")
+		delete(additionalProperties, "key")
+		delete(additionalProperties, "value")
+		delete(additionalProperties, "relation")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableFilter struct {
+	value *Filter
+	isSet bool
+}
+
+func (v NullableFilter) Get() *Filter {
+	return v.value
+}
+
+func (v *NullableFilter) Set(val *Filter) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableFilter) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableFilter) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableFilter(val *Filter) *NullableFilter {
+	return &NullableFilter{value: val, isSet: true}
+}
+
+func (v NullableFilter) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableFilter) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_filter_expressions.go b/model_filter_expressions.go
new file mode 100644
index 0000000..1aaa528
--- /dev/null
+++ b/model_filter_expressions.go
@@ -0,0 +1,106 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+	"fmt"
+)
+
+// FilterExpressions struct for FilterExpressions
+type FilterExpressions struct {
+	Filter *Filter
+	Operator *Operator
+}
+
+// Unmarshal JSON data into any of the pointers in the struct
+func (dst *FilterExpressions) UnmarshalJSON(data []byte) error {
+	var err error
+	// try to unmarshal JSON data into Filter
+	err = json.Unmarshal(data, &dst.Filter);
+	if err == nil {
+		jsonFilter, _ := json.Marshal(dst.Filter)
+		if string(jsonFilter) == "{}" { // empty struct
+			dst.Filter = nil
+		} else {
+			return nil // data stored in dst.Filter, return on the first match
+		}
+	} else {
+		dst.Filter = nil
+	}
+
+	// try to unmarshal JSON data into Operator
+	err = json.Unmarshal(data, &dst.Operator);
+	if err == nil {
+		jsonOperator, _ := json.Marshal(dst.Operator)
+		if string(jsonOperator) == "{}" { // empty struct
+			dst.Operator = nil
+		} else {
+			return nil // data stored in dst.Operator, return on the first match
+		}
+	} else {
+		dst.Operator = nil
+	}
+
+	return fmt.Errorf("Data failed to match schemas in anyOf(FilterExpressions)")
+}
+
+// Marshal data from the first non-nil pointers in the struct to JSON
+func (src *FilterExpressions) MarshalJSON() ([]byte, error) {
+	if src.Filter != nil {
+		return json.Marshal(&src.Filter)
+	}
+
+	if src.Operator != nil {
+		return json.Marshal(&src.Operator)
+	}
+
+	return nil, nil // no data in anyOf schemas
+}
+
+type NullableFilterExpressions struct {
+	value *FilterExpressions
+	isSet bool
+}
+
+func (v NullableFilterExpressions) Get() *FilterExpressions {
+	return v.value
+}
+
+func (v *NullableFilterExpressions) Set(val *FilterExpressions) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableFilterExpressions) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableFilterExpressions) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableFilterExpressions(val *FilterExpressions) *NullableFilterExpressions {
+	return &NullableFilterExpressions{value: val, isSet: true}
+}
+
+func (v NullableFilterExpressions) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableFilterExpressions) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_filter_notification_target.go b/model_filter_notification_target.go
new file mode 100644
index 0000000..5e7384a
--- /dev/null
+++ b/model_filter_notification_target.go
@@ -0,0 +1,560 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// FilterNotificationTarget struct for FilterNotificationTarget
+type FilterNotificationTarget struct {
+	// relation = \">\" or \"<\" hours_ago = number of hours before or after the users last session. Example: \"1.1\" 
+	LastSession *string `json:"last_session,omitempty"`
+	// relation = \">\" or \"<\" hours_ago = number of hours before or after the users first session. Example: \"1.1\" 
+	FirstSession *string `json:"first_session,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = number sessions. Example: \"1\" 
+	SessionCount *string `json:"session_count,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = Time in seconds the user has been in your app. Example: \"3600\" 
+	SessionTime *string `json:"session_time,omitempty"`
+	// relation = \">\", \"<\", or \"=\" value = Amount in USD a user has spent on IAP (In App Purchases). Example: \"0.99\" 
+	AmountSpent *string `json:"amount_spent,omitempty"`
+	// relation = \">\", \"<\" or \"=\" key = SKU purchased in your app as an IAP (In App Purchases). Example: \"com.domain.100coinpack\" value = value of SKU to compare to. Example: \"0.99\" 
+	BoughtSku *string `json:"bought_sku,omitempty"`
+	// relation = \">\", \"<\", \"=\", \"!=\", \"exists\", \"not_exists\", \"time_elapsed_gt\" (paid plan only) or \"time_elapsed_lt\" (paid plan only) See Time Operators key = Tag key to compare. value = Tag value to compare. Not required for \"exists\" or \"not_exists\". Example: See Formatting Filters 
+	Tag *string `json:"tag,omitempty"`
+	// relation = \"=\" or \"!=\" value = 2 character language code. Example: \"en\". For a list of all language codes see Language & Localization. 
+	Language *string `json:"language,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = app version. Example: \"1.0.0\" 
+	AppVersion *string `json:"app_version,omitempty"`
+	// radius = in meters lat = latitude long = longitude 
+	Location *string `json:"location,omitempty"`
+	// value = email address Only for sending Push Notifications Use this for targeting push subscribers associated with an email set with all SDK setEmail methods To send emails to specific email addresses use include_email_tokens parameter 
+	Email *string `json:"email,omitempty"`
+	// relation = \"=\" value = 2-digit Country code Example: \"field\": \"country\", \"relation\": \"=\", \"value\", \"US\" 
+	Country *string `json:"country,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _FilterNotificationTarget FilterNotificationTarget
+
+// NewFilterNotificationTarget instantiates a new FilterNotificationTarget object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewFilterNotificationTarget() *FilterNotificationTarget {
+	this := FilterNotificationTarget{}
+	return &this
+}
+
+// NewFilterNotificationTargetWithDefaults instantiates a new FilterNotificationTarget object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewFilterNotificationTargetWithDefaults() *FilterNotificationTarget {
+	this := FilterNotificationTarget{}
+	return &this
+}
+
+// GetLastSession returns the LastSession field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetLastSession() string {
+	if o == nil || o.LastSession == nil {
+		var ret string
+		return ret
+	}
+	return *o.LastSession
+}
+
+// GetLastSessionOk returns a tuple with the LastSession field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetLastSessionOk() (*string, bool) {
+	if o == nil || o.LastSession == nil {
+		return nil, false
+	}
+	return o.LastSession, true
+}
+
+// HasLastSession returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasLastSession() bool {
+	if o != nil && o.LastSession != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLastSession gets a reference to the given string and assigns it to the LastSession field.
+func (o *FilterNotificationTarget) SetLastSession(v string) {
+	o.LastSession = &v
+}
+
+// GetFirstSession returns the FirstSession field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetFirstSession() string {
+	if o == nil || o.FirstSession == nil {
+		var ret string
+		return ret
+	}
+	return *o.FirstSession
+}
+
+// GetFirstSessionOk returns a tuple with the FirstSession field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetFirstSessionOk() (*string, bool) {
+	if o == nil || o.FirstSession == nil {
+		return nil, false
+	}
+	return o.FirstSession, true
+}
+
+// HasFirstSession returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasFirstSession() bool {
+	if o != nil && o.FirstSession != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFirstSession gets a reference to the given string and assigns it to the FirstSession field.
+func (o *FilterNotificationTarget) SetFirstSession(v string) {
+	o.FirstSession = &v
+}
+
+// GetSessionCount returns the SessionCount field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetSessionCount() string {
+	if o == nil || o.SessionCount == nil {
+		var ret string
+		return ret
+	}
+	return *o.SessionCount
+}
+
+// GetSessionCountOk returns a tuple with the SessionCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetSessionCountOk() (*string, bool) {
+	if o == nil || o.SessionCount == nil {
+		return nil, false
+	}
+	return o.SessionCount, true
+}
+
+// HasSessionCount returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasSessionCount() bool {
+	if o != nil && o.SessionCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSessionCount gets a reference to the given string and assigns it to the SessionCount field.
+func (o *FilterNotificationTarget) SetSessionCount(v string) {
+	o.SessionCount = &v
+}
+
+// GetSessionTime returns the SessionTime field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetSessionTime() string {
+	if o == nil || o.SessionTime == nil {
+		var ret string
+		return ret
+	}
+	return *o.SessionTime
+}
+
+// GetSessionTimeOk returns a tuple with the SessionTime field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetSessionTimeOk() (*string, bool) {
+	if o == nil || o.SessionTime == nil {
+		return nil, false
+	}
+	return o.SessionTime, true
+}
+
+// HasSessionTime returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasSessionTime() bool {
+	if o != nil && o.SessionTime != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSessionTime gets a reference to the given string and assigns it to the SessionTime field.
+func (o *FilterNotificationTarget) SetSessionTime(v string) {
+	o.SessionTime = &v
+}
+
+// GetAmountSpent returns the AmountSpent field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetAmountSpent() string {
+	if o == nil || o.AmountSpent == nil {
+		var ret string
+		return ret
+	}
+	return *o.AmountSpent
+}
+
+// GetAmountSpentOk returns a tuple with the AmountSpent field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetAmountSpentOk() (*string, bool) {
+	if o == nil || o.AmountSpent == nil {
+		return nil, false
+	}
+	return o.AmountSpent, true
+}
+
+// HasAmountSpent returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasAmountSpent() bool {
+	if o != nil && o.AmountSpent != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAmountSpent gets a reference to the given string and assigns it to the AmountSpent field.
+func (o *FilterNotificationTarget) SetAmountSpent(v string) {
+	o.AmountSpent = &v
+}
+
+// GetBoughtSku returns the BoughtSku field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetBoughtSku() string {
+	if o == nil || o.BoughtSku == nil {
+		var ret string
+		return ret
+	}
+	return *o.BoughtSku
+}
+
+// GetBoughtSkuOk returns a tuple with the BoughtSku field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetBoughtSkuOk() (*string, bool) {
+	if o == nil || o.BoughtSku == nil {
+		return nil, false
+	}
+	return o.BoughtSku, true
+}
+
+// HasBoughtSku returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasBoughtSku() bool {
+	if o != nil && o.BoughtSku != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBoughtSku gets a reference to the given string and assigns it to the BoughtSku field.
+func (o *FilterNotificationTarget) SetBoughtSku(v string) {
+	o.BoughtSku = &v
+}
+
+// GetTag returns the Tag field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetTag() string {
+	if o == nil || o.Tag == nil {
+		var ret string
+		return ret
+	}
+	return *o.Tag
+}
+
+// GetTagOk returns a tuple with the Tag field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetTagOk() (*string, bool) {
+	if o == nil || o.Tag == nil {
+		return nil, false
+	}
+	return o.Tag, true
+}
+
+// HasTag returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasTag() bool {
+	if o != nil && o.Tag != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTag gets a reference to the given string and assigns it to the Tag field.
+func (o *FilterNotificationTarget) SetTag(v string) {
+	o.Tag = &v
+}
+
+// GetLanguage returns the Language field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetLanguage() string {
+	if o == nil || o.Language == nil {
+		var ret string
+		return ret
+	}
+	return *o.Language
+}
+
+// GetLanguageOk returns a tuple with the Language field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetLanguageOk() (*string, bool) {
+	if o == nil || o.Language == nil {
+		return nil, false
+	}
+	return o.Language, true
+}
+
+// HasLanguage returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasLanguage() bool {
+	if o != nil && o.Language != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLanguage gets a reference to the given string and assigns it to the Language field.
+func (o *FilterNotificationTarget) SetLanguage(v string) {
+	o.Language = &v
+}
+
+// GetAppVersion returns the AppVersion field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetAppVersion() string {
+	if o == nil || o.AppVersion == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppVersion
+}
+
+// GetAppVersionOk returns a tuple with the AppVersion field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetAppVersionOk() (*string, bool) {
+	if o == nil || o.AppVersion == nil {
+		return nil, false
+	}
+	return o.AppVersion, true
+}
+
+// HasAppVersion returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasAppVersion() bool {
+	if o != nil && o.AppVersion != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppVersion gets a reference to the given string and assigns it to the AppVersion field.
+func (o *FilterNotificationTarget) SetAppVersion(v string) {
+	o.AppVersion = &v
+}
+
+// GetLocation returns the Location field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetLocation() string {
+	if o == nil || o.Location == nil {
+		var ret string
+		return ret
+	}
+	return *o.Location
+}
+
+// GetLocationOk returns a tuple with the Location field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetLocationOk() (*string, bool) {
+	if o == nil || o.Location == nil {
+		return nil, false
+	}
+	return o.Location, true
+}
+
+// HasLocation returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasLocation() bool {
+	if o != nil && o.Location != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLocation gets a reference to the given string and assigns it to the Location field.
+func (o *FilterNotificationTarget) SetLocation(v string) {
+	o.Location = &v
+}
+
+// GetEmail returns the Email field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetEmail() string {
+	if o == nil || o.Email == nil {
+		var ret string
+		return ret
+	}
+	return *o.Email
+}
+
+// GetEmailOk returns a tuple with the Email field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetEmailOk() (*string, bool) {
+	if o == nil || o.Email == nil {
+		return nil, false
+	}
+	return o.Email, true
+}
+
+// HasEmail returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasEmail() bool {
+	if o != nil && o.Email != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmail gets a reference to the given string and assigns it to the Email field.
+func (o *FilterNotificationTarget) SetEmail(v string) {
+	o.Email = &v
+}
+
+// GetCountry returns the Country field value if set, zero value otherwise.
+func (o *FilterNotificationTarget) GetCountry() string {
+	if o == nil || o.Country == nil {
+		var ret string
+		return ret
+	}
+	return *o.Country
+}
+
+// GetCountryOk returns a tuple with the Country field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *FilterNotificationTarget) GetCountryOk() (*string, bool) {
+	if o == nil || o.Country == nil {
+		return nil, false
+	}
+	return o.Country, true
+}
+
+// HasCountry returns a boolean if a field has been set.
+func (o *FilterNotificationTarget) HasCountry() bool {
+	if o != nil && o.Country != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCountry gets a reference to the given string and assigns it to the Country field.
+func (o *FilterNotificationTarget) SetCountry(v string) {
+	o.Country = &v
+}
+
+func (o FilterNotificationTarget) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.LastSession != nil {
+		toSerialize["last_session"] = o.LastSession
+	}
+	if o.FirstSession != nil {
+		toSerialize["first_session"] = o.FirstSession
+	}
+	if o.SessionCount != nil {
+		toSerialize["session_count"] = o.SessionCount
+	}
+	if o.SessionTime != nil {
+		toSerialize["session_time"] = o.SessionTime
+	}
+	if o.AmountSpent != nil {
+		toSerialize["amount_spent"] = o.AmountSpent
+	}
+	if o.BoughtSku != nil {
+		toSerialize["bought_sku"] = o.BoughtSku
+	}
+	if o.Tag != nil {
+		toSerialize["tag"] = o.Tag
+	}
+	if o.Language != nil {
+		toSerialize["language"] = o.Language
+	}
+	if o.AppVersion != nil {
+		toSerialize["app_version"] = o.AppVersion
+	}
+	if o.Location != nil {
+		toSerialize["location"] = o.Location
+	}
+	if o.Email != nil {
+		toSerialize["email"] = o.Email
+	}
+	if o.Country != nil {
+		toSerialize["country"] = o.Country
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *FilterNotificationTarget) UnmarshalJSON(bytes []byte) (err error) {
+	varFilterNotificationTarget := _FilterNotificationTarget{}
+
+	if err = json.Unmarshal(bytes, &varFilterNotificationTarget); err == nil {
+		*o = FilterNotificationTarget(varFilterNotificationTarget)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "last_session")
+		delete(additionalProperties, "first_session")
+		delete(additionalProperties, "session_count")
+		delete(additionalProperties, "session_time")
+		delete(additionalProperties, "amount_spent")
+		delete(additionalProperties, "bought_sku")
+		delete(additionalProperties, "tag")
+		delete(additionalProperties, "language")
+		delete(additionalProperties, "app_version")
+		delete(additionalProperties, "location")
+		delete(additionalProperties, "email")
+		delete(additionalProperties, "country")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableFilterNotificationTarget struct {
+	value *FilterNotificationTarget
+	isSet bool
+}
+
+func (v NullableFilterNotificationTarget) Get() *FilterNotificationTarget {
+	return v.value
+}
+
+func (v *NullableFilterNotificationTarget) Set(val *FilterNotificationTarget) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableFilterNotificationTarget) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableFilterNotificationTarget) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableFilterNotificationTarget(val *FilterNotificationTarget) *NullableFilterNotificationTarget {
+	return &NullableFilterNotificationTarget{value: val, isSet: true}
+}
+
+func (v NullableFilterNotificationTarget) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableFilterNotificationTarget) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_get_notification_request_body.go b/model_get_notification_request_body.go
new file mode 100644
index 0000000..55513fd
--- /dev/null
+++ b/model_get_notification_request_body.go
@@ -0,0 +1,217 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// GetNotificationRequestBody struct for GetNotificationRequestBody
+type GetNotificationRequestBody struct {
+	// -> \"sent\" - All the devices by player_id that were sent the specified notification_id.  Notifications targeting under 1000 recipients will not have \"sent\" events recorded, but will show \"clicked\" events. \"clicked\" - All the devices by `player_id` that clicked the specified notification_id.
+	Events *string `json:"events,omitempty"`
+	// The email address you would like the report sent.
+	Email *string `json:"email,omitempty"`
+	AppId *string `json:"app_id,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _GetNotificationRequestBody GetNotificationRequestBody
+
+// NewGetNotificationRequestBody instantiates a new GetNotificationRequestBody object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewGetNotificationRequestBody() *GetNotificationRequestBody {
+	this := GetNotificationRequestBody{}
+	return &this
+}
+
+// NewGetNotificationRequestBodyWithDefaults instantiates a new GetNotificationRequestBody object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewGetNotificationRequestBodyWithDefaults() *GetNotificationRequestBody {
+	this := GetNotificationRequestBody{}
+	return &this
+}
+
+// GetEvents returns the Events field value if set, zero value otherwise.
+func (o *GetNotificationRequestBody) GetEvents() string {
+	if o == nil || o.Events == nil {
+		var ret string
+		return ret
+	}
+	return *o.Events
+}
+
+// GetEventsOk returns a tuple with the Events field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *GetNotificationRequestBody) GetEventsOk() (*string, bool) {
+	if o == nil || o.Events == nil {
+		return nil, false
+	}
+	return o.Events, true
+}
+
+// HasEvents returns a boolean if a field has been set.
+func (o *GetNotificationRequestBody) HasEvents() bool {
+	if o != nil && o.Events != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEvents gets a reference to the given string and assigns it to the Events field.
+func (o *GetNotificationRequestBody) SetEvents(v string) {
+	o.Events = &v
+}
+
+// GetEmail returns the Email field value if set, zero value otherwise.
+func (o *GetNotificationRequestBody) GetEmail() string {
+	if o == nil || o.Email == nil {
+		var ret string
+		return ret
+	}
+	return *o.Email
+}
+
+// GetEmailOk returns a tuple with the Email field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *GetNotificationRequestBody) GetEmailOk() (*string, bool) {
+	if o == nil || o.Email == nil {
+		return nil, false
+	}
+	return o.Email, true
+}
+
+// HasEmail returns a boolean if a field has been set.
+func (o *GetNotificationRequestBody) HasEmail() bool {
+	if o != nil && o.Email != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmail gets a reference to the given string and assigns it to the Email field.
+func (o *GetNotificationRequestBody) SetEmail(v string) {
+	o.Email = &v
+}
+
+// GetAppId returns the AppId field value if set, zero value otherwise.
+func (o *GetNotificationRequestBody) GetAppId() string {
+	if o == nil || o.AppId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppId
+}
+
+// GetAppIdOk returns a tuple with the AppId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *GetNotificationRequestBody) GetAppIdOk() (*string, bool) {
+	if o == nil || o.AppId == nil {
+		return nil, false
+	}
+	return o.AppId, true
+}
+
+// HasAppId returns a boolean if a field has been set.
+func (o *GetNotificationRequestBody) HasAppId() bool {
+	if o != nil && o.AppId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppId gets a reference to the given string and assigns it to the AppId field.
+func (o *GetNotificationRequestBody) SetAppId(v string) {
+	o.AppId = &v
+}
+
+func (o GetNotificationRequestBody) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Events != nil {
+		toSerialize["events"] = o.Events
+	}
+	if o.Email != nil {
+		toSerialize["email"] = o.Email
+	}
+	if o.AppId != nil {
+		toSerialize["app_id"] = o.AppId
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *GetNotificationRequestBody) UnmarshalJSON(bytes []byte) (err error) {
+	varGetNotificationRequestBody := _GetNotificationRequestBody{}
+
+	if err = json.Unmarshal(bytes, &varGetNotificationRequestBody); err == nil {
+		*o = GetNotificationRequestBody(varGetNotificationRequestBody)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "events")
+		delete(additionalProperties, "email")
+		delete(additionalProperties, "app_id")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableGetNotificationRequestBody struct {
+	value *GetNotificationRequestBody
+	isSet bool
+}
+
+func (v NullableGetNotificationRequestBody) Get() *GetNotificationRequestBody {
+	return v.value
+}
+
+func (v *NullableGetNotificationRequestBody) Set(val *GetNotificationRequestBody) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableGetNotificationRequestBody) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableGetNotificationRequestBody) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableGetNotificationRequestBody(val *GetNotificationRequestBody) *NullableGetNotificationRequestBody {
+	return &NullableGetNotificationRequestBody{value: val, isSet: true}
+}
+
+func (v NullableGetNotificationRequestBody) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableGetNotificationRequestBody) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200.go b/model_inline_response_200.go
new file mode 100644
index 0000000..f3e6703
--- /dev/null
+++ b/model_inline_response_200.go
@@ -0,0 +1,239 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse200 struct for InlineResponse200
+type InlineResponse200 struct {
+	Id string `json:"id"`
+	// Estimated number of subscribers targetted by notification.
+	Recipients int32 `json:"recipients"`
+	ExternalId *string `json:"external_id,omitempty"`
+	Errors *Notification200Errors `json:"errors,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse200 InlineResponse200
+
+// NewInlineResponse200 instantiates a new InlineResponse200 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse200(id string, recipients int32) *InlineResponse200 {
+	this := InlineResponse200{}
+	this.Id = id
+	this.Recipients = recipients
+	return &this
+}
+
+// NewInlineResponse200WithDefaults instantiates a new InlineResponse200 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse200WithDefaults() *InlineResponse200 {
+	this := InlineResponse200{}
+	return &this
+}
+
+// GetId returns the Id field value
+func (o *InlineResponse200) GetId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value
+// and a boolean to check if the value has been set.
+func (o *InlineResponse200) GetIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Id, true
+}
+
+// SetId sets field value
+func (o *InlineResponse200) SetId(v string) {
+	o.Id = v
+}
+
+// GetRecipients returns the Recipients field value
+func (o *InlineResponse200) GetRecipients() int32 {
+	if o == nil {
+		var ret int32
+		return ret
+	}
+
+	return o.Recipients
+}
+
+// GetRecipientsOk returns a tuple with the Recipients field value
+// and a boolean to check if the value has been set.
+func (o *InlineResponse200) GetRecipientsOk() (*int32, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Recipients, true
+}
+
+// SetRecipients sets field value
+func (o *InlineResponse200) SetRecipients(v int32) {
+	o.Recipients = v
+}
+
+// GetExternalId returns the ExternalId field value if set, zero value otherwise.
+func (o *InlineResponse200) GetExternalId() string {
+	if o == nil || o.ExternalId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExternalId
+}
+
+// GetExternalIdOk returns a tuple with the ExternalId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse200) GetExternalIdOk() (*string, bool) {
+	if o == nil || o.ExternalId == nil {
+		return nil, false
+	}
+	return o.ExternalId, true
+}
+
+// HasExternalId returns a boolean if a field has been set.
+func (o *InlineResponse200) HasExternalId() bool {
+	if o != nil && o.ExternalId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExternalId gets a reference to the given string and assigns it to the ExternalId field.
+func (o *InlineResponse200) SetExternalId(v string) {
+	o.ExternalId = &v
+}
+
+// GetErrors returns the Errors field value if set, zero value otherwise.
+func (o *InlineResponse200) GetErrors() Notification200Errors {
+	if o == nil || o.Errors == nil {
+		var ret Notification200Errors
+		return ret
+	}
+	return *o.Errors
+}
+
+// GetErrorsOk returns a tuple with the Errors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse200) GetErrorsOk() (*Notification200Errors, bool) {
+	if o == nil || o.Errors == nil {
+		return nil, false
+	}
+	return o.Errors, true
+}
+
+// HasErrors returns a boolean if a field has been set.
+func (o *InlineResponse200) HasErrors() bool {
+	if o != nil && o.Errors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErrors gets a reference to the given Notification200Errors and assigns it to the Errors field.
+func (o *InlineResponse200) SetErrors(v Notification200Errors) {
+	o.Errors = &v
+}
+
+func (o InlineResponse200) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["id"] = o.Id
+	}
+	if true {
+		toSerialize["recipients"] = o.Recipients
+	}
+	if o.ExternalId != nil {
+		toSerialize["external_id"] = o.ExternalId
+	}
+	if o.Errors != nil {
+		toSerialize["errors"] = o.Errors
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse200) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse200 := _InlineResponse200{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse200); err == nil {
+		*o = InlineResponse200(varInlineResponse200)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "recipients")
+		delete(additionalProperties, "external_id")
+		delete(additionalProperties, "errors")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse200 struct {
+	value *InlineResponse200
+	isSet bool
+}
+
+func (v NullableInlineResponse200) Get() *InlineResponse200 {
+	return v.value
+}
+
+func (v *NullableInlineResponse200) Set(val *InlineResponse200) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse200) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse200) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse200(val *InlineResponse200) *NullableInlineResponse200 {
+	return &NullableInlineResponse200{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse200) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse200) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200_1.go b/model_inline_response_200_1.go
new file mode 100644
index 0000000..e3077d7
--- /dev/null
+++ b/model_inline_response_200_1.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse2001 struct for InlineResponse2001
+type InlineResponse2001 struct {
+	Success *string `json:"success,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse2001 InlineResponse2001
+
+// NewInlineResponse2001 instantiates a new InlineResponse2001 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse2001() *InlineResponse2001 {
+	this := InlineResponse2001{}
+	return &this
+}
+
+// NewInlineResponse2001WithDefaults instantiates a new InlineResponse2001 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse2001WithDefaults() *InlineResponse2001 {
+	this := InlineResponse2001{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse2001) GetSuccess() string {
+	if o == nil || o.Success == nil {
+		var ret string
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2001) GetSuccessOk() (*string, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse2001) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given string and assigns it to the Success field.
+func (o *InlineResponse2001) SetSuccess(v string) {
+	o.Success = &v
+}
+
+func (o InlineResponse2001) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse2001) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse2001 := _InlineResponse2001{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse2001); err == nil {
+		*o = InlineResponse2001(varInlineResponse2001)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse2001 struct {
+	value *InlineResponse2001
+	isSet bool
+}
+
+func (v NullableInlineResponse2001) Get() *InlineResponse2001 {
+	return v.value
+}
+
+func (v *NullableInlineResponse2001) Set(val *InlineResponse2001) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse2001) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse2001) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse2001(val *InlineResponse2001) *NullableInlineResponse2001 {
+	return &NullableInlineResponse2001{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse2001) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse2001) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200_2.go b/model_inline_response_200_2.go
new file mode 100644
index 0000000..d1911b9
--- /dev/null
+++ b/model_inline_response_200_2.go
@@ -0,0 +1,178 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse2002 struct for InlineResponse2002
+type InlineResponse2002 struct {
+	Success *string `json:"success,omitempty"`
+	DestinationUrl *string `json:"destination_url,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse2002 InlineResponse2002
+
+// NewInlineResponse2002 instantiates a new InlineResponse2002 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse2002() *InlineResponse2002 {
+	this := InlineResponse2002{}
+	return &this
+}
+
+// NewInlineResponse2002WithDefaults instantiates a new InlineResponse2002 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse2002WithDefaults() *InlineResponse2002 {
+	this := InlineResponse2002{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse2002) GetSuccess() string {
+	if o == nil || o.Success == nil {
+		var ret string
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2002) GetSuccessOk() (*string, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse2002) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given string and assigns it to the Success field.
+func (o *InlineResponse2002) SetSuccess(v string) {
+	o.Success = &v
+}
+
+// GetDestinationUrl returns the DestinationUrl field value if set, zero value otherwise.
+func (o *InlineResponse2002) GetDestinationUrl() string {
+	if o == nil || o.DestinationUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.DestinationUrl
+}
+
+// GetDestinationUrlOk returns a tuple with the DestinationUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2002) GetDestinationUrlOk() (*string, bool) {
+	if o == nil || o.DestinationUrl == nil {
+		return nil, false
+	}
+	return o.DestinationUrl, true
+}
+
+// HasDestinationUrl returns a boolean if a field has been set.
+func (o *InlineResponse2002) HasDestinationUrl() bool {
+	if o != nil && o.DestinationUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDestinationUrl gets a reference to the given string and assigns it to the DestinationUrl field.
+func (o *InlineResponse2002) SetDestinationUrl(v string) {
+	o.DestinationUrl = &v
+}
+
+func (o InlineResponse2002) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+	if o.DestinationUrl != nil {
+		toSerialize["destination_url"] = o.DestinationUrl
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse2002) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse2002 := _InlineResponse2002{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse2002); err == nil {
+		*o = InlineResponse2002(varInlineResponse2002)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		delete(additionalProperties, "destination_url")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse2002 struct {
+	value *InlineResponse2002
+	isSet bool
+}
+
+func (v NullableInlineResponse2002) Get() *InlineResponse2002 {
+	return v.value
+}
+
+func (v *NullableInlineResponse2002) Set(val *InlineResponse2002) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse2002) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse2002) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse2002(val *InlineResponse2002) *NullableInlineResponse2002 {
+	return &NullableInlineResponse2002{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse2002) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse2002) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200_3.go b/model_inline_response_200_3.go
new file mode 100644
index 0000000..2845037
--- /dev/null
+++ b/model_inline_response_200_3.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse2003 struct for InlineResponse2003
+type InlineResponse2003 struct {
+	Success *bool `json:"success,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse2003 InlineResponse2003
+
+// NewInlineResponse2003 instantiates a new InlineResponse2003 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse2003() *InlineResponse2003 {
+	this := InlineResponse2003{}
+	return &this
+}
+
+// NewInlineResponse2003WithDefaults instantiates a new InlineResponse2003 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse2003WithDefaults() *InlineResponse2003 {
+	this := InlineResponse2003{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse2003) GetSuccess() bool {
+	if o == nil || o.Success == nil {
+		var ret bool
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2003) GetSuccessOk() (*bool, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse2003) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given bool and assigns it to the Success field.
+func (o *InlineResponse2003) SetSuccess(v bool) {
+	o.Success = &v
+}
+
+func (o InlineResponse2003) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse2003) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse2003 := _InlineResponse2003{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse2003); err == nil {
+		*o = InlineResponse2003(varInlineResponse2003)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse2003 struct {
+	value *InlineResponse2003
+	isSet bool
+}
+
+func (v NullableInlineResponse2003) Get() *InlineResponse2003 {
+	return v.value
+}
+
+func (v *NullableInlineResponse2003) Set(val *InlineResponse2003) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse2003) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse2003) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse2003(val *InlineResponse2003) *NullableInlineResponse2003 {
+	return &NullableInlineResponse2003{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse2003) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse2003) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200_4.go b/model_inline_response_200_4.go
new file mode 100644
index 0000000..761d430
--- /dev/null
+++ b/model_inline_response_200_4.go
@@ -0,0 +1,178 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse2004 struct for InlineResponse2004
+type InlineResponse2004 struct {
+	Success *bool `json:"success,omitempty"`
+	Id *string `json:"id,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse2004 InlineResponse2004
+
+// NewInlineResponse2004 instantiates a new InlineResponse2004 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse2004() *InlineResponse2004 {
+	this := InlineResponse2004{}
+	return &this
+}
+
+// NewInlineResponse2004WithDefaults instantiates a new InlineResponse2004 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse2004WithDefaults() *InlineResponse2004 {
+	this := InlineResponse2004{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse2004) GetSuccess() bool {
+	if o == nil || o.Success == nil {
+		var ret bool
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2004) GetSuccessOk() (*bool, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse2004) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given bool and assigns it to the Success field.
+func (o *InlineResponse2004) SetSuccess(v bool) {
+	o.Success = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *InlineResponse2004) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2004) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *InlineResponse2004) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *InlineResponse2004) SetId(v string) {
+	o.Id = &v
+}
+
+func (o InlineResponse2004) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse2004) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse2004 := _InlineResponse2004{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse2004); err == nil {
+		*o = InlineResponse2004(varInlineResponse2004)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		delete(additionalProperties, "id")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse2004 struct {
+	value *InlineResponse2004
+	isSet bool
+}
+
+func (v NullableInlineResponse2004) Get() *InlineResponse2004 {
+	return v.value
+}
+
+func (v *NullableInlineResponse2004) Set(val *InlineResponse2004) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse2004) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse2004) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse2004(val *InlineResponse2004) *NullableInlineResponse2004 {
+	return &NullableInlineResponse2004{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse2004) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse2004) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_200_5.go b/model_inline_response_200_5.go
new file mode 100644
index 0000000..895d74d
--- /dev/null
+++ b/model_inline_response_200_5.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse2005 struct for InlineResponse2005
+type InlineResponse2005 struct {
+	CsvFileUrl *string `json:"csv_file_url,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse2005 InlineResponse2005
+
+// NewInlineResponse2005 instantiates a new InlineResponse2005 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse2005() *InlineResponse2005 {
+	this := InlineResponse2005{}
+	return &this
+}
+
+// NewInlineResponse2005WithDefaults instantiates a new InlineResponse2005 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse2005WithDefaults() *InlineResponse2005 {
+	this := InlineResponse2005{}
+	return &this
+}
+
+// GetCsvFileUrl returns the CsvFileUrl field value if set, zero value otherwise.
+func (o *InlineResponse2005) GetCsvFileUrl() string {
+	if o == nil || o.CsvFileUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.CsvFileUrl
+}
+
+// GetCsvFileUrlOk returns a tuple with the CsvFileUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse2005) GetCsvFileUrlOk() (*string, bool) {
+	if o == nil || o.CsvFileUrl == nil {
+		return nil, false
+	}
+	return o.CsvFileUrl, true
+}
+
+// HasCsvFileUrl returns a boolean if a field has been set.
+func (o *InlineResponse2005) HasCsvFileUrl() bool {
+	if o != nil && o.CsvFileUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCsvFileUrl gets a reference to the given string and assigns it to the CsvFileUrl field.
+func (o *InlineResponse2005) SetCsvFileUrl(v string) {
+	o.CsvFileUrl = &v
+}
+
+func (o InlineResponse2005) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.CsvFileUrl != nil {
+		toSerialize["csv_file_url"] = o.CsvFileUrl
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse2005) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse2005 := _InlineResponse2005{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse2005); err == nil {
+		*o = InlineResponse2005(varInlineResponse2005)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "csv_file_url")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse2005 struct {
+	value *InlineResponse2005
+	isSet bool
+}
+
+func (v NullableInlineResponse2005) Get() *InlineResponse2005 {
+	return v.value
+}
+
+func (v *NullableInlineResponse2005) Set(val *InlineResponse2005) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse2005) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse2005) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse2005(val *InlineResponse2005) *NullableInlineResponse2005 {
+	return &NullableInlineResponse2005{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse2005) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse2005) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_201.go b/model_inline_response_201.go
new file mode 100644
index 0000000..8db1747
--- /dev/null
+++ b/model_inline_response_201.go
@@ -0,0 +1,179 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse201 struct for InlineResponse201
+type InlineResponse201 struct {
+	Success *bool `json:"success,omitempty"`
+	// UUID of created segment
+	Id *string `json:"id,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse201 InlineResponse201
+
+// NewInlineResponse201 instantiates a new InlineResponse201 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse201() *InlineResponse201 {
+	this := InlineResponse201{}
+	return &this
+}
+
+// NewInlineResponse201WithDefaults instantiates a new InlineResponse201 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse201WithDefaults() *InlineResponse201 {
+	this := InlineResponse201{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse201) GetSuccess() bool {
+	if o == nil || o.Success == nil {
+		var ret bool
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse201) GetSuccessOk() (*bool, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse201) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given bool and assigns it to the Success field.
+func (o *InlineResponse201) SetSuccess(v bool) {
+	o.Success = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *InlineResponse201) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse201) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *InlineResponse201) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *InlineResponse201) SetId(v string) {
+	o.Id = &v
+}
+
+func (o InlineResponse201) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse201) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse201 := _InlineResponse201{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse201); err == nil {
+		*o = InlineResponse201(varInlineResponse201)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		delete(additionalProperties, "id")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse201 struct {
+	value *InlineResponse201
+	isSet bool
+}
+
+func (v NullableInlineResponse201) Get() *InlineResponse201 {
+	return v.value
+}
+
+func (v *NullableInlineResponse201) Set(val *InlineResponse201) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse201) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse201) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse201(val *InlineResponse201) *NullableInlineResponse201 {
+	return &NullableInlineResponse201{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse201) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse201) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_400.go b/model_inline_response_400.go
new file mode 100644
index 0000000..0fadb65
--- /dev/null
+++ b/model_inline_response_400.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse400 struct for InlineResponse400
+type InlineResponse400 struct {
+	Errors []string `json:"errors,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse400 InlineResponse400
+
+// NewInlineResponse400 instantiates a new InlineResponse400 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse400() *InlineResponse400 {
+	this := InlineResponse400{}
+	return &this
+}
+
+// NewInlineResponse400WithDefaults instantiates a new InlineResponse400 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse400WithDefaults() *InlineResponse400 {
+	this := InlineResponse400{}
+	return &this
+}
+
+// GetErrors returns the Errors field value if set, zero value otherwise.
+func (o *InlineResponse400) GetErrors() []string {
+	if o == nil || o.Errors == nil {
+		var ret []string
+		return ret
+	}
+	return o.Errors
+}
+
+// GetErrorsOk returns a tuple with the Errors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse400) GetErrorsOk() ([]string, bool) {
+	if o == nil || o.Errors == nil {
+		return nil, false
+	}
+	return o.Errors, true
+}
+
+// HasErrors returns a boolean if a field has been set.
+func (o *InlineResponse400) HasErrors() bool {
+	if o != nil && o.Errors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErrors gets a reference to the given []string and assigns it to the Errors field.
+func (o *InlineResponse400) SetErrors(v []string) {
+	o.Errors = v
+}
+
+func (o InlineResponse400) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Errors != nil {
+		toSerialize["errors"] = o.Errors
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse400) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse400 := _InlineResponse400{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse400); err == nil {
+		*o = InlineResponse400(varInlineResponse400)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "errors")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse400 struct {
+	value *InlineResponse400
+	isSet bool
+}
+
+func (v NullableInlineResponse400) Get() *InlineResponse400 {
+	return v.value
+}
+
+func (v *NullableInlineResponse400) Set(val *InlineResponse400) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse400) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse400) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse400(val *InlineResponse400) *NullableInlineResponse400 {
+	return &NullableInlineResponse400{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse400) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse400) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_400_1.go b/model_inline_response_400_1.go
new file mode 100644
index 0000000..d528edd
--- /dev/null
+++ b/model_inline_response_400_1.go
@@ -0,0 +1,178 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse4001 struct for InlineResponse4001
+type InlineResponse4001 struct {
+	Success *string `json:"success,omitempty"`
+	Errors []string `json:"errors,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse4001 InlineResponse4001
+
+// NewInlineResponse4001 instantiates a new InlineResponse4001 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse4001() *InlineResponse4001 {
+	this := InlineResponse4001{}
+	return &this
+}
+
+// NewInlineResponse4001WithDefaults instantiates a new InlineResponse4001 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse4001WithDefaults() *InlineResponse4001 {
+	this := InlineResponse4001{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse4001) GetSuccess() string {
+	if o == nil || o.Success == nil {
+		var ret string
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse4001) GetSuccessOk() (*string, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse4001) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given string and assigns it to the Success field.
+func (o *InlineResponse4001) SetSuccess(v string) {
+	o.Success = &v
+}
+
+// GetErrors returns the Errors field value if set, zero value otherwise.
+func (o *InlineResponse4001) GetErrors() []string {
+	if o == nil || o.Errors == nil {
+		var ret []string
+		return ret
+	}
+	return o.Errors
+}
+
+// GetErrorsOk returns a tuple with the Errors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse4001) GetErrorsOk() ([]string, bool) {
+	if o == nil || o.Errors == nil {
+		return nil, false
+	}
+	return o.Errors, true
+}
+
+// HasErrors returns a boolean if a field has been set.
+func (o *InlineResponse4001) HasErrors() bool {
+	if o != nil && o.Errors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErrors gets a reference to the given []string and assigns it to the Errors field.
+func (o *InlineResponse4001) SetErrors(v []string) {
+	o.Errors = v
+}
+
+func (o InlineResponse4001) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+	if o.Errors != nil {
+		toSerialize["errors"] = o.Errors
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse4001) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse4001 := _InlineResponse4001{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse4001); err == nil {
+		*o = InlineResponse4001(varInlineResponse4001)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		delete(additionalProperties, "errors")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse4001 struct {
+	value *InlineResponse4001
+	isSet bool
+}
+
+func (v NullableInlineResponse4001) Get() *InlineResponse4001 {
+	return v.value
+}
+
+func (v *NullableInlineResponse4001) Set(val *InlineResponse4001) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse4001) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse4001) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse4001(val *InlineResponse4001) *NullableInlineResponse4001 {
+	return &NullableInlineResponse4001{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse4001) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse4001) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_400_2.go b/model_inline_response_400_2.go
new file mode 100644
index 0000000..be64b12
--- /dev/null
+++ b/model_inline_response_400_2.go
@@ -0,0 +1,178 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse4002 struct for InlineResponse4002
+type InlineResponse4002 struct {
+	Success *bool `json:"success,omitempty"`
+	Errors []string `json:"errors,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse4002 InlineResponse4002
+
+// NewInlineResponse4002 instantiates a new InlineResponse4002 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse4002() *InlineResponse4002 {
+	this := InlineResponse4002{}
+	return &this
+}
+
+// NewInlineResponse4002WithDefaults instantiates a new InlineResponse4002 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse4002WithDefaults() *InlineResponse4002 {
+	this := InlineResponse4002{}
+	return &this
+}
+
+// GetSuccess returns the Success field value if set, zero value otherwise.
+func (o *InlineResponse4002) GetSuccess() bool {
+	if o == nil || o.Success == nil {
+		var ret bool
+		return ret
+	}
+	return *o.Success
+}
+
+// GetSuccessOk returns a tuple with the Success field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse4002) GetSuccessOk() (*bool, bool) {
+	if o == nil || o.Success == nil {
+		return nil, false
+	}
+	return o.Success, true
+}
+
+// HasSuccess returns a boolean if a field has been set.
+func (o *InlineResponse4002) HasSuccess() bool {
+	if o != nil && o.Success != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSuccess gets a reference to the given bool and assigns it to the Success field.
+func (o *InlineResponse4002) SetSuccess(v bool) {
+	o.Success = &v
+}
+
+// GetErrors returns the Errors field value if set, zero value otherwise.
+func (o *InlineResponse4002) GetErrors() []string {
+	if o == nil || o.Errors == nil {
+		var ret []string
+		return ret
+	}
+	return o.Errors
+}
+
+// GetErrorsOk returns a tuple with the Errors field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse4002) GetErrorsOk() ([]string, bool) {
+	if o == nil || o.Errors == nil {
+		return nil, false
+	}
+	return o.Errors, true
+}
+
+// HasErrors returns a boolean if a field has been set.
+func (o *InlineResponse4002) HasErrors() bool {
+	if o != nil && o.Errors != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErrors gets a reference to the given []string and assigns it to the Errors field.
+func (o *InlineResponse4002) SetErrors(v []string) {
+	o.Errors = v
+}
+
+func (o InlineResponse4002) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Success != nil {
+		toSerialize["success"] = o.Success
+	}
+	if o.Errors != nil {
+		toSerialize["errors"] = o.Errors
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse4002) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse4002 := _InlineResponse4002{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse4002); err == nil {
+		*o = InlineResponse4002(varInlineResponse4002)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "success")
+		delete(additionalProperties, "errors")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse4002 struct {
+	value *InlineResponse4002
+	isSet bool
+}
+
+func (v NullableInlineResponse4002) Get() *InlineResponse4002 {
+	return v.value
+}
+
+func (v *NullableInlineResponse4002) Set(val *InlineResponse4002) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse4002) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse4002) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse4002(val *InlineResponse4002) *NullableInlineResponse4002 {
+	return &NullableInlineResponse4002{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse4002) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse4002) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_inline_response_400_3.go b/model_inline_response_400_3.go
new file mode 100644
index 0000000..82f2e7d
--- /dev/null
+++ b/model_inline_response_400_3.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InlineResponse4003 struct for InlineResponse4003
+type InlineResponse4003 struct {
+	Erorrs []string `json:"erorrs,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InlineResponse4003 InlineResponse4003
+
+// NewInlineResponse4003 instantiates a new InlineResponse4003 object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInlineResponse4003() *InlineResponse4003 {
+	this := InlineResponse4003{}
+	return &this
+}
+
+// NewInlineResponse4003WithDefaults instantiates a new InlineResponse4003 object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInlineResponse4003WithDefaults() *InlineResponse4003 {
+	this := InlineResponse4003{}
+	return &this
+}
+
+// GetErorrs returns the Erorrs field value if set, zero value otherwise.
+func (o *InlineResponse4003) GetErorrs() []string {
+	if o == nil || o.Erorrs == nil {
+		var ret []string
+		return ret
+	}
+	return o.Erorrs
+}
+
+// GetErorrsOk returns a tuple with the Erorrs field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InlineResponse4003) GetErorrsOk() ([]string, bool) {
+	if o == nil || o.Erorrs == nil {
+		return nil, false
+	}
+	return o.Erorrs, true
+}
+
+// HasErorrs returns a boolean if a field has been set.
+func (o *InlineResponse4003) HasErorrs() bool {
+	if o != nil && o.Erorrs != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetErorrs gets a reference to the given []string and assigns it to the Erorrs field.
+func (o *InlineResponse4003) SetErorrs(v []string) {
+	o.Erorrs = v
+}
+
+func (o InlineResponse4003) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Erorrs != nil {
+		toSerialize["erorrs"] = o.Erorrs
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InlineResponse4003) UnmarshalJSON(bytes []byte) (err error) {
+	varInlineResponse4003 := _InlineResponse4003{}
+
+	if err = json.Unmarshal(bytes, &varInlineResponse4003); err == nil {
+		*o = InlineResponse4003(varInlineResponse4003)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "erorrs")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInlineResponse4003 struct {
+	value *InlineResponse4003
+	isSet bool
+}
+
+func (v NullableInlineResponse4003) Get() *InlineResponse4003 {
+	return v.value
+}
+
+func (v *NullableInlineResponse4003) Set(val *InlineResponse4003) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInlineResponse4003) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInlineResponse4003) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInlineResponse4003(val *InlineResponse4003) *NullableInlineResponse4003 {
+	return &NullableInlineResponse4003{value: val, isSet: true}
+}
+
+func (v NullableInlineResponse4003) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInlineResponse4003) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_invalid_identifier_error.go b/model_invalid_identifier_error.go
new file mode 100644
index 0000000..a1bb0f5
--- /dev/null
+++ b/model_invalid_identifier_error.go
@@ -0,0 +1,180 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// InvalidIdentifierError struct for InvalidIdentifierError
+type InvalidIdentifierError struct {
+	// Returned if using include_external_user_ids
+	InvalidExternalUserIds []string `json:"invalid_external_user_ids,omitempty"`
+	// Returned if using include_player_ids and some were valid and others were not.
+	InvalidPlayerIds []string `json:"invalid_player_ids,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _InvalidIdentifierError InvalidIdentifierError
+
+// NewInvalidIdentifierError instantiates a new InvalidIdentifierError object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewInvalidIdentifierError() *InvalidIdentifierError {
+	this := InvalidIdentifierError{}
+	return &this
+}
+
+// NewInvalidIdentifierErrorWithDefaults instantiates a new InvalidIdentifierError object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewInvalidIdentifierErrorWithDefaults() *InvalidIdentifierError {
+	this := InvalidIdentifierError{}
+	return &this
+}
+
+// GetInvalidExternalUserIds returns the InvalidExternalUserIds field value if set, zero value otherwise.
+func (o *InvalidIdentifierError) GetInvalidExternalUserIds() []string {
+	if o == nil || o.InvalidExternalUserIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.InvalidExternalUserIds
+}
+
+// GetInvalidExternalUserIdsOk returns a tuple with the InvalidExternalUserIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InvalidIdentifierError) GetInvalidExternalUserIdsOk() ([]string, bool) {
+	if o == nil || o.InvalidExternalUserIds == nil {
+		return nil, false
+	}
+	return o.InvalidExternalUserIds, true
+}
+
+// HasInvalidExternalUserIds returns a boolean if a field has been set.
+func (o *InvalidIdentifierError) HasInvalidExternalUserIds() bool {
+	if o != nil && o.InvalidExternalUserIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetInvalidExternalUserIds gets a reference to the given []string and assigns it to the InvalidExternalUserIds field.
+func (o *InvalidIdentifierError) SetInvalidExternalUserIds(v []string) {
+	o.InvalidExternalUserIds = v
+}
+
+// GetInvalidPlayerIds returns the InvalidPlayerIds field value if set, zero value otherwise.
+func (o *InvalidIdentifierError) GetInvalidPlayerIds() []string {
+	if o == nil || o.InvalidPlayerIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.InvalidPlayerIds
+}
+
+// GetInvalidPlayerIdsOk returns a tuple with the InvalidPlayerIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *InvalidIdentifierError) GetInvalidPlayerIdsOk() ([]string, bool) {
+	if o == nil || o.InvalidPlayerIds == nil {
+		return nil, false
+	}
+	return o.InvalidPlayerIds, true
+}
+
+// HasInvalidPlayerIds returns a boolean if a field has been set.
+func (o *InvalidIdentifierError) HasInvalidPlayerIds() bool {
+	if o != nil && o.InvalidPlayerIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetInvalidPlayerIds gets a reference to the given []string and assigns it to the InvalidPlayerIds field.
+func (o *InvalidIdentifierError) SetInvalidPlayerIds(v []string) {
+	o.InvalidPlayerIds = v
+}
+
+func (o InvalidIdentifierError) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.InvalidExternalUserIds != nil {
+		toSerialize["invalid_external_user_ids"] = o.InvalidExternalUserIds
+	}
+	if o.InvalidPlayerIds != nil {
+		toSerialize["invalid_player_ids"] = o.InvalidPlayerIds
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *InvalidIdentifierError) UnmarshalJSON(bytes []byte) (err error) {
+	varInvalidIdentifierError := _InvalidIdentifierError{}
+
+	if err = json.Unmarshal(bytes, &varInvalidIdentifierError); err == nil {
+		*o = InvalidIdentifierError(varInvalidIdentifierError)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "invalid_external_user_ids")
+		delete(additionalProperties, "invalid_player_ids")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableInvalidIdentifierError struct {
+	value *InvalidIdentifierError
+	isSet bool
+}
+
+func (v NullableInvalidIdentifierError) Get() *InvalidIdentifierError {
+	return v.value
+}
+
+func (v *NullableInvalidIdentifierError) Set(val *InvalidIdentifierError) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInvalidIdentifierError) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInvalidIdentifierError) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInvalidIdentifierError(val *InvalidIdentifierError) *NullableInvalidIdentifierError {
+	return &NullableInvalidIdentifierError{value: val, isSet: true}
+}
+
+func (v NullableInvalidIdentifierError) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInvalidIdentifierError) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification.go b/model_notification.go
new file mode 100644
index 0000000..658ac21
--- /dev/null
+++ b/model_notification.go
@@ -0,0 +1,4380 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Notification struct for Notification
+type Notification struct {
+	// The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] 
+	IncludedSegments []string `json:"included_segments,omitempty"`
+	// Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] 
+	ExcludedSegments []string `json:"excluded_segments,omitempty"`
+	// relation = \">\" or \"<\" hours_ago = number of hours before or after the users last session. Example: \"1.1\" 
+	LastSession *string `json:"last_session,omitempty"`
+	// relation = \">\" or \"<\" hours_ago = number of hours before or after the users first session. Example: \"1.1\" 
+	FirstSession *string `json:"first_session,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = number sessions. Example: \"1\" 
+	SessionCount *string `json:"session_count,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = Time in seconds the user has been in your app. Example: \"3600\" 
+	SessionTime *string `json:"session_time,omitempty"`
+	// relation = \">\", \"<\", or \"=\" value = Amount in USD a user has spent on IAP (In App Purchases). Example: \"0.99\" 
+	AmountSpent *string `json:"amount_spent,omitempty"`
+	// relation = \">\", \"<\" or \"=\" key = SKU purchased in your app as an IAP (In App Purchases). Example: \"com.domain.100coinpack\" value = value of SKU to compare to. Example: \"0.99\" 
+	BoughtSku *string `json:"bought_sku,omitempty"`
+	// relation = \">\", \"<\", \"=\", \"!=\", \"exists\", \"not_exists\", \"time_elapsed_gt\" (paid plan only) or \"time_elapsed_lt\" (paid plan only) See Time Operators key = Tag key to compare. value = Tag value to compare. Not required for \"exists\" or \"not_exists\". Example: See Formatting Filters 
+	Tag *string `json:"tag,omitempty"`
+	// relation = \"=\" or \"!=\" value = 2 character language code. Example: \"en\". For a list of all language codes see Language & Localization. 
+	Language *string `json:"language,omitempty"`
+	// relation = \">\", \"<\", \"=\" or \"!=\" value = app version. Example: \"1.0.0\" 
+	AppVersion *string `json:"app_version,omitempty"`
+	// radius = in meters lat = latitude long = longitude 
+	Location *string `json:"location,omitempty"`
+	// value = email address Only for sending Push Notifications Use this for targeting push subscribers associated with an email set with all SDK setEmail methods To send emails to specific email addresses use include_email_tokens parameter 
+	Email *string `json:"email,omitempty"`
+	// relation = \"=\" value = 2-digit Country code Example: \"field\": \"country\", \"relation\": \"=\", \"value\", \"US\" 
+	Country *string `json:"country,omitempty"`
+	// Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call 
+	IncludePlayerIds []string `json:"include_player_ids,omitempty"`
+	// Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\"custom-id-assigned-by-api\"] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms. 
+	IncludeExternalUserIds []string `json:"include_external_user_ids,omitempty"`
+	// Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call 
+	IncludeEmailTokens []string `json:"include_email_tokens,omitempty"`
+	// Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call 
+	IncludePhoneNumbers []string `json:"include_phone_numbers,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call 
+	IncludeIosTokens []string `json:"include_ios_tokens,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call 
+	IncludeWpWnsUris []string `json:"include_wp_wns_uris,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call 
+	IncludeAmazonRegIds []string `json:"include_amazon_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeChromeRegIds []string `json:"include_chrome_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeChromeWebRegIds []string `json:"include_chrome_web_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeAndroidRegIds []string `json:"include_android_reg_ids,omitempty"`
+	Id *string `json:"id,omitempty"`
+	Value *int32 `json:"value,omitempty"`
+	Aggregation *string `json:"aggregation,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Apple iOS platform.
+	IsIos *bool `json:"isIos,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Google Android platform.
+	IsAndroid *bool `json:"isAndroid,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Huawei Android platform.
+	IsHuawei *bool `json:"isHuawei,omitempty"`
+	// Indicates whether to send to all subscribed web browser users, including Chrome, Firefox, and Safari. You may use this instead as a combined flag instead of separately enabling isChromeWeb, isFirefox, and isSafari, though the three options are equivalent to this one. 
+	IsAnyWeb *bool `json:"isAnyWeb,omitempty"`
+	// Indicates whether to send to all Google Chrome, Chrome on Android, and Mozilla Firefox users registered under your Chrome & Firefox web push platform.
+	IsChromeWeb *bool `json:"isChromeWeb,omitempty"`
+	// Indicates whether to send to all Mozilla Firefox desktop users registered under your Firefox web push platform.
+	IsFirefox *bool `json:"isFirefox,omitempty"`
+	// Does not support iOS Safari. Indicates whether to send to all Apple's Safari desktop users registered under your Safari web push platform. Read more iOS Safari
+	IsSafari *bool `json:"isSafari,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Windows platform.
+	IsWPWNS *bool `json:"isWP_WNS,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Amazon Fire platform.
+	IsAdm *bool `json:"isAdm,omitempty"`
+	// This flag is not used for web push Please see isChromeWeb for sending to web push users. This flag only applies to Google Chrome Apps & Extensions. Indicates whether to send to all devices registered under your app's Google Chrome Apps & Extension platform. 
+	IsChrome *bool `json:"isChrome,omitempty"`
+	// Indicates if the message type when targeting with include_external_user_ids for cases where an email, sms, and/or push subscribers have the same external user id. Example: Use the string \"push\" to indicate you are sending a push notification or the string \"email\"for sending emails or \"sms\"for sending SMS. 
+	ChannelForExternalUserIds *string `json:"channel_for_external_user_ids,omitempty"`
+	// Required: Your OneSignal Application ID, which can be found in Keys & IDs. It is a UUID and looks similar to 8250eaf6-1a58-489e-b136-7c74a864b434. 
+	AppId string `json:"app_id"`
+	// Correlation and idempotency key. A request received with this parameter will first look for another notification with the same external_id. If one exists, a notification will not be sent, and result of the previous operation will instead be returned. Therefore, if you plan on using this feature, it's important to use a good source of randomness to generate the UUID passed here. This key is only idempotent for 30 days. After 30 days, the notification could be removed from our system and a notification with the same external_id will be sent again.   See Idempotent Notification Requests for more details writeOnly: true 
+	ExternalId *string `json:"external_id,omitempty"`
+	Contents NullableStringMap `json:"contents,omitempty"`
+	Headings NullableStringMap `json:"headings,omitempty"`
+	Subtitle NullableStringMap `json:"subtitle,omitempty"`
+	// Channel: Push Notifications Platform: Huawei A custom map of data that is passed back to your app. Same as using Additional Data within the dashboard. Can use up to 2048 bytes of data. Example: {\"abc\": 123, \"foo\": \"bar\", \"event_performed\": true, \"amount\": 12.1} 
+	Data map[string]interface{} `json:"data,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Use \"data\" or \"message\" depending on the type of notification you are sending. More details in Data & Background Notifications. 
+	HuaweiMsgType *string `json:"huawei_msg_type,omitempty"`
+	// Channel: Push Notifications Platform: All The URL to open in the browser when a user clicks on the notification. Note: iOS needs https or updated NSAppTransportSecurity in plist This field supports inline substitutions. Omit if including web_url or app_url Example: https://onesignal.com 
+	Url *string `json:"url,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including Chrome, Firefox, Safari, Opera, etc. Example: https://onesignal.com 
+	WebUrl *string `json:"web_url,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including iOS, Android, macOS, Windows, ChromeApps, etc. Example: https://onesignal.com 
+	AppUrl *string `json:"app_url,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ Adds media attachments to notifications. Set as JSON object, key as a media id of your choice and the value as a valid local filename or URL. User must press and hold on the notification to view. Do not set mutable_content to download attachments. The OneSignal SDK does this automatically Example: {\"id1\": \"https://domain.com/image.jpg\"} 
+	IosAttachments map[string]interface{} `json:"ios_attachments,omitempty"`
+	// Channel: Push Notifications Platform: All Use a template you setup on our dashboard. The template_id is the UUID found in the URL when viewing a template on our dashboard. Example: be4a8044-bbd6-11e4-a581-000c2940e62c 
+	TemplateId *string `json:"template_id,omitempty"`
+	// Channel: Push Notifications Platform: iOS Sending true wakes your app from background to run custom native code (Apple interprets this as content-available=1). Note: Not applicable if the app is in the \"force-quit\" state (i.e app was swiped away). Omit the contents field to prevent displaying a visible notification. 
+	ContentAvailable *bool `json:"content_available,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ Always defaults to true and cannot be turned off. Allows tracking of notification receives and changing of the notification content in your app before it is displayed. Triggers didReceive(_:withContentHandler:) on your UNNotificationServiceExtension. 
+	MutableContent *bool `json:"mutable_content,omitempty"`
+	// Channel: Push Notifications Platform: iOS 13+ Use to target a specific experience in your App Clip, or to target your notification to a specific window in a multi-scene App. 
+	TargetContentIdentifier *string `json:"target_content_identifier,omitempty"`
+	// Channel: Push Notifications Platform: Android Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	BigPicture *string `json:"big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	HuaweiBigPicture *string `json:"huawei_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	AdmBigPicture *string `json:"adm_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: ChromeApp Large picture to display below the notification text. Must be a local URL. 
+	ChromeBigPicture *string `json:"chrome_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Chrome 56+ Sets the web push notification's large image to be shown below the notification's title and text. Please see Web Push Notification Icons. 
+	ChromeWebImage *string `json:"chrome_web_image,omitempty"`
+	// Channel: Push Notifications Platform: iOS 8.0+, Android 4.1+, and derivatives like Amazon Buttons to add to the notification. Icon only works for Android. Buttons show in reverse order of array position i.e. Last item in array shows as first button on device. Example: [{\"id\": \"id2\", \"text\": \"second button\", \"icon\": \"ic_menu_share\"}, {\"id\": \"id1\", \"text\": \"first button\", \"icon\": \"ic_menu_send\"}] 
+	Buttons []Button `json:"buttons,omitempty"`
+	// Channel: Push Notifications Platform: Chrome 48+ Add action buttons to the notification. The id field is required. Example: [{\"id\": \"like-button\", \"text\": \"Like\", \"icon\": \"http://i.imgur.com/N8SN8ZS.png\", \"url\": \"https://yoursite.com\"}, {\"id\": \"read-more-button\", \"text\": \"Read more\", \"icon\": \"http://i.imgur.com/MIxJp1L.png\", \"url\": \"https://yoursite.com\"}] 
+	WebButtons []Button `json:"web_buttons,omitempty"`
+	// Channel: Push Notifications Platform: iOS Category APS payload, use with registerUserNotificationSettings:categories in your Objective-C / Swift code. Example: calendar category which contains actions like accept and decline iOS 10+ This will trigger your UNNotificationContentExtension whose ID matches this category. 
+	IosCategory *string `json:"ios_category,omitempty"`
+	// Channel: Push Notifications Platform: Android The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it's id. 
+	AndroidChannelId *string `json:"android_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Huawei The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it's id. 
+	HuaweiChannelId *string `json:"huawei_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Android Use this if you have client side Android Oreo Channels you have already defined in your app with code. 
+	ExistingAndroidChannelId *string `json:"existing_android_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Use this if you have client side Android Oreo Channels you have already defined in your app with code. 
+	HuaweiExistingChannelId *string `json:"huawei_existing_channel_id,omitempty"`
+	AndroidBackgroundLayout *NotificationAllOfAndroidBackgroundLayout `json:"android_background_layout,omitempty"`
+	// Channel: Push Notifications Platform: Android Icon shown in the status bar and on the top left of the notification. If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons 
+	SmallIcon *string `json:"small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Icon shown in the status bar and on the top left of the notification. Use an Android resource path (E.g. /drawable/small_icon). Defaults to your app icon if not set. 
+	HuaweiSmallIcon *string `json:"huawei_small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Android Can be a drawable resource name or a URL. See: How to create large icons 
+	LargeIcon *string `json:"large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Can be a drawable resource name or a URL. See: How to create large icons 
+	HuaweiLargeIcon *string `json:"huawei_large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Amazon If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons 
+	AdmSmallIcon *string `json:"adm_small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Amazon If blank the small_icon is used. Can be a drawable resource name or a URL. See: How to create large icons 
+	AdmLargeIcon *string `json:"adm_large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Chrome Sets the web push notification's icon. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. Firefox will also use this icon, unless you specify firefox_icon. 
+	ChromeWebIcon *string `json:"chrome_web_icon,omitempty"`
+	// Channel: Push Notifications Platform: Chrome Sets the web push notification icon for Android devices in the notification shade. Please see Web Push Notification Badge. 
+	ChromeWebBadge *string `json:"chrome_web_badge,omitempty"`
+	// Channel: Push Notifications Platform: Firefox Not recommended Few people need to set Firefox-specific icons. We recommend setting chrome_web_icon instead, which Firefox will also use. Sets the web push notification's icon for Firefox. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. 
+	FirefoxIcon *string `json:"firefox_icon,omitempty"`
+	// Channel: Push Notifications Platform: ChromeApp This flag is not used for web push For web push, please see chrome_web_icon instead. The local URL to an icon to use. If blank, the app icon will be used. 
+	ChromeIcon *string `json:"chrome_icon,omitempty"`
+	// Channel: Push Notifications Platform: iOS Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable vibration and sound for the notification. Example: \"notification.wav\" 
+	IosSound *string `json:"ios_sound,omitempty"`
+	// Channel: Push Notifications Platform: Android &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\" 
+	AndroidSound *string `json:"android_sound,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sound file that is included in your app to play instead of the default device notification sound. NOTE: Leave off file extension for and include the full path.  Example: \"/res/raw/notification\" 
+	HuaweiSound *string `json:"huawei_sound,omitempty"`
+	// Channel: Push Notifications Platform: Amazon &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\" 
+	AdmSound *string `json:"adm_sound,omitempty"`
+	// Channel: Push Notifications Platform: Windows Sound file that is included in your app to play instead of the default device notification sound. Example: \"notification.wav\" 
+	WpWnsSound *string `json:"wp_wns_sound,omitempty"`
+	// Channel: Push Notifications Platform: Android &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sets the devices LED notification light if the device has one. ARGB Hex format. Example(Blue): \"FF0000FF\" 
+	AndroidLedColor *string `json:"android_led_color,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sets the devices LED notification light if the device has one. RGB Hex format. Example(Blue): \"0000FF\" 
+	HuaweiLedColor *string `json:"huawei_led_color,omitempty"`
+	// Channel: Push Notifications Platform: Android Sets the background color of the notification circle to the left of the notification text. Only applies to apps targeting Android API level 21+ on Android 5.0+ devices. Example(Red): \"FFFF0000\" 
+	AndroidAccentColor *string `json:"android_accent_color,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device's theme color if not set. 
+	HuaweiAccentColor *string `json:"huawei_accent_color,omitempty"`
+	// Channel: Push Notifications Platform: Android 5.0_ &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all) 
+	AndroidVisibility *int32 `json:"android_visibility,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all) 
+	HuaweiVisibility *int32 `json:"huawei_visibility,omitempty"`
+	// Channel: Push Notifications Platform: iOS Describes whether to set or increase/decrease your app's iOS badge count by the ios_badgeCount specified count. Can specify None, SetTo, or Increase. `None` leaves the count unaffected. `SetTo` directly sets the badge count to the number specified in ios_badgeCount. `Increase` adds the number specified in ios_badgeCount to the total. Use a negative number to decrease the badge count. 
+	IosBadgeType *string `json:"ios_badgeType,omitempty"`
+	// Channel: Push Notifications Platform: iOS Used with ios_badgeType, describes the value to set or amount to increase/decrease your app's iOS badge count by. You can use a negative number to decrease the badge count when used with an ios_badgeType of Increase. 
+	IosBadgeCount *int32 `json:"ios_badgeCount,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+, Android Only one notification with the same id will be shown on the device. Use the same id to update an existing notification instead of showing a new one. Limit of 64 characters. 
+	CollapseId *string `json:"collapse_id,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Display multiple notifications at once with different topics. 
+	WebPushTopic *string `json:"web_push_topic,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ iOS can localize push notification messages on the client using special parameters such as loc-key. When using the Create Notification endpoint, you must include these parameters inside of a field called apns_alert. Please see Apple's guide on localizing push notifications to learn more. 
+	ApnsAlert map[string]interface{} `json:"apns_alert,omitempty"`
+	// Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date & time. \"Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\" \"September 24th 2015, 2:00:00 pm UTC-07:00\" \"2015-09-24 14:00:00 GMT-0700\" \"Sept 24 2015 14:00:00 GMT-0700\" \"Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\" Note: SMS currently only supports send_after parameter. 
+	SendAfter *string `json:"send_after,omitempty"`
+	// Channel: All Possible values are: timezone (Deliver at a specific time-of-day in each users own timezone) last-active Same as Intelligent Delivery . (Deliver at the same time of day as each user last used your app). If send_after is used, this takes effect after the send_after time has elapsed. 
+	DelayedOption *string `json:"delayed_option,omitempty"`
+	// Channel: All Use with delayed_option=timezone. Examples: \"9:00AM\" \"21:45\" \"9:45:30\" 
+	DeliveryTimeOfDay *string `json:"delivery_time_of_day,omitempty"`
+	// Channel: Push Notifications Platform: iOS, Android, Chrome, Firefox, Safari, ChromeWeb Time To Live - In seconds. The notification will be expired if the device does not come back online within this time. The default is 259,200 seconds (3 days). Max value to set is 2419200 seconds (28 days). 
+	Ttl *int32 `json:"ttl,omitempty"`
+	// Channel: Push Notifications Platform: Android, Chrome, ChromeWeb Delivery priority through the push server (example GCM/FCM). Pass 10 for high priority or any other integer for normal priority. Defaults to normal priority for Android and high for iOS. For Android 6.0+ devices setting priority to high will wake the device out of doze mode. 
+	Priority *int32 `json:"priority,omitempty"`
+	// Channel: Push Notifications Platform: iOS valid values: voip Set the value to voip for sending VoIP Notifications This field maps to the APNS header apns-push-type. Note: alert and background are automatically set by OneSignal 
+	ApnsPushTypeOverride *string `json:"apns_push_type_override,omitempty"`
+	// Channel: All Apps with throttling enabled:   - the parameter value will be used to override the default application throttling value set from the dashboard settings.   - parameter value 0 indicates not to apply throttling to the notification.   - if the parameter is not passed then the default app throttling value will be applied to the notification. Apps with throttling disabled:   - this parameter can be used to throttle delivery for the notification even though throttling is not enabled at the application level. Refer to throttling for more details. 
+	ThrottleRatePerMinute *string `json:"throttle_rate_per_minute,omitempty"`
+	// Channel: Push Notifications Platform: Android Notifications with the same group will be stacked together using Android's Notification Grouping feature. 
+	AndroidGroup *string `json:"android_group,omitempty"`
+	// Channel: Push Notifications Platform: Android Note: This only works for Android 6 and older. Android 7+ allows full expansion of all message. Summary message to display when 2+ notifications are stacked together. Default is \"# new messages\". Include $[notif_count] in your message and it will be replaced with the current number. Languages - The value of each key is the message that will be sent to users for that language. \"en\" (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. Read more: supported languages. Example: {\"en\": \"You have $[notif_count] new messages\"} 
+	AndroidGroupMessage *string `json:"android_group_message,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Notifications with the same group will be stacked together using Android's Notification Grouping feature. 
+	AdmGroup *string `json:"adm_group,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Summary message to display when 2+ notifications are stacked together. Default is \"# new messages\". Include $[notif_count] in your message and it will be replaced with the current number. \"en\" (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. The value of each key is the message that will be sent to users for that language. Example: {\"en\": \"You have $[notif_count] new messages\"} 
+	AdmGroupMessage map[string]interface{} `json:"adm_group_message,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ This parameter is supported in iOS 12 and above. It allows you to group related notifications together. If two notifications have the same thread-id, they will both be added to the same group. 
+	ThreadId *string `json:"thread_id,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ When using thread_id to create grouped notifications in iOS 12+, you can also control the summary. For example, a grouped notification can say \"12 more notifications from John Doe\". The summary_arg lets you set the name of the person/thing the notifications are coming from, and will show up as \"X more notifications from summary_arg\" 
+	SummaryArg *string `json:"summary_arg,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ When using thread_id, you can also control the count of the number of notifications in the group. For example, if the group already has 12 notifications, and you send a new notification with summary_arg_count = 2, the new total will be 14 and the summary will be \"14 more notifications from summary_arg\" 
+	SummaryArgCount *int32 `json:"summary_arg_count,omitempty"`
+	// Channel: Email Required.  The subject of the email. 
+	EmailSubect *string `json:"email_subect,omitempty"`
+	// Channel: Email Required unless template_id is set. HTML suported The body of the email you wish to send. Typically, customers include their own HTML templates here. Must include [unsubscribe_url] in an <a> tag somewhere in the email. Note: any malformed HTML content will be sent to users. Please double-check your HTML is valid. 
+	EmailBody *string `json:"email_body,omitempty"`
+	// Channel: Email The name the email is from. If not specified, will default to \"from name\" set in the OneSignal Dashboard Email Settings. 
+	EmailFromName *string `json:"email_from_name,omitempty"`
+	// Channel: Email The email address the email is from. If not specified, will default to \"from email\" set in the OneSignal Dashboard Email Settings. 
+	EmailFromAddress *string `json:"email_from_address,omitempty"`
+	// Channel: SMS Phone Number used to send SMS. Should be a registered Twilio phone number in E.164 format. 
+	SmsFrom *string `json:"sms_from,omitempty"`
+	// Channel: SMS URLs for the media files to be attached to the SMS content. Limit: 10 media urls with a total max. size of 5MBs. 
+	SmsMediaUrls []string `json:"sms_media_urls,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Notification Notification
+
+// NewNotification instantiates a new Notification object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewNotification(appId string) *Notification {
+	this := Notification{}
+	var isIos bool = true
+	this.IsIos = &isIos
+	this.AppId = appId
+	return &this
+}
+
+// NewNotificationWithDefaults instantiates a new Notification object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewNotificationWithDefaults() *Notification {
+	this := Notification{}
+	var isIos bool = true
+	this.IsIos = &isIos
+	return &this
+}
+
+// GetIncludedSegments returns the IncludedSegments field value if set, zero value otherwise.
+func (o *Notification) GetIncludedSegments() []string {
+	if o == nil || o.IncludedSegments == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludedSegments
+}
+
+// GetIncludedSegmentsOk returns a tuple with the IncludedSegments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludedSegmentsOk() ([]string, bool) {
+	if o == nil || o.IncludedSegments == nil {
+		return nil, false
+	}
+	return o.IncludedSegments, true
+}
+
+// HasIncludedSegments returns a boolean if a field has been set.
+func (o *Notification) HasIncludedSegments() bool {
+	if o != nil && o.IncludedSegments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludedSegments gets a reference to the given []string and assigns it to the IncludedSegments field.
+func (o *Notification) SetIncludedSegments(v []string) {
+	o.IncludedSegments = v
+}
+
+// GetExcludedSegments returns the ExcludedSegments field value if set, zero value otherwise.
+func (o *Notification) GetExcludedSegments() []string {
+	if o == nil || o.ExcludedSegments == nil {
+		var ret []string
+		return ret
+	}
+	return o.ExcludedSegments
+}
+
+// GetExcludedSegmentsOk returns a tuple with the ExcludedSegments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetExcludedSegmentsOk() ([]string, bool) {
+	if o == nil || o.ExcludedSegments == nil {
+		return nil, false
+	}
+	return o.ExcludedSegments, true
+}
+
+// HasExcludedSegments returns a boolean if a field has been set.
+func (o *Notification) HasExcludedSegments() bool {
+	if o != nil && o.ExcludedSegments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExcludedSegments gets a reference to the given []string and assigns it to the ExcludedSegments field.
+func (o *Notification) SetExcludedSegments(v []string) {
+	o.ExcludedSegments = v
+}
+
+// GetLastSession returns the LastSession field value if set, zero value otherwise.
+func (o *Notification) GetLastSession() string {
+	if o == nil || o.LastSession == nil {
+		var ret string
+		return ret
+	}
+	return *o.LastSession
+}
+
+// GetLastSessionOk returns a tuple with the LastSession field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetLastSessionOk() (*string, bool) {
+	if o == nil || o.LastSession == nil {
+		return nil, false
+	}
+	return o.LastSession, true
+}
+
+// HasLastSession returns a boolean if a field has been set.
+func (o *Notification) HasLastSession() bool {
+	if o != nil && o.LastSession != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLastSession gets a reference to the given string and assigns it to the LastSession field.
+func (o *Notification) SetLastSession(v string) {
+	o.LastSession = &v
+}
+
+// GetFirstSession returns the FirstSession field value if set, zero value otherwise.
+func (o *Notification) GetFirstSession() string {
+	if o == nil || o.FirstSession == nil {
+		var ret string
+		return ret
+	}
+	return *o.FirstSession
+}
+
+// GetFirstSessionOk returns a tuple with the FirstSession field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetFirstSessionOk() (*string, bool) {
+	if o == nil || o.FirstSession == nil {
+		return nil, false
+	}
+	return o.FirstSession, true
+}
+
+// HasFirstSession returns a boolean if a field has been set.
+func (o *Notification) HasFirstSession() bool {
+	if o != nil && o.FirstSession != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFirstSession gets a reference to the given string and assigns it to the FirstSession field.
+func (o *Notification) SetFirstSession(v string) {
+	o.FirstSession = &v
+}
+
+// GetSessionCount returns the SessionCount field value if set, zero value otherwise.
+func (o *Notification) GetSessionCount() string {
+	if o == nil || o.SessionCount == nil {
+		var ret string
+		return ret
+	}
+	return *o.SessionCount
+}
+
+// GetSessionCountOk returns a tuple with the SessionCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSessionCountOk() (*string, bool) {
+	if o == nil || o.SessionCount == nil {
+		return nil, false
+	}
+	return o.SessionCount, true
+}
+
+// HasSessionCount returns a boolean if a field has been set.
+func (o *Notification) HasSessionCount() bool {
+	if o != nil && o.SessionCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSessionCount gets a reference to the given string and assigns it to the SessionCount field.
+func (o *Notification) SetSessionCount(v string) {
+	o.SessionCount = &v
+}
+
+// GetSessionTime returns the SessionTime field value if set, zero value otherwise.
+func (o *Notification) GetSessionTime() string {
+	if o == nil || o.SessionTime == nil {
+		var ret string
+		return ret
+	}
+	return *o.SessionTime
+}
+
+// GetSessionTimeOk returns a tuple with the SessionTime field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSessionTimeOk() (*string, bool) {
+	if o == nil || o.SessionTime == nil {
+		return nil, false
+	}
+	return o.SessionTime, true
+}
+
+// HasSessionTime returns a boolean if a field has been set.
+func (o *Notification) HasSessionTime() bool {
+	if o != nil && o.SessionTime != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSessionTime gets a reference to the given string and assigns it to the SessionTime field.
+func (o *Notification) SetSessionTime(v string) {
+	o.SessionTime = &v
+}
+
+// GetAmountSpent returns the AmountSpent field value if set, zero value otherwise.
+func (o *Notification) GetAmountSpent() string {
+	if o == nil || o.AmountSpent == nil {
+		var ret string
+		return ret
+	}
+	return *o.AmountSpent
+}
+
+// GetAmountSpentOk returns a tuple with the AmountSpent field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAmountSpentOk() (*string, bool) {
+	if o == nil || o.AmountSpent == nil {
+		return nil, false
+	}
+	return o.AmountSpent, true
+}
+
+// HasAmountSpent returns a boolean if a field has been set.
+func (o *Notification) HasAmountSpent() bool {
+	if o != nil && o.AmountSpent != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAmountSpent gets a reference to the given string and assigns it to the AmountSpent field.
+func (o *Notification) SetAmountSpent(v string) {
+	o.AmountSpent = &v
+}
+
+// GetBoughtSku returns the BoughtSku field value if set, zero value otherwise.
+func (o *Notification) GetBoughtSku() string {
+	if o == nil || o.BoughtSku == nil {
+		var ret string
+		return ret
+	}
+	return *o.BoughtSku
+}
+
+// GetBoughtSkuOk returns a tuple with the BoughtSku field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetBoughtSkuOk() (*string, bool) {
+	if o == nil || o.BoughtSku == nil {
+		return nil, false
+	}
+	return o.BoughtSku, true
+}
+
+// HasBoughtSku returns a boolean if a field has been set.
+func (o *Notification) HasBoughtSku() bool {
+	if o != nil && o.BoughtSku != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBoughtSku gets a reference to the given string and assigns it to the BoughtSku field.
+func (o *Notification) SetBoughtSku(v string) {
+	o.BoughtSku = &v
+}
+
+// GetTag returns the Tag field value if set, zero value otherwise.
+func (o *Notification) GetTag() string {
+	if o == nil || o.Tag == nil {
+		var ret string
+		return ret
+	}
+	return *o.Tag
+}
+
+// GetTagOk returns a tuple with the Tag field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetTagOk() (*string, bool) {
+	if o == nil || o.Tag == nil {
+		return nil, false
+	}
+	return o.Tag, true
+}
+
+// HasTag returns a boolean if a field has been set.
+func (o *Notification) HasTag() bool {
+	if o != nil && o.Tag != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTag gets a reference to the given string and assigns it to the Tag field.
+func (o *Notification) SetTag(v string) {
+	o.Tag = &v
+}
+
+// GetLanguage returns the Language field value if set, zero value otherwise.
+func (o *Notification) GetLanguage() string {
+	if o == nil || o.Language == nil {
+		var ret string
+		return ret
+	}
+	return *o.Language
+}
+
+// GetLanguageOk returns a tuple with the Language field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetLanguageOk() (*string, bool) {
+	if o == nil || o.Language == nil {
+		return nil, false
+	}
+	return o.Language, true
+}
+
+// HasLanguage returns a boolean if a field has been set.
+func (o *Notification) HasLanguage() bool {
+	if o != nil && o.Language != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLanguage gets a reference to the given string and assigns it to the Language field.
+func (o *Notification) SetLanguage(v string) {
+	o.Language = &v
+}
+
+// GetAppVersion returns the AppVersion field value if set, zero value otherwise.
+func (o *Notification) GetAppVersion() string {
+	if o == nil || o.AppVersion == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppVersion
+}
+
+// GetAppVersionOk returns a tuple with the AppVersion field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAppVersionOk() (*string, bool) {
+	if o == nil || o.AppVersion == nil {
+		return nil, false
+	}
+	return o.AppVersion, true
+}
+
+// HasAppVersion returns a boolean if a field has been set.
+func (o *Notification) HasAppVersion() bool {
+	if o != nil && o.AppVersion != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppVersion gets a reference to the given string and assigns it to the AppVersion field.
+func (o *Notification) SetAppVersion(v string) {
+	o.AppVersion = &v
+}
+
+// GetLocation returns the Location field value if set, zero value otherwise.
+func (o *Notification) GetLocation() string {
+	if o == nil || o.Location == nil {
+		var ret string
+		return ret
+	}
+	return *o.Location
+}
+
+// GetLocationOk returns a tuple with the Location field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetLocationOk() (*string, bool) {
+	if o == nil || o.Location == nil {
+		return nil, false
+	}
+	return o.Location, true
+}
+
+// HasLocation returns a boolean if a field has been set.
+func (o *Notification) HasLocation() bool {
+	if o != nil && o.Location != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLocation gets a reference to the given string and assigns it to the Location field.
+func (o *Notification) SetLocation(v string) {
+	o.Location = &v
+}
+
+// GetEmail returns the Email field value if set, zero value otherwise.
+func (o *Notification) GetEmail() string {
+	if o == nil || o.Email == nil {
+		var ret string
+		return ret
+	}
+	return *o.Email
+}
+
+// GetEmailOk returns a tuple with the Email field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetEmailOk() (*string, bool) {
+	if o == nil || o.Email == nil {
+		return nil, false
+	}
+	return o.Email, true
+}
+
+// HasEmail returns a boolean if a field has been set.
+func (o *Notification) HasEmail() bool {
+	if o != nil && o.Email != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmail gets a reference to the given string and assigns it to the Email field.
+func (o *Notification) SetEmail(v string) {
+	o.Email = &v
+}
+
+// GetCountry returns the Country field value if set, zero value otherwise.
+func (o *Notification) GetCountry() string {
+	if o == nil || o.Country == nil {
+		var ret string
+		return ret
+	}
+	return *o.Country
+}
+
+// GetCountryOk returns a tuple with the Country field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetCountryOk() (*string, bool) {
+	if o == nil || o.Country == nil {
+		return nil, false
+	}
+	return o.Country, true
+}
+
+// HasCountry returns a boolean if a field has been set.
+func (o *Notification) HasCountry() bool {
+	if o != nil && o.Country != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCountry gets a reference to the given string and assigns it to the Country field.
+func (o *Notification) SetCountry(v string) {
+	o.Country = &v
+}
+
+// GetIncludePlayerIds returns the IncludePlayerIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludePlayerIds() []string {
+	if o == nil || o.IncludePlayerIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludePlayerIds
+}
+
+// GetIncludePlayerIdsOk returns a tuple with the IncludePlayerIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludePlayerIdsOk() ([]string, bool) {
+	if o == nil || o.IncludePlayerIds == nil {
+		return nil, false
+	}
+	return o.IncludePlayerIds, true
+}
+
+// HasIncludePlayerIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludePlayerIds() bool {
+	if o != nil && o.IncludePlayerIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludePlayerIds gets a reference to the given []string and assigns it to the IncludePlayerIds field.
+func (o *Notification) SetIncludePlayerIds(v []string) {
+	o.IncludePlayerIds = v
+}
+
+// GetIncludeExternalUserIds returns the IncludeExternalUserIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludeExternalUserIds() []string {
+	if o == nil || o.IncludeExternalUserIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeExternalUserIds
+}
+
+// GetIncludeExternalUserIdsOk returns a tuple with the IncludeExternalUserIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeExternalUserIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeExternalUserIds == nil {
+		return nil, false
+	}
+	return o.IncludeExternalUserIds, true
+}
+
+// HasIncludeExternalUserIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludeExternalUserIds() bool {
+	if o != nil && o.IncludeExternalUserIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeExternalUserIds gets a reference to the given []string and assigns it to the IncludeExternalUserIds field.
+func (o *Notification) SetIncludeExternalUserIds(v []string) {
+	o.IncludeExternalUserIds = v
+}
+
+// GetIncludeEmailTokens returns the IncludeEmailTokens field value if set, zero value otherwise.
+func (o *Notification) GetIncludeEmailTokens() []string {
+	if o == nil || o.IncludeEmailTokens == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeEmailTokens
+}
+
+// GetIncludeEmailTokensOk returns a tuple with the IncludeEmailTokens field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeEmailTokensOk() ([]string, bool) {
+	if o == nil || o.IncludeEmailTokens == nil {
+		return nil, false
+	}
+	return o.IncludeEmailTokens, true
+}
+
+// HasIncludeEmailTokens returns a boolean if a field has been set.
+func (o *Notification) HasIncludeEmailTokens() bool {
+	if o != nil && o.IncludeEmailTokens != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeEmailTokens gets a reference to the given []string and assigns it to the IncludeEmailTokens field.
+func (o *Notification) SetIncludeEmailTokens(v []string) {
+	o.IncludeEmailTokens = v
+}
+
+// GetIncludePhoneNumbers returns the IncludePhoneNumbers field value if set, zero value otherwise.
+func (o *Notification) GetIncludePhoneNumbers() []string {
+	if o == nil || o.IncludePhoneNumbers == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludePhoneNumbers
+}
+
+// GetIncludePhoneNumbersOk returns a tuple with the IncludePhoneNumbers field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludePhoneNumbersOk() ([]string, bool) {
+	if o == nil || o.IncludePhoneNumbers == nil {
+		return nil, false
+	}
+	return o.IncludePhoneNumbers, true
+}
+
+// HasIncludePhoneNumbers returns a boolean if a field has been set.
+func (o *Notification) HasIncludePhoneNumbers() bool {
+	if o != nil && o.IncludePhoneNumbers != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludePhoneNumbers gets a reference to the given []string and assigns it to the IncludePhoneNumbers field.
+func (o *Notification) SetIncludePhoneNumbers(v []string) {
+	o.IncludePhoneNumbers = v
+}
+
+// GetIncludeIosTokens returns the IncludeIosTokens field value if set, zero value otherwise.
+func (o *Notification) GetIncludeIosTokens() []string {
+	if o == nil || o.IncludeIosTokens == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeIosTokens
+}
+
+// GetIncludeIosTokensOk returns a tuple with the IncludeIosTokens field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeIosTokensOk() ([]string, bool) {
+	if o == nil || o.IncludeIosTokens == nil {
+		return nil, false
+	}
+	return o.IncludeIosTokens, true
+}
+
+// HasIncludeIosTokens returns a boolean if a field has been set.
+func (o *Notification) HasIncludeIosTokens() bool {
+	if o != nil && o.IncludeIosTokens != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeIosTokens gets a reference to the given []string and assigns it to the IncludeIosTokens field.
+func (o *Notification) SetIncludeIosTokens(v []string) {
+	o.IncludeIosTokens = v
+}
+
+// GetIncludeWpWnsUris returns the IncludeWpWnsUris field value if set, zero value otherwise.
+func (o *Notification) GetIncludeWpWnsUris() []string {
+	if o == nil || o.IncludeWpWnsUris == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeWpWnsUris
+}
+
+// GetIncludeWpWnsUrisOk returns a tuple with the IncludeWpWnsUris field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeWpWnsUrisOk() ([]string, bool) {
+	if o == nil || o.IncludeWpWnsUris == nil {
+		return nil, false
+	}
+	return o.IncludeWpWnsUris, true
+}
+
+// HasIncludeWpWnsUris returns a boolean if a field has been set.
+func (o *Notification) HasIncludeWpWnsUris() bool {
+	if o != nil && o.IncludeWpWnsUris != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeWpWnsUris gets a reference to the given []string and assigns it to the IncludeWpWnsUris field.
+func (o *Notification) SetIncludeWpWnsUris(v []string) {
+	o.IncludeWpWnsUris = v
+}
+
+// GetIncludeAmazonRegIds returns the IncludeAmazonRegIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludeAmazonRegIds() []string {
+	if o == nil || o.IncludeAmazonRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeAmazonRegIds
+}
+
+// GetIncludeAmazonRegIdsOk returns a tuple with the IncludeAmazonRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeAmazonRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeAmazonRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeAmazonRegIds, true
+}
+
+// HasIncludeAmazonRegIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludeAmazonRegIds() bool {
+	if o != nil && o.IncludeAmazonRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeAmazonRegIds gets a reference to the given []string and assigns it to the IncludeAmazonRegIds field.
+func (o *Notification) SetIncludeAmazonRegIds(v []string) {
+	o.IncludeAmazonRegIds = v
+}
+
+// GetIncludeChromeRegIds returns the IncludeChromeRegIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludeChromeRegIds() []string {
+	if o == nil || o.IncludeChromeRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeChromeRegIds
+}
+
+// GetIncludeChromeRegIdsOk returns a tuple with the IncludeChromeRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeChromeRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeChromeRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeChromeRegIds, true
+}
+
+// HasIncludeChromeRegIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludeChromeRegIds() bool {
+	if o != nil && o.IncludeChromeRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeChromeRegIds gets a reference to the given []string and assigns it to the IncludeChromeRegIds field.
+func (o *Notification) SetIncludeChromeRegIds(v []string) {
+	o.IncludeChromeRegIds = v
+}
+
+// GetIncludeChromeWebRegIds returns the IncludeChromeWebRegIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludeChromeWebRegIds() []string {
+	if o == nil || o.IncludeChromeWebRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeChromeWebRegIds
+}
+
+// GetIncludeChromeWebRegIdsOk returns a tuple with the IncludeChromeWebRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeChromeWebRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeChromeWebRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeChromeWebRegIds, true
+}
+
+// HasIncludeChromeWebRegIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludeChromeWebRegIds() bool {
+	if o != nil && o.IncludeChromeWebRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeChromeWebRegIds gets a reference to the given []string and assigns it to the IncludeChromeWebRegIds field.
+func (o *Notification) SetIncludeChromeWebRegIds(v []string) {
+	o.IncludeChromeWebRegIds = v
+}
+
+// GetIncludeAndroidRegIds returns the IncludeAndroidRegIds field value if set, zero value otherwise.
+func (o *Notification) GetIncludeAndroidRegIds() []string {
+	if o == nil || o.IncludeAndroidRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeAndroidRegIds
+}
+
+// GetIncludeAndroidRegIdsOk returns a tuple with the IncludeAndroidRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIncludeAndroidRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeAndroidRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeAndroidRegIds, true
+}
+
+// HasIncludeAndroidRegIds returns a boolean if a field has been set.
+func (o *Notification) HasIncludeAndroidRegIds() bool {
+	if o != nil && o.IncludeAndroidRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeAndroidRegIds gets a reference to the given []string and assigns it to the IncludeAndroidRegIds field.
+func (o *Notification) SetIncludeAndroidRegIds(v []string) {
+	o.IncludeAndroidRegIds = v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *Notification) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *Notification) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *Notification) SetId(v string) {
+	o.Id = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *Notification) GetValue() int32 {
+	if o == nil || o.Value == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetValueOk() (*int32, bool) {
+	if o == nil || o.Value == nil {
+		return nil, false
+	}
+	return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *Notification) HasValue() bool {
+	if o != nil && o.Value != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetValue gets a reference to the given int32 and assigns it to the Value field.
+func (o *Notification) SetValue(v int32) {
+	o.Value = &v
+}
+
+// GetAggregation returns the Aggregation field value if set, zero value otherwise.
+func (o *Notification) GetAggregation() string {
+	if o == nil || o.Aggregation == nil {
+		var ret string
+		return ret
+	}
+	return *o.Aggregation
+}
+
+// GetAggregationOk returns a tuple with the Aggregation field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAggregationOk() (*string, bool) {
+	if o == nil || o.Aggregation == nil {
+		return nil, false
+	}
+	return o.Aggregation, true
+}
+
+// HasAggregation returns a boolean if a field has been set.
+func (o *Notification) HasAggregation() bool {
+	if o != nil && o.Aggregation != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAggregation gets a reference to the given string and assigns it to the Aggregation field.
+func (o *Notification) SetAggregation(v string) {
+	o.Aggregation = &v
+}
+
+// GetIsIos returns the IsIos field value if set, zero value otherwise.
+func (o *Notification) GetIsIos() bool {
+	if o == nil || o.IsIos == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsIos
+}
+
+// GetIsIosOk returns a tuple with the IsIos field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsIosOk() (*bool, bool) {
+	if o == nil || o.IsIos == nil {
+		return nil, false
+	}
+	return o.IsIos, true
+}
+
+// HasIsIos returns a boolean if a field has been set.
+func (o *Notification) HasIsIos() bool {
+	if o != nil && o.IsIos != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsIos gets a reference to the given bool and assigns it to the IsIos field.
+func (o *Notification) SetIsIos(v bool) {
+	o.IsIos = &v
+}
+
+// GetIsAndroid returns the IsAndroid field value if set, zero value otherwise.
+func (o *Notification) GetIsAndroid() bool {
+	if o == nil || o.IsAndroid == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAndroid
+}
+
+// GetIsAndroidOk returns a tuple with the IsAndroid field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsAndroidOk() (*bool, bool) {
+	if o == nil || o.IsAndroid == nil {
+		return nil, false
+	}
+	return o.IsAndroid, true
+}
+
+// HasIsAndroid returns a boolean if a field has been set.
+func (o *Notification) HasIsAndroid() bool {
+	if o != nil && o.IsAndroid != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAndroid gets a reference to the given bool and assigns it to the IsAndroid field.
+func (o *Notification) SetIsAndroid(v bool) {
+	o.IsAndroid = &v
+}
+
+// GetIsHuawei returns the IsHuawei field value if set, zero value otherwise.
+func (o *Notification) GetIsHuawei() bool {
+	if o == nil || o.IsHuawei == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsHuawei
+}
+
+// GetIsHuaweiOk returns a tuple with the IsHuawei field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsHuaweiOk() (*bool, bool) {
+	if o == nil || o.IsHuawei == nil {
+		return nil, false
+	}
+	return o.IsHuawei, true
+}
+
+// HasIsHuawei returns a boolean if a field has been set.
+func (o *Notification) HasIsHuawei() bool {
+	if o != nil && o.IsHuawei != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsHuawei gets a reference to the given bool and assigns it to the IsHuawei field.
+func (o *Notification) SetIsHuawei(v bool) {
+	o.IsHuawei = &v
+}
+
+// GetIsAnyWeb returns the IsAnyWeb field value if set, zero value otherwise.
+func (o *Notification) GetIsAnyWeb() bool {
+	if o == nil || o.IsAnyWeb == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAnyWeb
+}
+
+// GetIsAnyWebOk returns a tuple with the IsAnyWeb field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsAnyWebOk() (*bool, bool) {
+	if o == nil || o.IsAnyWeb == nil {
+		return nil, false
+	}
+	return o.IsAnyWeb, true
+}
+
+// HasIsAnyWeb returns a boolean if a field has been set.
+func (o *Notification) HasIsAnyWeb() bool {
+	if o != nil && o.IsAnyWeb != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAnyWeb gets a reference to the given bool and assigns it to the IsAnyWeb field.
+func (o *Notification) SetIsAnyWeb(v bool) {
+	o.IsAnyWeb = &v
+}
+
+// GetIsChromeWeb returns the IsChromeWeb field value if set, zero value otherwise.
+func (o *Notification) GetIsChromeWeb() bool {
+	if o == nil || o.IsChromeWeb == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsChromeWeb
+}
+
+// GetIsChromeWebOk returns a tuple with the IsChromeWeb field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsChromeWebOk() (*bool, bool) {
+	if o == nil || o.IsChromeWeb == nil {
+		return nil, false
+	}
+	return o.IsChromeWeb, true
+}
+
+// HasIsChromeWeb returns a boolean if a field has been set.
+func (o *Notification) HasIsChromeWeb() bool {
+	if o != nil && o.IsChromeWeb != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsChromeWeb gets a reference to the given bool and assigns it to the IsChromeWeb field.
+func (o *Notification) SetIsChromeWeb(v bool) {
+	o.IsChromeWeb = &v
+}
+
+// GetIsFirefox returns the IsFirefox field value if set, zero value otherwise.
+func (o *Notification) GetIsFirefox() bool {
+	if o == nil || o.IsFirefox == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsFirefox
+}
+
+// GetIsFirefoxOk returns a tuple with the IsFirefox field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsFirefoxOk() (*bool, bool) {
+	if o == nil || o.IsFirefox == nil {
+		return nil, false
+	}
+	return o.IsFirefox, true
+}
+
+// HasIsFirefox returns a boolean if a field has been set.
+func (o *Notification) HasIsFirefox() bool {
+	if o != nil && o.IsFirefox != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsFirefox gets a reference to the given bool and assigns it to the IsFirefox field.
+func (o *Notification) SetIsFirefox(v bool) {
+	o.IsFirefox = &v
+}
+
+// GetIsSafari returns the IsSafari field value if set, zero value otherwise.
+func (o *Notification) GetIsSafari() bool {
+	if o == nil || o.IsSafari == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsSafari
+}
+
+// GetIsSafariOk returns a tuple with the IsSafari field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsSafariOk() (*bool, bool) {
+	if o == nil || o.IsSafari == nil {
+		return nil, false
+	}
+	return o.IsSafari, true
+}
+
+// HasIsSafari returns a boolean if a field has been set.
+func (o *Notification) HasIsSafari() bool {
+	if o != nil && o.IsSafari != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsSafari gets a reference to the given bool and assigns it to the IsSafari field.
+func (o *Notification) SetIsSafari(v bool) {
+	o.IsSafari = &v
+}
+
+// GetIsWPWNS returns the IsWPWNS field value if set, zero value otherwise.
+func (o *Notification) GetIsWPWNS() bool {
+	if o == nil || o.IsWPWNS == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsWPWNS
+}
+
+// GetIsWPWNSOk returns a tuple with the IsWPWNS field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsWPWNSOk() (*bool, bool) {
+	if o == nil || o.IsWPWNS == nil {
+		return nil, false
+	}
+	return o.IsWPWNS, true
+}
+
+// HasIsWPWNS returns a boolean if a field has been set.
+func (o *Notification) HasIsWPWNS() bool {
+	if o != nil && o.IsWPWNS != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsWPWNS gets a reference to the given bool and assigns it to the IsWPWNS field.
+func (o *Notification) SetIsWPWNS(v bool) {
+	o.IsWPWNS = &v
+}
+
+// GetIsAdm returns the IsAdm field value if set, zero value otherwise.
+func (o *Notification) GetIsAdm() bool {
+	if o == nil || o.IsAdm == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAdm
+}
+
+// GetIsAdmOk returns a tuple with the IsAdm field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsAdmOk() (*bool, bool) {
+	if o == nil || o.IsAdm == nil {
+		return nil, false
+	}
+	return o.IsAdm, true
+}
+
+// HasIsAdm returns a boolean if a field has been set.
+func (o *Notification) HasIsAdm() bool {
+	if o != nil && o.IsAdm != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAdm gets a reference to the given bool and assigns it to the IsAdm field.
+func (o *Notification) SetIsAdm(v bool) {
+	o.IsAdm = &v
+}
+
+// GetIsChrome returns the IsChrome field value if set, zero value otherwise.
+func (o *Notification) GetIsChrome() bool {
+	if o == nil || o.IsChrome == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsChrome
+}
+
+// GetIsChromeOk returns a tuple with the IsChrome field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIsChromeOk() (*bool, bool) {
+	if o == nil || o.IsChrome == nil {
+		return nil, false
+	}
+	return o.IsChrome, true
+}
+
+// HasIsChrome returns a boolean if a field has been set.
+func (o *Notification) HasIsChrome() bool {
+	if o != nil && o.IsChrome != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsChrome gets a reference to the given bool and assigns it to the IsChrome field.
+func (o *Notification) SetIsChrome(v bool) {
+	o.IsChrome = &v
+}
+
+// GetChannelForExternalUserIds returns the ChannelForExternalUserIds field value if set, zero value otherwise.
+func (o *Notification) GetChannelForExternalUserIds() string {
+	if o == nil || o.ChannelForExternalUserIds == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChannelForExternalUserIds
+}
+
+// GetChannelForExternalUserIdsOk returns a tuple with the ChannelForExternalUserIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChannelForExternalUserIdsOk() (*string, bool) {
+	if o == nil || o.ChannelForExternalUserIds == nil {
+		return nil, false
+	}
+	return o.ChannelForExternalUserIds, true
+}
+
+// HasChannelForExternalUserIds returns a boolean if a field has been set.
+func (o *Notification) HasChannelForExternalUserIds() bool {
+	if o != nil && o.ChannelForExternalUserIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChannelForExternalUserIds gets a reference to the given string and assigns it to the ChannelForExternalUserIds field.
+func (o *Notification) SetChannelForExternalUserIds(v string) {
+	o.ChannelForExternalUserIds = &v
+}
+
+// GetAppId returns the AppId field value
+func (o *Notification) GetAppId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.AppId
+}
+
+// GetAppIdOk returns a tuple with the AppId field value
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAppIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.AppId, true
+}
+
+// SetAppId sets field value
+func (o *Notification) SetAppId(v string) {
+	o.AppId = v
+}
+
+// GetExternalId returns the ExternalId field value if set, zero value otherwise.
+func (o *Notification) GetExternalId() string {
+	if o == nil || o.ExternalId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExternalId
+}
+
+// GetExternalIdOk returns a tuple with the ExternalId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetExternalIdOk() (*string, bool) {
+	if o == nil || o.ExternalId == nil {
+		return nil, false
+	}
+	return o.ExternalId, true
+}
+
+// HasExternalId returns a boolean if a field has been set.
+func (o *Notification) HasExternalId() bool {
+	if o != nil && o.ExternalId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExternalId gets a reference to the given string and assigns it to the ExternalId field.
+func (o *Notification) SetExternalId(v string) {
+	o.ExternalId = &v
+}
+
+// GetContents returns the Contents field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Notification) GetContents() StringMap {
+	if o == nil || o.Contents.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Contents.Get()
+}
+
+// GetContentsOk returns a tuple with the Contents field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Notification) GetContentsOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Contents.Get(), o.Contents.IsSet()
+}
+
+// HasContents returns a boolean if a field has been set.
+func (o *Notification) HasContents() bool {
+	if o != nil && o.Contents.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetContents gets a reference to the given NullableStringMap and assigns it to the Contents field.
+func (o *Notification) SetContents(v StringMap) {
+	o.Contents.Set(&v)
+}
+// SetContentsNil sets the value for Contents to be an explicit nil
+func (o *Notification) SetContentsNil() {
+	o.Contents.Set(nil)
+}
+
+// UnsetContents ensures that no value is present for Contents, not even an explicit nil
+func (o *Notification) UnsetContents() {
+	o.Contents.Unset()
+}
+
+// GetHeadings returns the Headings field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Notification) GetHeadings() StringMap {
+	if o == nil || o.Headings.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Headings.Get()
+}
+
+// GetHeadingsOk returns a tuple with the Headings field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Notification) GetHeadingsOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Headings.Get(), o.Headings.IsSet()
+}
+
+// HasHeadings returns a boolean if a field has been set.
+func (o *Notification) HasHeadings() bool {
+	if o != nil && o.Headings.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetHeadings gets a reference to the given NullableStringMap and assigns it to the Headings field.
+func (o *Notification) SetHeadings(v StringMap) {
+	o.Headings.Set(&v)
+}
+// SetHeadingsNil sets the value for Headings to be an explicit nil
+func (o *Notification) SetHeadingsNil() {
+	o.Headings.Set(nil)
+}
+
+// UnsetHeadings ensures that no value is present for Headings, not even an explicit nil
+func (o *Notification) UnsetHeadings() {
+	o.Headings.Unset()
+}
+
+// GetSubtitle returns the Subtitle field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *Notification) GetSubtitle() StringMap {
+	if o == nil || o.Subtitle.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Subtitle.Get()
+}
+
+// GetSubtitleOk returns a tuple with the Subtitle field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *Notification) GetSubtitleOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Subtitle.Get(), o.Subtitle.IsSet()
+}
+
+// HasSubtitle returns a boolean if a field has been set.
+func (o *Notification) HasSubtitle() bool {
+	if o != nil && o.Subtitle.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSubtitle gets a reference to the given NullableStringMap and assigns it to the Subtitle field.
+func (o *Notification) SetSubtitle(v StringMap) {
+	o.Subtitle.Set(&v)
+}
+// SetSubtitleNil sets the value for Subtitle to be an explicit nil
+func (o *Notification) SetSubtitleNil() {
+	o.Subtitle.Set(nil)
+}
+
+// UnsetSubtitle ensures that no value is present for Subtitle, not even an explicit nil
+func (o *Notification) UnsetSubtitle() {
+	o.Subtitle.Unset()
+}
+
+// GetData returns the Data field value if set, zero value otherwise.
+func (o *Notification) GetData() map[string]interface{} {
+	if o == nil || o.Data == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Data
+}
+
+// GetDataOk returns a tuple with the Data field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetDataOk() (map[string]interface{}, bool) {
+	if o == nil || o.Data == nil {
+		return nil, false
+	}
+	return o.Data, true
+}
+
+// HasData returns a boolean if a field has been set.
+func (o *Notification) HasData() bool {
+	if o != nil && o.Data != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetData gets a reference to the given map[string]interface{} and assigns it to the Data field.
+func (o *Notification) SetData(v map[string]interface{}) {
+	o.Data = v
+}
+
+// GetHuaweiMsgType returns the HuaweiMsgType field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiMsgType() string {
+	if o == nil || o.HuaweiMsgType == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiMsgType
+}
+
+// GetHuaweiMsgTypeOk returns a tuple with the HuaweiMsgType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiMsgTypeOk() (*string, bool) {
+	if o == nil || o.HuaweiMsgType == nil {
+		return nil, false
+	}
+	return o.HuaweiMsgType, true
+}
+
+// HasHuaweiMsgType returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiMsgType() bool {
+	if o != nil && o.HuaweiMsgType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiMsgType gets a reference to the given string and assigns it to the HuaweiMsgType field.
+func (o *Notification) SetHuaweiMsgType(v string) {
+	o.HuaweiMsgType = &v
+}
+
+// GetUrl returns the Url field value if set, zero value otherwise.
+func (o *Notification) GetUrl() string {
+	if o == nil || o.Url == nil {
+		var ret string
+		return ret
+	}
+	return *o.Url
+}
+
+// GetUrlOk returns a tuple with the Url field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetUrlOk() (*string, bool) {
+	if o == nil || o.Url == nil {
+		return nil, false
+	}
+	return o.Url, true
+}
+
+// HasUrl returns a boolean if a field has been set.
+func (o *Notification) HasUrl() bool {
+	if o != nil && o.Url != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUrl gets a reference to the given string and assigns it to the Url field.
+func (o *Notification) SetUrl(v string) {
+	o.Url = &v
+}
+
+// GetWebUrl returns the WebUrl field value if set, zero value otherwise.
+func (o *Notification) GetWebUrl() string {
+	if o == nil || o.WebUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.WebUrl
+}
+
+// GetWebUrlOk returns a tuple with the WebUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetWebUrlOk() (*string, bool) {
+	if o == nil || o.WebUrl == nil {
+		return nil, false
+	}
+	return o.WebUrl, true
+}
+
+// HasWebUrl returns a boolean if a field has been set.
+func (o *Notification) HasWebUrl() bool {
+	if o != nil && o.WebUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebUrl gets a reference to the given string and assigns it to the WebUrl field.
+func (o *Notification) SetWebUrl(v string) {
+	o.WebUrl = &v
+}
+
+// GetAppUrl returns the AppUrl field value if set, zero value otherwise.
+func (o *Notification) GetAppUrl() string {
+	if o == nil || o.AppUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppUrl
+}
+
+// GetAppUrlOk returns a tuple with the AppUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAppUrlOk() (*string, bool) {
+	if o == nil || o.AppUrl == nil {
+		return nil, false
+	}
+	return o.AppUrl, true
+}
+
+// HasAppUrl returns a boolean if a field has been set.
+func (o *Notification) HasAppUrl() bool {
+	if o != nil && o.AppUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppUrl gets a reference to the given string and assigns it to the AppUrl field.
+func (o *Notification) SetAppUrl(v string) {
+	o.AppUrl = &v
+}
+
+// GetIosAttachments returns the IosAttachments field value if set, zero value otherwise.
+func (o *Notification) GetIosAttachments() map[string]interface{} {
+	if o == nil || o.IosAttachments == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.IosAttachments
+}
+
+// GetIosAttachmentsOk returns a tuple with the IosAttachments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIosAttachmentsOk() (map[string]interface{}, bool) {
+	if o == nil || o.IosAttachments == nil {
+		return nil, false
+	}
+	return o.IosAttachments, true
+}
+
+// HasIosAttachments returns a boolean if a field has been set.
+func (o *Notification) HasIosAttachments() bool {
+	if o != nil && o.IosAttachments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosAttachments gets a reference to the given map[string]interface{} and assigns it to the IosAttachments field.
+func (o *Notification) SetIosAttachments(v map[string]interface{}) {
+	o.IosAttachments = v
+}
+
+// GetTemplateId returns the TemplateId field value if set, zero value otherwise.
+func (o *Notification) GetTemplateId() string {
+	if o == nil || o.TemplateId == nil {
+		var ret string
+		return ret
+	}
+	return *o.TemplateId
+}
+
+// GetTemplateIdOk returns a tuple with the TemplateId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetTemplateIdOk() (*string, bool) {
+	if o == nil || o.TemplateId == nil {
+		return nil, false
+	}
+	return o.TemplateId, true
+}
+
+// HasTemplateId returns a boolean if a field has been set.
+func (o *Notification) HasTemplateId() bool {
+	if o != nil && o.TemplateId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTemplateId gets a reference to the given string and assigns it to the TemplateId field.
+func (o *Notification) SetTemplateId(v string) {
+	o.TemplateId = &v
+}
+
+// GetContentAvailable returns the ContentAvailable field value if set, zero value otherwise.
+func (o *Notification) GetContentAvailable() bool {
+	if o == nil || o.ContentAvailable == nil {
+		var ret bool
+		return ret
+	}
+	return *o.ContentAvailable
+}
+
+// GetContentAvailableOk returns a tuple with the ContentAvailable field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetContentAvailableOk() (*bool, bool) {
+	if o == nil || o.ContentAvailable == nil {
+		return nil, false
+	}
+	return o.ContentAvailable, true
+}
+
+// HasContentAvailable returns a boolean if a field has been set.
+func (o *Notification) HasContentAvailable() bool {
+	if o != nil && o.ContentAvailable != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetContentAvailable gets a reference to the given bool and assigns it to the ContentAvailable field.
+func (o *Notification) SetContentAvailable(v bool) {
+	o.ContentAvailable = &v
+}
+
+// GetMutableContent returns the MutableContent field value if set, zero value otherwise.
+func (o *Notification) GetMutableContent() bool {
+	if o == nil || o.MutableContent == nil {
+		var ret bool
+		return ret
+	}
+	return *o.MutableContent
+}
+
+// GetMutableContentOk returns a tuple with the MutableContent field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetMutableContentOk() (*bool, bool) {
+	if o == nil || o.MutableContent == nil {
+		return nil, false
+	}
+	return o.MutableContent, true
+}
+
+// HasMutableContent returns a boolean if a field has been set.
+func (o *Notification) HasMutableContent() bool {
+	if o != nil && o.MutableContent != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMutableContent gets a reference to the given bool and assigns it to the MutableContent field.
+func (o *Notification) SetMutableContent(v bool) {
+	o.MutableContent = &v
+}
+
+// GetTargetContentIdentifier returns the TargetContentIdentifier field value if set, zero value otherwise.
+func (o *Notification) GetTargetContentIdentifier() string {
+	if o == nil || o.TargetContentIdentifier == nil {
+		var ret string
+		return ret
+	}
+	return *o.TargetContentIdentifier
+}
+
+// GetTargetContentIdentifierOk returns a tuple with the TargetContentIdentifier field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetTargetContentIdentifierOk() (*string, bool) {
+	if o == nil || o.TargetContentIdentifier == nil {
+		return nil, false
+	}
+	return o.TargetContentIdentifier, true
+}
+
+// HasTargetContentIdentifier returns a boolean if a field has been set.
+func (o *Notification) HasTargetContentIdentifier() bool {
+	if o != nil && o.TargetContentIdentifier != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTargetContentIdentifier gets a reference to the given string and assigns it to the TargetContentIdentifier field.
+func (o *Notification) SetTargetContentIdentifier(v string) {
+	o.TargetContentIdentifier = &v
+}
+
+// GetBigPicture returns the BigPicture field value if set, zero value otherwise.
+func (o *Notification) GetBigPicture() string {
+	if o == nil || o.BigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.BigPicture
+}
+
+// GetBigPictureOk returns a tuple with the BigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetBigPictureOk() (*string, bool) {
+	if o == nil || o.BigPicture == nil {
+		return nil, false
+	}
+	return o.BigPicture, true
+}
+
+// HasBigPicture returns a boolean if a field has been set.
+func (o *Notification) HasBigPicture() bool {
+	if o != nil && o.BigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBigPicture gets a reference to the given string and assigns it to the BigPicture field.
+func (o *Notification) SetBigPicture(v string) {
+	o.BigPicture = &v
+}
+
+// GetHuaweiBigPicture returns the HuaweiBigPicture field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiBigPicture() string {
+	if o == nil || o.HuaweiBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiBigPicture
+}
+
+// GetHuaweiBigPictureOk returns a tuple with the HuaweiBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiBigPictureOk() (*string, bool) {
+	if o == nil || o.HuaweiBigPicture == nil {
+		return nil, false
+	}
+	return o.HuaweiBigPicture, true
+}
+
+// HasHuaweiBigPicture returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiBigPicture() bool {
+	if o != nil && o.HuaweiBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiBigPicture gets a reference to the given string and assigns it to the HuaweiBigPicture field.
+func (o *Notification) SetHuaweiBigPicture(v string) {
+	o.HuaweiBigPicture = &v
+}
+
+// GetAdmBigPicture returns the AdmBigPicture field value if set, zero value otherwise.
+func (o *Notification) GetAdmBigPicture() string {
+	if o == nil || o.AdmBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmBigPicture
+}
+
+// GetAdmBigPictureOk returns a tuple with the AdmBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmBigPictureOk() (*string, bool) {
+	if o == nil || o.AdmBigPicture == nil {
+		return nil, false
+	}
+	return o.AdmBigPicture, true
+}
+
+// HasAdmBigPicture returns a boolean if a field has been set.
+func (o *Notification) HasAdmBigPicture() bool {
+	if o != nil && o.AdmBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmBigPicture gets a reference to the given string and assigns it to the AdmBigPicture field.
+func (o *Notification) SetAdmBigPicture(v string) {
+	o.AdmBigPicture = &v
+}
+
+// GetChromeBigPicture returns the ChromeBigPicture field value if set, zero value otherwise.
+func (o *Notification) GetChromeBigPicture() string {
+	if o == nil || o.ChromeBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeBigPicture
+}
+
+// GetChromeBigPictureOk returns a tuple with the ChromeBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChromeBigPictureOk() (*string, bool) {
+	if o == nil || o.ChromeBigPicture == nil {
+		return nil, false
+	}
+	return o.ChromeBigPicture, true
+}
+
+// HasChromeBigPicture returns a boolean if a field has been set.
+func (o *Notification) HasChromeBigPicture() bool {
+	if o != nil && o.ChromeBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeBigPicture gets a reference to the given string and assigns it to the ChromeBigPicture field.
+func (o *Notification) SetChromeBigPicture(v string) {
+	o.ChromeBigPicture = &v
+}
+
+// GetChromeWebImage returns the ChromeWebImage field value if set, zero value otherwise.
+func (o *Notification) GetChromeWebImage() string {
+	if o == nil || o.ChromeWebImage == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebImage
+}
+
+// GetChromeWebImageOk returns a tuple with the ChromeWebImage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChromeWebImageOk() (*string, bool) {
+	if o == nil || o.ChromeWebImage == nil {
+		return nil, false
+	}
+	return o.ChromeWebImage, true
+}
+
+// HasChromeWebImage returns a boolean if a field has been set.
+func (o *Notification) HasChromeWebImage() bool {
+	if o != nil && o.ChromeWebImage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebImage gets a reference to the given string and assigns it to the ChromeWebImage field.
+func (o *Notification) SetChromeWebImage(v string) {
+	o.ChromeWebImage = &v
+}
+
+// GetButtons returns the Buttons field value if set, zero value otherwise.
+func (o *Notification) GetButtons() []Button {
+	if o == nil || o.Buttons == nil {
+		var ret []Button
+		return ret
+	}
+	return o.Buttons
+}
+
+// GetButtonsOk returns a tuple with the Buttons field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetButtonsOk() ([]Button, bool) {
+	if o == nil || o.Buttons == nil {
+		return nil, false
+	}
+	return o.Buttons, true
+}
+
+// HasButtons returns a boolean if a field has been set.
+func (o *Notification) HasButtons() bool {
+	if o != nil && o.Buttons != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetButtons gets a reference to the given []Button and assigns it to the Buttons field.
+func (o *Notification) SetButtons(v []Button) {
+	o.Buttons = v
+}
+
+// GetWebButtons returns the WebButtons field value if set, zero value otherwise.
+func (o *Notification) GetWebButtons() []Button {
+	if o == nil || o.WebButtons == nil {
+		var ret []Button
+		return ret
+	}
+	return o.WebButtons
+}
+
+// GetWebButtonsOk returns a tuple with the WebButtons field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetWebButtonsOk() ([]Button, bool) {
+	if o == nil || o.WebButtons == nil {
+		return nil, false
+	}
+	return o.WebButtons, true
+}
+
+// HasWebButtons returns a boolean if a field has been set.
+func (o *Notification) HasWebButtons() bool {
+	if o != nil && o.WebButtons != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebButtons gets a reference to the given []Button and assigns it to the WebButtons field.
+func (o *Notification) SetWebButtons(v []Button) {
+	o.WebButtons = v
+}
+
+// GetIosCategory returns the IosCategory field value if set, zero value otherwise.
+func (o *Notification) GetIosCategory() string {
+	if o == nil || o.IosCategory == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosCategory
+}
+
+// GetIosCategoryOk returns a tuple with the IosCategory field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIosCategoryOk() (*string, bool) {
+	if o == nil || o.IosCategory == nil {
+		return nil, false
+	}
+	return o.IosCategory, true
+}
+
+// HasIosCategory returns a boolean if a field has been set.
+func (o *Notification) HasIosCategory() bool {
+	if o != nil && o.IosCategory != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosCategory gets a reference to the given string and assigns it to the IosCategory field.
+func (o *Notification) SetIosCategory(v string) {
+	o.IosCategory = &v
+}
+
+// GetAndroidChannelId returns the AndroidChannelId field value if set, zero value otherwise.
+func (o *Notification) GetAndroidChannelId() string {
+	if o == nil || o.AndroidChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidChannelId
+}
+
+// GetAndroidChannelIdOk returns a tuple with the AndroidChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidChannelIdOk() (*string, bool) {
+	if o == nil || o.AndroidChannelId == nil {
+		return nil, false
+	}
+	return o.AndroidChannelId, true
+}
+
+// HasAndroidChannelId returns a boolean if a field has been set.
+func (o *Notification) HasAndroidChannelId() bool {
+	if o != nil && o.AndroidChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidChannelId gets a reference to the given string and assigns it to the AndroidChannelId field.
+func (o *Notification) SetAndroidChannelId(v string) {
+	o.AndroidChannelId = &v
+}
+
+// GetHuaweiChannelId returns the HuaweiChannelId field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiChannelId() string {
+	if o == nil || o.HuaweiChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiChannelId
+}
+
+// GetHuaweiChannelIdOk returns a tuple with the HuaweiChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiChannelIdOk() (*string, bool) {
+	if o == nil || o.HuaweiChannelId == nil {
+		return nil, false
+	}
+	return o.HuaweiChannelId, true
+}
+
+// HasHuaweiChannelId returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiChannelId() bool {
+	if o != nil && o.HuaweiChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiChannelId gets a reference to the given string and assigns it to the HuaweiChannelId field.
+func (o *Notification) SetHuaweiChannelId(v string) {
+	o.HuaweiChannelId = &v
+}
+
+// GetExistingAndroidChannelId returns the ExistingAndroidChannelId field value if set, zero value otherwise.
+func (o *Notification) GetExistingAndroidChannelId() string {
+	if o == nil || o.ExistingAndroidChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExistingAndroidChannelId
+}
+
+// GetExistingAndroidChannelIdOk returns a tuple with the ExistingAndroidChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetExistingAndroidChannelIdOk() (*string, bool) {
+	if o == nil || o.ExistingAndroidChannelId == nil {
+		return nil, false
+	}
+	return o.ExistingAndroidChannelId, true
+}
+
+// HasExistingAndroidChannelId returns a boolean if a field has been set.
+func (o *Notification) HasExistingAndroidChannelId() bool {
+	if o != nil && o.ExistingAndroidChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExistingAndroidChannelId gets a reference to the given string and assigns it to the ExistingAndroidChannelId field.
+func (o *Notification) SetExistingAndroidChannelId(v string) {
+	o.ExistingAndroidChannelId = &v
+}
+
+// GetHuaweiExistingChannelId returns the HuaweiExistingChannelId field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiExistingChannelId() string {
+	if o == nil || o.HuaweiExistingChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiExistingChannelId
+}
+
+// GetHuaweiExistingChannelIdOk returns a tuple with the HuaweiExistingChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiExistingChannelIdOk() (*string, bool) {
+	if o == nil || o.HuaweiExistingChannelId == nil {
+		return nil, false
+	}
+	return o.HuaweiExistingChannelId, true
+}
+
+// HasHuaweiExistingChannelId returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiExistingChannelId() bool {
+	if o != nil && o.HuaweiExistingChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiExistingChannelId gets a reference to the given string and assigns it to the HuaweiExistingChannelId field.
+func (o *Notification) SetHuaweiExistingChannelId(v string) {
+	o.HuaweiExistingChannelId = &v
+}
+
+// GetAndroidBackgroundLayout returns the AndroidBackgroundLayout field value if set, zero value otherwise.
+func (o *Notification) GetAndroidBackgroundLayout() NotificationAllOfAndroidBackgroundLayout {
+	if o == nil || o.AndroidBackgroundLayout == nil {
+		var ret NotificationAllOfAndroidBackgroundLayout
+		return ret
+	}
+	return *o.AndroidBackgroundLayout
+}
+
+// GetAndroidBackgroundLayoutOk returns a tuple with the AndroidBackgroundLayout field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidBackgroundLayoutOk() (*NotificationAllOfAndroidBackgroundLayout, bool) {
+	if o == nil || o.AndroidBackgroundLayout == nil {
+		return nil, false
+	}
+	return o.AndroidBackgroundLayout, true
+}
+
+// HasAndroidBackgroundLayout returns a boolean if a field has been set.
+func (o *Notification) HasAndroidBackgroundLayout() bool {
+	if o != nil && o.AndroidBackgroundLayout != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidBackgroundLayout gets a reference to the given NotificationAllOfAndroidBackgroundLayout and assigns it to the AndroidBackgroundLayout field.
+func (o *Notification) SetAndroidBackgroundLayout(v NotificationAllOfAndroidBackgroundLayout) {
+	o.AndroidBackgroundLayout = &v
+}
+
+// GetSmallIcon returns the SmallIcon field value if set, zero value otherwise.
+func (o *Notification) GetSmallIcon() string {
+	if o == nil || o.SmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.SmallIcon
+}
+
+// GetSmallIconOk returns a tuple with the SmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSmallIconOk() (*string, bool) {
+	if o == nil || o.SmallIcon == nil {
+		return nil, false
+	}
+	return o.SmallIcon, true
+}
+
+// HasSmallIcon returns a boolean if a field has been set.
+func (o *Notification) HasSmallIcon() bool {
+	if o != nil && o.SmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmallIcon gets a reference to the given string and assigns it to the SmallIcon field.
+func (o *Notification) SetSmallIcon(v string) {
+	o.SmallIcon = &v
+}
+
+// GetHuaweiSmallIcon returns the HuaweiSmallIcon field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiSmallIcon() string {
+	if o == nil || o.HuaweiSmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiSmallIcon
+}
+
+// GetHuaweiSmallIconOk returns a tuple with the HuaweiSmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiSmallIconOk() (*string, bool) {
+	if o == nil || o.HuaweiSmallIcon == nil {
+		return nil, false
+	}
+	return o.HuaweiSmallIcon, true
+}
+
+// HasHuaweiSmallIcon returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiSmallIcon() bool {
+	if o != nil && o.HuaweiSmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiSmallIcon gets a reference to the given string and assigns it to the HuaweiSmallIcon field.
+func (o *Notification) SetHuaweiSmallIcon(v string) {
+	o.HuaweiSmallIcon = &v
+}
+
+// GetLargeIcon returns the LargeIcon field value if set, zero value otherwise.
+func (o *Notification) GetLargeIcon() string {
+	if o == nil || o.LargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.LargeIcon
+}
+
+// GetLargeIconOk returns a tuple with the LargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetLargeIconOk() (*string, bool) {
+	if o == nil || o.LargeIcon == nil {
+		return nil, false
+	}
+	return o.LargeIcon, true
+}
+
+// HasLargeIcon returns a boolean if a field has been set.
+func (o *Notification) HasLargeIcon() bool {
+	if o != nil && o.LargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLargeIcon gets a reference to the given string and assigns it to the LargeIcon field.
+func (o *Notification) SetLargeIcon(v string) {
+	o.LargeIcon = &v
+}
+
+// GetHuaweiLargeIcon returns the HuaweiLargeIcon field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiLargeIcon() string {
+	if o == nil || o.HuaweiLargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiLargeIcon
+}
+
+// GetHuaweiLargeIconOk returns a tuple with the HuaweiLargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiLargeIconOk() (*string, bool) {
+	if o == nil || o.HuaweiLargeIcon == nil {
+		return nil, false
+	}
+	return o.HuaweiLargeIcon, true
+}
+
+// HasHuaweiLargeIcon returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiLargeIcon() bool {
+	if o != nil && o.HuaweiLargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiLargeIcon gets a reference to the given string and assigns it to the HuaweiLargeIcon field.
+func (o *Notification) SetHuaweiLargeIcon(v string) {
+	o.HuaweiLargeIcon = &v
+}
+
+// GetAdmSmallIcon returns the AdmSmallIcon field value if set, zero value otherwise.
+func (o *Notification) GetAdmSmallIcon() string {
+	if o == nil || o.AdmSmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmSmallIcon
+}
+
+// GetAdmSmallIconOk returns a tuple with the AdmSmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmSmallIconOk() (*string, bool) {
+	if o == nil || o.AdmSmallIcon == nil {
+		return nil, false
+	}
+	return o.AdmSmallIcon, true
+}
+
+// HasAdmSmallIcon returns a boolean if a field has been set.
+func (o *Notification) HasAdmSmallIcon() bool {
+	if o != nil && o.AdmSmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmSmallIcon gets a reference to the given string and assigns it to the AdmSmallIcon field.
+func (o *Notification) SetAdmSmallIcon(v string) {
+	o.AdmSmallIcon = &v
+}
+
+// GetAdmLargeIcon returns the AdmLargeIcon field value if set, zero value otherwise.
+func (o *Notification) GetAdmLargeIcon() string {
+	if o == nil || o.AdmLargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmLargeIcon
+}
+
+// GetAdmLargeIconOk returns a tuple with the AdmLargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmLargeIconOk() (*string, bool) {
+	if o == nil || o.AdmLargeIcon == nil {
+		return nil, false
+	}
+	return o.AdmLargeIcon, true
+}
+
+// HasAdmLargeIcon returns a boolean if a field has been set.
+func (o *Notification) HasAdmLargeIcon() bool {
+	if o != nil && o.AdmLargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmLargeIcon gets a reference to the given string and assigns it to the AdmLargeIcon field.
+func (o *Notification) SetAdmLargeIcon(v string) {
+	o.AdmLargeIcon = &v
+}
+
+// GetChromeWebIcon returns the ChromeWebIcon field value if set, zero value otherwise.
+func (o *Notification) GetChromeWebIcon() string {
+	if o == nil || o.ChromeWebIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebIcon
+}
+
+// GetChromeWebIconOk returns a tuple with the ChromeWebIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChromeWebIconOk() (*string, bool) {
+	if o == nil || o.ChromeWebIcon == nil {
+		return nil, false
+	}
+	return o.ChromeWebIcon, true
+}
+
+// HasChromeWebIcon returns a boolean if a field has been set.
+func (o *Notification) HasChromeWebIcon() bool {
+	if o != nil && o.ChromeWebIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebIcon gets a reference to the given string and assigns it to the ChromeWebIcon field.
+func (o *Notification) SetChromeWebIcon(v string) {
+	o.ChromeWebIcon = &v
+}
+
+// GetChromeWebBadge returns the ChromeWebBadge field value if set, zero value otherwise.
+func (o *Notification) GetChromeWebBadge() string {
+	if o == nil || o.ChromeWebBadge == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebBadge
+}
+
+// GetChromeWebBadgeOk returns a tuple with the ChromeWebBadge field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChromeWebBadgeOk() (*string, bool) {
+	if o == nil || o.ChromeWebBadge == nil {
+		return nil, false
+	}
+	return o.ChromeWebBadge, true
+}
+
+// HasChromeWebBadge returns a boolean if a field has been set.
+func (o *Notification) HasChromeWebBadge() bool {
+	if o != nil && o.ChromeWebBadge != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebBadge gets a reference to the given string and assigns it to the ChromeWebBadge field.
+func (o *Notification) SetChromeWebBadge(v string) {
+	o.ChromeWebBadge = &v
+}
+
+// GetFirefoxIcon returns the FirefoxIcon field value if set, zero value otherwise.
+func (o *Notification) GetFirefoxIcon() string {
+	if o == nil || o.FirefoxIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.FirefoxIcon
+}
+
+// GetFirefoxIconOk returns a tuple with the FirefoxIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetFirefoxIconOk() (*string, bool) {
+	if o == nil || o.FirefoxIcon == nil {
+		return nil, false
+	}
+	return o.FirefoxIcon, true
+}
+
+// HasFirefoxIcon returns a boolean if a field has been set.
+func (o *Notification) HasFirefoxIcon() bool {
+	if o != nil && o.FirefoxIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFirefoxIcon gets a reference to the given string and assigns it to the FirefoxIcon field.
+func (o *Notification) SetFirefoxIcon(v string) {
+	o.FirefoxIcon = &v
+}
+
+// GetChromeIcon returns the ChromeIcon field value if set, zero value otherwise.
+func (o *Notification) GetChromeIcon() string {
+	if o == nil || o.ChromeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeIcon
+}
+
+// GetChromeIconOk returns a tuple with the ChromeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetChromeIconOk() (*string, bool) {
+	if o == nil || o.ChromeIcon == nil {
+		return nil, false
+	}
+	return o.ChromeIcon, true
+}
+
+// HasChromeIcon returns a boolean if a field has been set.
+func (o *Notification) HasChromeIcon() bool {
+	if o != nil && o.ChromeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeIcon gets a reference to the given string and assigns it to the ChromeIcon field.
+func (o *Notification) SetChromeIcon(v string) {
+	o.ChromeIcon = &v
+}
+
+// GetIosSound returns the IosSound field value if set, zero value otherwise.
+func (o *Notification) GetIosSound() string {
+	if o == nil || o.IosSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosSound
+}
+
+// GetIosSoundOk returns a tuple with the IosSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIosSoundOk() (*string, bool) {
+	if o == nil || o.IosSound == nil {
+		return nil, false
+	}
+	return o.IosSound, true
+}
+
+// HasIosSound returns a boolean if a field has been set.
+func (o *Notification) HasIosSound() bool {
+	if o != nil && o.IosSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosSound gets a reference to the given string and assigns it to the IosSound field.
+func (o *Notification) SetIosSound(v string) {
+	o.IosSound = &v
+}
+
+// GetAndroidSound returns the AndroidSound field value if set, zero value otherwise.
+func (o *Notification) GetAndroidSound() string {
+	if o == nil || o.AndroidSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidSound
+}
+
+// GetAndroidSoundOk returns a tuple with the AndroidSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidSoundOk() (*string, bool) {
+	if o == nil || o.AndroidSound == nil {
+		return nil, false
+	}
+	return o.AndroidSound, true
+}
+
+// HasAndroidSound returns a boolean if a field has been set.
+func (o *Notification) HasAndroidSound() bool {
+	if o != nil && o.AndroidSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidSound gets a reference to the given string and assigns it to the AndroidSound field.
+func (o *Notification) SetAndroidSound(v string) {
+	o.AndroidSound = &v
+}
+
+// GetHuaweiSound returns the HuaweiSound field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiSound() string {
+	if o == nil || o.HuaweiSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiSound
+}
+
+// GetHuaweiSoundOk returns a tuple with the HuaweiSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiSoundOk() (*string, bool) {
+	if o == nil || o.HuaweiSound == nil {
+		return nil, false
+	}
+	return o.HuaweiSound, true
+}
+
+// HasHuaweiSound returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiSound() bool {
+	if o != nil && o.HuaweiSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiSound gets a reference to the given string and assigns it to the HuaweiSound field.
+func (o *Notification) SetHuaweiSound(v string) {
+	o.HuaweiSound = &v
+}
+
+// GetAdmSound returns the AdmSound field value if set, zero value otherwise.
+func (o *Notification) GetAdmSound() string {
+	if o == nil || o.AdmSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmSound
+}
+
+// GetAdmSoundOk returns a tuple with the AdmSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmSoundOk() (*string, bool) {
+	if o == nil || o.AdmSound == nil {
+		return nil, false
+	}
+	return o.AdmSound, true
+}
+
+// HasAdmSound returns a boolean if a field has been set.
+func (o *Notification) HasAdmSound() bool {
+	if o != nil && o.AdmSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmSound gets a reference to the given string and assigns it to the AdmSound field.
+func (o *Notification) SetAdmSound(v string) {
+	o.AdmSound = &v
+}
+
+// GetWpWnsSound returns the WpWnsSound field value if set, zero value otherwise.
+func (o *Notification) GetWpWnsSound() string {
+	if o == nil || o.WpWnsSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.WpWnsSound
+}
+
+// GetWpWnsSoundOk returns a tuple with the WpWnsSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetWpWnsSoundOk() (*string, bool) {
+	if o == nil || o.WpWnsSound == nil {
+		return nil, false
+	}
+	return o.WpWnsSound, true
+}
+
+// HasWpWnsSound returns a boolean if a field has been set.
+func (o *Notification) HasWpWnsSound() bool {
+	if o != nil && o.WpWnsSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWpWnsSound gets a reference to the given string and assigns it to the WpWnsSound field.
+func (o *Notification) SetWpWnsSound(v string) {
+	o.WpWnsSound = &v
+}
+
+// GetAndroidLedColor returns the AndroidLedColor field value if set, zero value otherwise.
+func (o *Notification) GetAndroidLedColor() string {
+	if o == nil || o.AndroidLedColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidLedColor
+}
+
+// GetAndroidLedColorOk returns a tuple with the AndroidLedColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidLedColorOk() (*string, bool) {
+	if o == nil || o.AndroidLedColor == nil {
+		return nil, false
+	}
+	return o.AndroidLedColor, true
+}
+
+// HasAndroidLedColor returns a boolean if a field has been set.
+func (o *Notification) HasAndroidLedColor() bool {
+	if o != nil && o.AndroidLedColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidLedColor gets a reference to the given string and assigns it to the AndroidLedColor field.
+func (o *Notification) SetAndroidLedColor(v string) {
+	o.AndroidLedColor = &v
+}
+
+// GetHuaweiLedColor returns the HuaweiLedColor field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiLedColor() string {
+	if o == nil || o.HuaweiLedColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiLedColor
+}
+
+// GetHuaweiLedColorOk returns a tuple with the HuaweiLedColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiLedColorOk() (*string, bool) {
+	if o == nil || o.HuaweiLedColor == nil {
+		return nil, false
+	}
+	return o.HuaweiLedColor, true
+}
+
+// HasHuaweiLedColor returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiLedColor() bool {
+	if o != nil && o.HuaweiLedColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiLedColor gets a reference to the given string and assigns it to the HuaweiLedColor field.
+func (o *Notification) SetHuaweiLedColor(v string) {
+	o.HuaweiLedColor = &v
+}
+
+// GetAndroidAccentColor returns the AndroidAccentColor field value if set, zero value otherwise.
+func (o *Notification) GetAndroidAccentColor() string {
+	if o == nil || o.AndroidAccentColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidAccentColor
+}
+
+// GetAndroidAccentColorOk returns a tuple with the AndroidAccentColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidAccentColorOk() (*string, bool) {
+	if o == nil || o.AndroidAccentColor == nil {
+		return nil, false
+	}
+	return o.AndroidAccentColor, true
+}
+
+// HasAndroidAccentColor returns a boolean if a field has been set.
+func (o *Notification) HasAndroidAccentColor() bool {
+	if o != nil && o.AndroidAccentColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidAccentColor gets a reference to the given string and assigns it to the AndroidAccentColor field.
+func (o *Notification) SetAndroidAccentColor(v string) {
+	o.AndroidAccentColor = &v
+}
+
+// GetHuaweiAccentColor returns the HuaweiAccentColor field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiAccentColor() string {
+	if o == nil || o.HuaweiAccentColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiAccentColor
+}
+
+// GetHuaweiAccentColorOk returns a tuple with the HuaweiAccentColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiAccentColorOk() (*string, bool) {
+	if o == nil || o.HuaweiAccentColor == nil {
+		return nil, false
+	}
+	return o.HuaweiAccentColor, true
+}
+
+// HasHuaweiAccentColor returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiAccentColor() bool {
+	if o != nil && o.HuaweiAccentColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiAccentColor gets a reference to the given string and assigns it to the HuaweiAccentColor field.
+func (o *Notification) SetHuaweiAccentColor(v string) {
+	o.HuaweiAccentColor = &v
+}
+
+// GetAndroidVisibility returns the AndroidVisibility field value if set, zero value otherwise.
+func (o *Notification) GetAndroidVisibility() int32 {
+	if o == nil || o.AndroidVisibility == nil {
+		var ret int32
+		return ret
+	}
+	return *o.AndroidVisibility
+}
+
+// GetAndroidVisibilityOk returns a tuple with the AndroidVisibility field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidVisibilityOk() (*int32, bool) {
+	if o == nil || o.AndroidVisibility == nil {
+		return nil, false
+	}
+	return o.AndroidVisibility, true
+}
+
+// HasAndroidVisibility returns a boolean if a field has been set.
+func (o *Notification) HasAndroidVisibility() bool {
+	if o != nil && o.AndroidVisibility != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidVisibility gets a reference to the given int32 and assigns it to the AndroidVisibility field.
+func (o *Notification) SetAndroidVisibility(v int32) {
+	o.AndroidVisibility = &v
+}
+
+// GetHuaweiVisibility returns the HuaweiVisibility field value if set, zero value otherwise.
+func (o *Notification) GetHuaweiVisibility() int32 {
+	if o == nil || o.HuaweiVisibility == nil {
+		var ret int32
+		return ret
+	}
+	return *o.HuaweiVisibility
+}
+
+// GetHuaweiVisibilityOk returns a tuple with the HuaweiVisibility field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetHuaweiVisibilityOk() (*int32, bool) {
+	if o == nil || o.HuaweiVisibility == nil {
+		return nil, false
+	}
+	return o.HuaweiVisibility, true
+}
+
+// HasHuaweiVisibility returns a boolean if a field has been set.
+func (o *Notification) HasHuaweiVisibility() bool {
+	if o != nil && o.HuaweiVisibility != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiVisibility gets a reference to the given int32 and assigns it to the HuaweiVisibility field.
+func (o *Notification) SetHuaweiVisibility(v int32) {
+	o.HuaweiVisibility = &v
+}
+
+// GetIosBadgeType returns the IosBadgeType field value if set, zero value otherwise.
+func (o *Notification) GetIosBadgeType() string {
+	if o == nil || o.IosBadgeType == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosBadgeType
+}
+
+// GetIosBadgeTypeOk returns a tuple with the IosBadgeType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIosBadgeTypeOk() (*string, bool) {
+	if o == nil || o.IosBadgeType == nil {
+		return nil, false
+	}
+	return o.IosBadgeType, true
+}
+
+// HasIosBadgeType returns a boolean if a field has been set.
+func (o *Notification) HasIosBadgeType() bool {
+	if o != nil && o.IosBadgeType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosBadgeType gets a reference to the given string and assigns it to the IosBadgeType field.
+func (o *Notification) SetIosBadgeType(v string) {
+	o.IosBadgeType = &v
+}
+
+// GetIosBadgeCount returns the IosBadgeCount field value if set, zero value otherwise.
+func (o *Notification) GetIosBadgeCount() int32 {
+	if o == nil || o.IosBadgeCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.IosBadgeCount
+}
+
+// GetIosBadgeCountOk returns a tuple with the IosBadgeCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetIosBadgeCountOk() (*int32, bool) {
+	if o == nil || o.IosBadgeCount == nil {
+		return nil, false
+	}
+	return o.IosBadgeCount, true
+}
+
+// HasIosBadgeCount returns a boolean if a field has been set.
+func (o *Notification) HasIosBadgeCount() bool {
+	if o != nil && o.IosBadgeCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosBadgeCount gets a reference to the given int32 and assigns it to the IosBadgeCount field.
+func (o *Notification) SetIosBadgeCount(v int32) {
+	o.IosBadgeCount = &v
+}
+
+// GetCollapseId returns the CollapseId field value if set, zero value otherwise.
+func (o *Notification) GetCollapseId() string {
+	if o == nil || o.CollapseId == nil {
+		var ret string
+		return ret
+	}
+	return *o.CollapseId
+}
+
+// GetCollapseIdOk returns a tuple with the CollapseId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetCollapseIdOk() (*string, bool) {
+	if o == nil || o.CollapseId == nil {
+		return nil, false
+	}
+	return o.CollapseId, true
+}
+
+// HasCollapseId returns a boolean if a field has been set.
+func (o *Notification) HasCollapseId() bool {
+	if o != nil && o.CollapseId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCollapseId gets a reference to the given string and assigns it to the CollapseId field.
+func (o *Notification) SetCollapseId(v string) {
+	o.CollapseId = &v
+}
+
+// GetWebPushTopic returns the WebPushTopic field value if set, zero value otherwise.
+func (o *Notification) GetWebPushTopic() string {
+	if o == nil || o.WebPushTopic == nil {
+		var ret string
+		return ret
+	}
+	return *o.WebPushTopic
+}
+
+// GetWebPushTopicOk returns a tuple with the WebPushTopic field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetWebPushTopicOk() (*string, bool) {
+	if o == nil || o.WebPushTopic == nil {
+		return nil, false
+	}
+	return o.WebPushTopic, true
+}
+
+// HasWebPushTopic returns a boolean if a field has been set.
+func (o *Notification) HasWebPushTopic() bool {
+	if o != nil && o.WebPushTopic != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebPushTopic gets a reference to the given string and assigns it to the WebPushTopic field.
+func (o *Notification) SetWebPushTopic(v string) {
+	o.WebPushTopic = &v
+}
+
+// GetApnsAlert returns the ApnsAlert field value if set, zero value otherwise.
+func (o *Notification) GetApnsAlert() map[string]interface{} {
+	if o == nil || o.ApnsAlert == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.ApnsAlert
+}
+
+// GetApnsAlertOk returns a tuple with the ApnsAlert field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetApnsAlertOk() (map[string]interface{}, bool) {
+	if o == nil || o.ApnsAlert == nil {
+		return nil, false
+	}
+	return o.ApnsAlert, true
+}
+
+// HasApnsAlert returns a boolean if a field has been set.
+func (o *Notification) HasApnsAlert() bool {
+	if o != nil && o.ApnsAlert != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsAlert gets a reference to the given map[string]interface{} and assigns it to the ApnsAlert field.
+func (o *Notification) SetApnsAlert(v map[string]interface{}) {
+	o.ApnsAlert = v
+}
+
+// GetSendAfter returns the SendAfter field value if set, zero value otherwise.
+func (o *Notification) GetSendAfter() string {
+	if o == nil || o.SendAfter == nil {
+		var ret string
+		return ret
+	}
+	return *o.SendAfter
+}
+
+// GetSendAfterOk returns a tuple with the SendAfter field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSendAfterOk() (*string, bool) {
+	if o == nil || o.SendAfter == nil {
+		return nil, false
+	}
+	return o.SendAfter, true
+}
+
+// HasSendAfter returns a boolean if a field has been set.
+func (o *Notification) HasSendAfter() bool {
+	if o != nil && o.SendAfter != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSendAfter gets a reference to the given string and assigns it to the SendAfter field.
+func (o *Notification) SetSendAfter(v string) {
+	o.SendAfter = &v
+}
+
+// GetDelayedOption returns the DelayedOption field value if set, zero value otherwise.
+func (o *Notification) GetDelayedOption() string {
+	if o == nil || o.DelayedOption == nil {
+		var ret string
+		return ret
+	}
+	return *o.DelayedOption
+}
+
+// GetDelayedOptionOk returns a tuple with the DelayedOption field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetDelayedOptionOk() (*string, bool) {
+	if o == nil || o.DelayedOption == nil {
+		return nil, false
+	}
+	return o.DelayedOption, true
+}
+
+// HasDelayedOption returns a boolean if a field has been set.
+func (o *Notification) HasDelayedOption() bool {
+	if o != nil && o.DelayedOption != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDelayedOption gets a reference to the given string and assigns it to the DelayedOption field.
+func (o *Notification) SetDelayedOption(v string) {
+	o.DelayedOption = &v
+}
+
+// GetDeliveryTimeOfDay returns the DeliveryTimeOfDay field value if set, zero value otherwise.
+func (o *Notification) GetDeliveryTimeOfDay() string {
+	if o == nil || o.DeliveryTimeOfDay == nil {
+		var ret string
+		return ret
+	}
+	return *o.DeliveryTimeOfDay
+}
+
+// GetDeliveryTimeOfDayOk returns a tuple with the DeliveryTimeOfDay field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetDeliveryTimeOfDayOk() (*string, bool) {
+	if o == nil || o.DeliveryTimeOfDay == nil {
+		return nil, false
+	}
+	return o.DeliveryTimeOfDay, true
+}
+
+// HasDeliveryTimeOfDay returns a boolean if a field has been set.
+func (o *Notification) HasDeliveryTimeOfDay() bool {
+	if o != nil && o.DeliveryTimeOfDay != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDeliveryTimeOfDay gets a reference to the given string and assigns it to the DeliveryTimeOfDay field.
+func (o *Notification) SetDeliveryTimeOfDay(v string) {
+	o.DeliveryTimeOfDay = &v
+}
+
+// GetTtl returns the Ttl field value if set, zero value otherwise.
+func (o *Notification) GetTtl() int32 {
+	if o == nil || o.Ttl == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Ttl
+}
+
+// GetTtlOk returns a tuple with the Ttl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetTtlOk() (*int32, bool) {
+	if o == nil || o.Ttl == nil {
+		return nil, false
+	}
+	return o.Ttl, true
+}
+
+// HasTtl returns a boolean if a field has been set.
+func (o *Notification) HasTtl() bool {
+	if o != nil && o.Ttl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTtl gets a reference to the given int32 and assigns it to the Ttl field.
+func (o *Notification) SetTtl(v int32) {
+	o.Ttl = &v
+}
+
+// GetPriority returns the Priority field value if set, zero value otherwise.
+func (o *Notification) GetPriority() int32 {
+	if o == nil || o.Priority == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Priority
+}
+
+// GetPriorityOk returns a tuple with the Priority field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetPriorityOk() (*int32, bool) {
+	if o == nil || o.Priority == nil {
+		return nil, false
+	}
+	return o.Priority, true
+}
+
+// HasPriority returns a boolean if a field has been set.
+func (o *Notification) HasPriority() bool {
+	if o != nil && o.Priority != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPriority gets a reference to the given int32 and assigns it to the Priority field.
+func (o *Notification) SetPriority(v int32) {
+	o.Priority = &v
+}
+
+// GetApnsPushTypeOverride returns the ApnsPushTypeOverride field value if set, zero value otherwise.
+func (o *Notification) GetApnsPushTypeOverride() string {
+	if o == nil || o.ApnsPushTypeOverride == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsPushTypeOverride
+}
+
+// GetApnsPushTypeOverrideOk returns a tuple with the ApnsPushTypeOverride field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetApnsPushTypeOverrideOk() (*string, bool) {
+	if o == nil || o.ApnsPushTypeOverride == nil {
+		return nil, false
+	}
+	return o.ApnsPushTypeOverride, true
+}
+
+// HasApnsPushTypeOverride returns a boolean if a field has been set.
+func (o *Notification) HasApnsPushTypeOverride() bool {
+	if o != nil && o.ApnsPushTypeOverride != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsPushTypeOverride gets a reference to the given string and assigns it to the ApnsPushTypeOverride field.
+func (o *Notification) SetApnsPushTypeOverride(v string) {
+	o.ApnsPushTypeOverride = &v
+}
+
+// GetThrottleRatePerMinute returns the ThrottleRatePerMinute field value if set, zero value otherwise.
+func (o *Notification) GetThrottleRatePerMinute() string {
+	if o == nil || o.ThrottleRatePerMinute == nil {
+		var ret string
+		return ret
+	}
+	return *o.ThrottleRatePerMinute
+}
+
+// GetThrottleRatePerMinuteOk returns a tuple with the ThrottleRatePerMinute field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetThrottleRatePerMinuteOk() (*string, bool) {
+	if o == nil || o.ThrottleRatePerMinute == nil {
+		return nil, false
+	}
+	return o.ThrottleRatePerMinute, true
+}
+
+// HasThrottleRatePerMinute returns a boolean if a field has been set.
+func (o *Notification) HasThrottleRatePerMinute() bool {
+	if o != nil && o.ThrottleRatePerMinute != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetThrottleRatePerMinute gets a reference to the given string and assigns it to the ThrottleRatePerMinute field.
+func (o *Notification) SetThrottleRatePerMinute(v string) {
+	o.ThrottleRatePerMinute = &v
+}
+
+// GetAndroidGroup returns the AndroidGroup field value if set, zero value otherwise.
+func (o *Notification) GetAndroidGroup() string {
+	if o == nil || o.AndroidGroup == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidGroup
+}
+
+// GetAndroidGroupOk returns a tuple with the AndroidGroup field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidGroupOk() (*string, bool) {
+	if o == nil || o.AndroidGroup == nil {
+		return nil, false
+	}
+	return o.AndroidGroup, true
+}
+
+// HasAndroidGroup returns a boolean if a field has been set.
+func (o *Notification) HasAndroidGroup() bool {
+	if o != nil && o.AndroidGroup != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidGroup gets a reference to the given string and assigns it to the AndroidGroup field.
+func (o *Notification) SetAndroidGroup(v string) {
+	o.AndroidGroup = &v
+}
+
+// GetAndroidGroupMessage returns the AndroidGroupMessage field value if set, zero value otherwise.
+func (o *Notification) GetAndroidGroupMessage() string {
+	if o == nil || o.AndroidGroupMessage == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidGroupMessage
+}
+
+// GetAndroidGroupMessageOk returns a tuple with the AndroidGroupMessage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAndroidGroupMessageOk() (*string, bool) {
+	if o == nil || o.AndroidGroupMessage == nil {
+		return nil, false
+	}
+	return o.AndroidGroupMessage, true
+}
+
+// HasAndroidGroupMessage returns a boolean if a field has been set.
+func (o *Notification) HasAndroidGroupMessage() bool {
+	if o != nil && o.AndroidGroupMessage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidGroupMessage gets a reference to the given string and assigns it to the AndroidGroupMessage field.
+func (o *Notification) SetAndroidGroupMessage(v string) {
+	o.AndroidGroupMessage = &v
+}
+
+// GetAdmGroup returns the AdmGroup field value if set, zero value otherwise.
+func (o *Notification) GetAdmGroup() string {
+	if o == nil || o.AdmGroup == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmGroup
+}
+
+// GetAdmGroupOk returns a tuple with the AdmGroup field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmGroupOk() (*string, bool) {
+	if o == nil || o.AdmGroup == nil {
+		return nil, false
+	}
+	return o.AdmGroup, true
+}
+
+// HasAdmGroup returns a boolean if a field has been set.
+func (o *Notification) HasAdmGroup() bool {
+	if o != nil && o.AdmGroup != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmGroup gets a reference to the given string and assigns it to the AdmGroup field.
+func (o *Notification) SetAdmGroup(v string) {
+	o.AdmGroup = &v
+}
+
+// GetAdmGroupMessage returns the AdmGroupMessage field value if set, zero value otherwise.
+func (o *Notification) GetAdmGroupMessage() map[string]interface{} {
+	if o == nil || o.AdmGroupMessage == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.AdmGroupMessage
+}
+
+// GetAdmGroupMessageOk returns a tuple with the AdmGroupMessage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetAdmGroupMessageOk() (map[string]interface{}, bool) {
+	if o == nil || o.AdmGroupMessage == nil {
+		return nil, false
+	}
+	return o.AdmGroupMessage, true
+}
+
+// HasAdmGroupMessage returns a boolean if a field has been set.
+func (o *Notification) HasAdmGroupMessage() bool {
+	if o != nil && o.AdmGroupMessage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmGroupMessage gets a reference to the given map[string]interface{} and assigns it to the AdmGroupMessage field.
+func (o *Notification) SetAdmGroupMessage(v map[string]interface{}) {
+	o.AdmGroupMessage = v
+}
+
+// GetThreadId returns the ThreadId field value if set, zero value otherwise.
+func (o *Notification) GetThreadId() string {
+	if o == nil || o.ThreadId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ThreadId
+}
+
+// GetThreadIdOk returns a tuple with the ThreadId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetThreadIdOk() (*string, bool) {
+	if o == nil || o.ThreadId == nil {
+		return nil, false
+	}
+	return o.ThreadId, true
+}
+
+// HasThreadId returns a boolean if a field has been set.
+func (o *Notification) HasThreadId() bool {
+	if o != nil && o.ThreadId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetThreadId gets a reference to the given string and assigns it to the ThreadId field.
+func (o *Notification) SetThreadId(v string) {
+	o.ThreadId = &v
+}
+
+// GetSummaryArg returns the SummaryArg field value if set, zero value otherwise.
+func (o *Notification) GetSummaryArg() string {
+	if o == nil || o.SummaryArg == nil {
+		var ret string
+		return ret
+	}
+	return *o.SummaryArg
+}
+
+// GetSummaryArgOk returns a tuple with the SummaryArg field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSummaryArgOk() (*string, bool) {
+	if o == nil || o.SummaryArg == nil {
+		return nil, false
+	}
+	return o.SummaryArg, true
+}
+
+// HasSummaryArg returns a boolean if a field has been set.
+func (o *Notification) HasSummaryArg() bool {
+	if o != nil && o.SummaryArg != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSummaryArg gets a reference to the given string and assigns it to the SummaryArg field.
+func (o *Notification) SetSummaryArg(v string) {
+	o.SummaryArg = &v
+}
+
+// GetSummaryArgCount returns the SummaryArgCount field value if set, zero value otherwise.
+func (o *Notification) GetSummaryArgCount() int32 {
+	if o == nil || o.SummaryArgCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.SummaryArgCount
+}
+
+// GetSummaryArgCountOk returns a tuple with the SummaryArgCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSummaryArgCountOk() (*int32, bool) {
+	if o == nil || o.SummaryArgCount == nil {
+		return nil, false
+	}
+	return o.SummaryArgCount, true
+}
+
+// HasSummaryArgCount returns a boolean if a field has been set.
+func (o *Notification) HasSummaryArgCount() bool {
+	if o != nil && o.SummaryArgCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSummaryArgCount gets a reference to the given int32 and assigns it to the SummaryArgCount field.
+func (o *Notification) SetSummaryArgCount(v int32) {
+	o.SummaryArgCount = &v
+}
+
+// GetEmailSubect returns the EmailSubect field value if set, zero value otherwise.
+func (o *Notification) GetEmailSubect() string {
+	if o == nil || o.EmailSubect == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailSubect
+}
+
+// GetEmailSubectOk returns a tuple with the EmailSubect field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetEmailSubectOk() (*string, bool) {
+	if o == nil || o.EmailSubect == nil {
+		return nil, false
+	}
+	return o.EmailSubect, true
+}
+
+// HasEmailSubect returns a boolean if a field has been set.
+func (o *Notification) HasEmailSubect() bool {
+	if o != nil && o.EmailSubect != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailSubect gets a reference to the given string and assigns it to the EmailSubect field.
+func (o *Notification) SetEmailSubect(v string) {
+	o.EmailSubect = &v
+}
+
+// GetEmailBody returns the EmailBody field value if set, zero value otherwise.
+func (o *Notification) GetEmailBody() string {
+	if o == nil || o.EmailBody == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailBody
+}
+
+// GetEmailBodyOk returns a tuple with the EmailBody field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetEmailBodyOk() (*string, bool) {
+	if o == nil || o.EmailBody == nil {
+		return nil, false
+	}
+	return o.EmailBody, true
+}
+
+// HasEmailBody returns a boolean if a field has been set.
+func (o *Notification) HasEmailBody() bool {
+	if o != nil && o.EmailBody != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailBody gets a reference to the given string and assigns it to the EmailBody field.
+func (o *Notification) SetEmailBody(v string) {
+	o.EmailBody = &v
+}
+
+// GetEmailFromName returns the EmailFromName field value if set, zero value otherwise.
+func (o *Notification) GetEmailFromName() string {
+	if o == nil || o.EmailFromName == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailFromName
+}
+
+// GetEmailFromNameOk returns a tuple with the EmailFromName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetEmailFromNameOk() (*string, bool) {
+	if o == nil || o.EmailFromName == nil {
+		return nil, false
+	}
+	return o.EmailFromName, true
+}
+
+// HasEmailFromName returns a boolean if a field has been set.
+func (o *Notification) HasEmailFromName() bool {
+	if o != nil && o.EmailFromName != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailFromName gets a reference to the given string and assigns it to the EmailFromName field.
+func (o *Notification) SetEmailFromName(v string) {
+	o.EmailFromName = &v
+}
+
+// GetEmailFromAddress returns the EmailFromAddress field value if set, zero value otherwise.
+func (o *Notification) GetEmailFromAddress() string {
+	if o == nil || o.EmailFromAddress == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailFromAddress
+}
+
+// GetEmailFromAddressOk returns a tuple with the EmailFromAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetEmailFromAddressOk() (*string, bool) {
+	if o == nil || o.EmailFromAddress == nil {
+		return nil, false
+	}
+	return o.EmailFromAddress, true
+}
+
+// HasEmailFromAddress returns a boolean if a field has been set.
+func (o *Notification) HasEmailFromAddress() bool {
+	if o != nil && o.EmailFromAddress != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailFromAddress gets a reference to the given string and assigns it to the EmailFromAddress field.
+func (o *Notification) SetEmailFromAddress(v string) {
+	o.EmailFromAddress = &v
+}
+
+// GetSmsFrom returns the SmsFrom field value if set, zero value otherwise.
+func (o *Notification) GetSmsFrom() string {
+	if o == nil || o.SmsFrom == nil {
+		var ret string
+		return ret
+	}
+	return *o.SmsFrom
+}
+
+// GetSmsFromOk returns a tuple with the SmsFrom field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSmsFromOk() (*string, bool) {
+	if o == nil || o.SmsFrom == nil {
+		return nil, false
+	}
+	return o.SmsFrom, true
+}
+
+// HasSmsFrom returns a boolean if a field has been set.
+func (o *Notification) HasSmsFrom() bool {
+	if o != nil && o.SmsFrom != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmsFrom gets a reference to the given string and assigns it to the SmsFrom field.
+func (o *Notification) SetSmsFrom(v string) {
+	o.SmsFrom = &v
+}
+
+// GetSmsMediaUrls returns the SmsMediaUrls field value if set, zero value otherwise.
+func (o *Notification) GetSmsMediaUrls() []string {
+	if o == nil || o.SmsMediaUrls == nil {
+		var ret []string
+		return ret
+	}
+	return o.SmsMediaUrls
+}
+
+// GetSmsMediaUrlsOk returns a tuple with the SmsMediaUrls field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Notification) GetSmsMediaUrlsOk() ([]string, bool) {
+	if o == nil || o.SmsMediaUrls == nil {
+		return nil, false
+	}
+	return o.SmsMediaUrls, true
+}
+
+// HasSmsMediaUrls returns a boolean if a field has been set.
+func (o *Notification) HasSmsMediaUrls() bool {
+	if o != nil && o.SmsMediaUrls != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmsMediaUrls gets a reference to the given []string and assigns it to the SmsMediaUrls field.
+func (o *Notification) SetSmsMediaUrls(v []string) {
+	o.SmsMediaUrls = v
+}
+
+func (o Notification) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.IncludedSegments != nil {
+		toSerialize["included_segments"] = o.IncludedSegments
+	}
+	if o.ExcludedSegments != nil {
+		toSerialize["excluded_segments"] = o.ExcludedSegments
+	}
+	if o.LastSession != nil {
+		toSerialize["last_session"] = o.LastSession
+	}
+	if o.FirstSession != nil {
+		toSerialize["first_session"] = o.FirstSession
+	}
+	if o.SessionCount != nil {
+		toSerialize["session_count"] = o.SessionCount
+	}
+	if o.SessionTime != nil {
+		toSerialize["session_time"] = o.SessionTime
+	}
+	if o.AmountSpent != nil {
+		toSerialize["amount_spent"] = o.AmountSpent
+	}
+	if o.BoughtSku != nil {
+		toSerialize["bought_sku"] = o.BoughtSku
+	}
+	if o.Tag != nil {
+		toSerialize["tag"] = o.Tag
+	}
+	if o.Language != nil {
+		toSerialize["language"] = o.Language
+	}
+	if o.AppVersion != nil {
+		toSerialize["app_version"] = o.AppVersion
+	}
+	if o.Location != nil {
+		toSerialize["location"] = o.Location
+	}
+	if o.Email != nil {
+		toSerialize["email"] = o.Email
+	}
+	if o.Country != nil {
+		toSerialize["country"] = o.Country
+	}
+	if o.IncludePlayerIds != nil {
+		toSerialize["include_player_ids"] = o.IncludePlayerIds
+	}
+	if o.IncludeExternalUserIds != nil {
+		toSerialize["include_external_user_ids"] = o.IncludeExternalUserIds
+	}
+	if o.IncludeEmailTokens != nil {
+		toSerialize["include_email_tokens"] = o.IncludeEmailTokens
+	}
+	if o.IncludePhoneNumbers != nil {
+		toSerialize["include_phone_numbers"] = o.IncludePhoneNumbers
+	}
+	if o.IncludeIosTokens != nil {
+		toSerialize["include_ios_tokens"] = o.IncludeIosTokens
+	}
+	if o.IncludeWpWnsUris != nil {
+		toSerialize["include_wp_wns_uris"] = o.IncludeWpWnsUris
+	}
+	if o.IncludeAmazonRegIds != nil {
+		toSerialize["include_amazon_reg_ids"] = o.IncludeAmazonRegIds
+	}
+	if o.IncludeChromeRegIds != nil {
+		toSerialize["include_chrome_reg_ids"] = o.IncludeChromeRegIds
+	}
+	if o.IncludeChromeWebRegIds != nil {
+		toSerialize["include_chrome_web_reg_ids"] = o.IncludeChromeWebRegIds
+	}
+	if o.IncludeAndroidRegIds != nil {
+		toSerialize["include_android_reg_ids"] = o.IncludeAndroidRegIds
+	}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.Value != nil {
+		toSerialize["value"] = o.Value
+	}
+	if o.Aggregation != nil {
+		toSerialize["aggregation"] = o.Aggregation
+	}
+	if o.IsIos != nil {
+		toSerialize["isIos"] = o.IsIos
+	}
+	if o.IsAndroid != nil {
+		toSerialize["isAndroid"] = o.IsAndroid
+	}
+	if o.IsHuawei != nil {
+		toSerialize["isHuawei"] = o.IsHuawei
+	}
+	if o.IsAnyWeb != nil {
+		toSerialize["isAnyWeb"] = o.IsAnyWeb
+	}
+	if o.IsChromeWeb != nil {
+		toSerialize["isChromeWeb"] = o.IsChromeWeb
+	}
+	if o.IsFirefox != nil {
+		toSerialize["isFirefox"] = o.IsFirefox
+	}
+	if o.IsSafari != nil {
+		toSerialize["isSafari"] = o.IsSafari
+	}
+	if o.IsWPWNS != nil {
+		toSerialize["isWP_WNS"] = o.IsWPWNS
+	}
+	if o.IsAdm != nil {
+		toSerialize["isAdm"] = o.IsAdm
+	}
+	if o.IsChrome != nil {
+		toSerialize["isChrome"] = o.IsChrome
+	}
+	if o.ChannelForExternalUserIds != nil {
+		toSerialize["channel_for_external_user_ids"] = o.ChannelForExternalUserIds
+	}
+	if true {
+		toSerialize["app_id"] = o.AppId
+	}
+	if o.ExternalId != nil {
+		toSerialize["external_id"] = o.ExternalId
+	}
+	if o.Contents.IsSet() {
+		toSerialize["contents"] = o.Contents.Get()
+	}
+	if o.Headings.IsSet() {
+		toSerialize["headings"] = o.Headings.Get()
+	}
+	if o.Subtitle.IsSet() {
+		toSerialize["subtitle"] = o.Subtitle.Get()
+	}
+	if o.Data != nil {
+		toSerialize["data"] = o.Data
+	}
+	if o.HuaweiMsgType != nil {
+		toSerialize["huawei_msg_type"] = o.HuaweiMsgType
+	}
+	if o.Url != nil {
+		toSerialize["url"] = o.Url
+	}
+	if o.WebUrl != nil {
+		toSerialize["web_url"] = o.WebUrl
+	}
+	if o.AppUrl != nil {
+		toSerialize["app_url"] = o.AppUrl
+	}
+	if o.IosAttachments != nil {
+		toSerialize["ios_attachments"] = o.IosAttachments
+	}
+	if o.TemplateId != nil {
+		toSerialize["template_id"] = o.TemplateId
+	}
+	if o.ContentAvailable != nil {
+		toSerialize["content_available"] = o.ContentAvailable
+	}
+	if o.MutableContent != nil {
+		toSerialize["mutable_content"] = o.MutableContent
+	}
+	if o.TargetContentIdentifier != nil {
+		toSerialize["target_content_identifier"] = o.TargetContentIdentifier
+	}
+	if o.BigPicture != nil {
+		toSerialize["big_picture"] = o.BigPicture
+	}
+	if o.HuaweiBigPicture != nil {
+		toSerialize["huawei_big_picture"] = o.HuaweiBigPicture
+	}
+	if o.AdmBigPicture != nil {
+		toSerialize["adm_big_picture"] = o.AdmBigPicture
+	}
+	if o.ChromeBigPicture != nil {
+		toSerialize["chrome_big_picture"] = o.ChromeBigPicture
+	}
+	if o.ChromeWebImage != nil {
+		toSerialize["chrome_web_image"] = o.ChromeWebImage
+	}
+	if o.Buttons != nil {
+		toSerialize["buttons"] = o.Buttons
+	}
+	if o.WebButtons != nil {
+		toSerialize["web_buttons"] = o.WebButtons
+	}
+	if o.IosCategory != nil {
+		toSerialize["ios_category"] = o.IosCategory
+	}
+	if o.AndroidChannelId != nil {
+		toSerialize["android_channel_id"] = o.AndroidChannelId
+	}
+	if o.HuaweiChannelId != nil {
+		toSerialize["huawei_channel_id"] = o.HuaweiChannelId
+	}
+	if o.ExistingAndroidChannelId != nil {
+		toSerialize["existing_android_channel_id"] = o.ExistingAndroidChannelId
+	}
+	if o.HuaweiExistingChannelId != nil {
+		toSerialize["huawei_existing_channel_id"] = o.HuaweiExistingChannelId
+	}
+	if o.AndroidBackgroundLayout != nil {
+		toSerialize["android_background_layout"] = o.AndroidBackgroundLayout
+	}
+	if o.SmallIcon != nil {
+		toSerialize["small_icon"] = o.SmallIcon
+	}
+	if o.HuaweiSmallIcon != nil {
+		toSerialize["huawei_small_icon"] = o.HuaweiSmallIcon
+	}
+	if o.LargeIcon != nil {
+		toSerialize["large_icon"] = o.LargeIcon
+	}
+	if o.HuaweiLargeIcon != nil {
+		toSerialize["huawei_large_icon"] = o.HuaweiLargeIcon
+	}
+	if o.AdmSmallIcon != nil {
+		toSerialize["adm_small_icon"] = o.AdmSmallIcon
+	}
+	if o.AdmLargeIcon != nil {
+		toSerialize["adm_large_icon"] = o.AdmLargeIcon
+	}
+	if o.ChromeWebIcon != nil {
+		toSerialize["chrome_web_icon"] = o.ChromeWebIcon
+	}
+	if o.ChromeWebBadge != nil {
+		toSerialize["chrome_web_badge"] = o.ChromeWebBadge
+	}
+	if o.FirefoxIcon != nil {
+		toSerialize["firefox_icon"] = o.FirefoxIcon
+	}
+	if o.ChromeIcon != nil {
+		toSerialize["chrome_icon"] = o.ChromeIcon
+	}
+	if o.IosSound != nil {
+		toSerialize["ios_sound"] = o.IosSound
+	}
+	if o.AndroidSound != nil {
+		toSerialize["android_sound"] = o.AndroidSound
+	}
+	if o.HuaweiSound != nil {
+		toSerialize["huawei_sound"] = o.HuaweiSound
+	}
+	if o.AdmSound != nil {
+		toSerialize["adm_sound"] = o.AdmSound
+	}
+	if o.WpWnsSound != nil {
+		toSerialize["wp_wns_sound"] = o.WpWnsSound
+	}
+	if o.AndroidLedColor != nil {
+		toSerialize["android_led_color"] = o.AndroidLedColor
+	}
+	if o.HuaweiLedColor != nil {
+		toSerialize["huawei_led_color"] = o.HuaweiLedColor
+	}
+	if o.AndroidAccentColor != nil {
+		toSerialize["android_accent_color"] = o.AndroidAccentColor
+	}
+	if o.HuaweiAccentColor != nil {
+		toSerialize["huawei_accent_color"] = o.HuaweiAccentColor
+	}
+	if o.AndroidVisibility != nil {
+		toSerialize["android_visibility"] = o.AndroidVisibility
+	}
+	if o.HuaweiVisibility != nil {
+		toSerialize["huawei_visibility"] = o.HuaweiVisibility
+	}
+	if o.IosBadgeType != nil {
+		toSerialize["ios_badgeType"] = o.IosBadgeType
+	}
+	if o.IosBadgeCount != nil {
+		toSerialize["ios_badgeCount"] = o.IosBadgeCount
+	}
+	if o.CollapseId != nil {
+		toSerialize["collapse_id"] = o.CollapseId
+	}
+	if o.WebPushTopic != nil {
+		toSerialize["web_push_topic"] = o.WebPushTopic
+	}
+	if o.ApnsAlert != nil {
+		toSerialize["apns_alert"] = o.ApnsAlert
+	}
+	if o.SendAfter != nil {
+		toSerialize["send_after"] = o.SendAfter
+	}
+	if o.DelayedOption != nil {
+		toSerialize["delayed_option"] = o.DelayedOption
+	}
+	if o.DeliveryTimeOfDay != nil {
+		toSerialize["delivery_time_of_day"] = o.DeliveryTimeOfDay
+	}
+	if o.Ttl != nil {
+		toSerialize["ttl"] = o.Ttl
+	}
+	if o.Priority != nil {
+		toSerialize["priority"] = o.Priority
+	}
+	if o.ApnsPushTypeOverride != nil {
+		toSerialize["apns_push_type_override"] = o.ApnsPushTypeOverride
+	}
+	if o.ThrottleRatePerMinute != nil {
+		toSerialize["throttle_rate_per_minute"] = o.ThrottleRatePerMinute
+	}
+	if o.AndroidGroup != nil {
+		toSerialize["android_group"] = o.AndroidGroup
+	}
+	if o.AndroidGroupMessage != nil {
+		toSerialize["android_group_message"] = o.AndroidGroupMessage
+	}
+	if o.AdmGroup != nil {
+		toSerialize["adm_group"] = o.AdmGroup
+	}
+	if o.AdmGroupMessage != nil {
+		toSerialize["adm_group_message"] = o.AdmGroupMessage
+	}
+	if o.ThreadId != nil {
+		toSerialize["thread_id"] = o.ThreadId
+	}
+	if o.SummaryArg != nil {
+		toSerialize["summary_arg"] = o.SummaryArg
+	}
+	if o.SummaryArgCount != nil {
+		toSerialize["summary_arg_count"] = o.SummaryArgCount
+	}
+	if o.EmailSubect != nil {
+		toSerialize["email_subect"] = o.EmailSubect
+	}
+	if o.EmailBody != nil {
+		toSerialize["email_body"] = o.EmailBody
+	}
+	if o.EmailFromName != nil {
+		toSerialize["email_from_name"] = o.EmailFromName
+	}
+	if o.EmailFromAddress != nil {
+		toSerialize["email_from_address"] = o.EmailFromAddress
+	}
+	if o.SmsFrom != nil {
+		toSerialize["sms_from"] = o.SmsFrom
+	}
+	if o.SmsMediaUrls != nil {
+		toSerialize["sms_media_urls"] = o.SmsMediaUrls
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Notification) UnmarshalJSON(bytes []byte) (err error) {
+	varNotification := _Notification{}
+
+	if err = json.Unmarshal(bytes, &varNotification); err == nil {
+		*o = Notification(varNotification)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "included_segments")
+		delete(additionalProperties, "excluded_segments")
+		delete(additionalProperties, "last_session")
+		delete(additionalProperties, "first_session")
+		delete(additionalProperties, "session_count")
+		delete(additionalProperties, "session_time")
+		delete(additionalProperties, "amount_spent")
+		delete(additionalProperties, "bought_sku")
+		delete(additionalProperties, "tag")
+		delete(additionalProperties, "language")
+		delete(additionalProperties, "app_version")
+		delete(additionalProperties, "location")
+		delete(additionalProperties, "email")
+		delete(additionalProperties, "country")
+		delete(additionalProperties, "include_player_ids")
+		delete(additionalProperties, "include_external_user_ids")
+		delete(additionalProperties, "include_email_tokens")
+		delete(additionalProperties, "include_phone_numbers")
+		delete(additionalProperties, "include_ios_tokens")
+		delete(additionalProperties, "include_wp_wns_uris")
+		delete(additionalProperties, "include_amazon_reg_ids")
+		delete(additionalProperties, "include_chrome_reg_ids")
+		delete(additionalProperties, "include_chrome_web_reg_ids")
+		delete(additionalProperties, "include_android_reg_ids")
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "value")
+		delete(additionalProperties, "aggregation")
+		delete(additionalProperties, "isIos")
+		delete(additionalProperties, "isAndroid")
+		delete(additionalProperties, "isHuawei")
+		delete(additionalProperties, "isAnyWeb")
+		delete(additionalProperties, "isChromeWeb")
+		delete(additionalProperties, "isFirefox")
+		delete(additionalProperties, "isSafari")
+		delete(additionalProperties, "isWP_WNS")
+		delete(additionalProperties, "isAdm")
+		delete(additionalProperties, "isChrome")
+		delete(additionalProperties, "channel_for_external_user_ids")
+		delete(additionalProperties, "app_id")
+		delete(additionalProperties, "external_id")
+		delete(additionalProperties, "contents")
+		delete(additionalProperties, "headings")
+		delete(additionalProperties, "subtitle")
+		delete(additionalProperties, "data")
+		delete(additionalProperties, "huawei_msg_type")
+		delete(additionalProperties, "url")
+		delete(additionalProperties, "web_url")
+		delete(additionalProperties, "app_url")
+		delete(additionalProperties, "ios_attachments")
+		delete(additionalProperties, "template_id")
+		delete(additionalProperties, "content_available")
+		delete(additionalProperties, "mutable_content")
+		delete(additionalProperties, "target_content_identifier")
+		delete(additionalProperties, "big_picture")
+		delete(additionalProperties, "huawei_big_picture")
+		delete(additionalProperties, "adm_big_picture")
+		delete(additionalProperties, "chrome_big_picture")
+		delete(additionalProperties, "chrome_web_image")
+		delete(additionalProperties, "buttons")
+		delete(additionalProperties, "web_buttons")
+		delete(additionalProperties, "ios_category")
+		delete(additionalProperties, "android_channel_id")
+		delete(additionalProperties, "huawei_channel_id")
+		delete(additionalProperties, "existing_android_channel_id")
+		delete(additionalProperties, "huawei_existing_channel_id")
+		delete(additionalProperties, "android_background_layout")
+		delete(additionalProperties, "small_icon")
+		delete(additionalProperties, "huawei_small_icon")
+		delete(additionalProperties, "large_icon")
+		delete(additionalProperties, "huawei_large_icon")
+		delete(additionalProperties, "adm_small_icon")
+		delete(additionalProperties, "adm_large_icon")
+		delete(additionalProperties, "chrome_web_icon")
+		delete(additionalProperties, "chrome_web_badge")
+		delete(additionalProperties, "firefox_icon")
+		delete(additionalProperties, "chrome_icon")
+		delete(additionalProperties, "ios_sound")
+		delete(additionalProperties, "android_sound")
+		delete(additionalProperties, "huawei_sound")
+		delete(additionalProperties, "adm_sound")
+		delete(additionalProperties, "wp_wns_sound")
+		delete(additionalProperties, "android_led_color")
+		delete(additionalProperties, "huawei_led_color")
+		delete(additionalProperties, "android_accent_color")
+		delete(additionalProperties, "huawei_accent_color")
+		delete(additionalProperties, "android_visibility")
+		delete(additionalProperties, "huawei_visibility")
+		delete(additionalProperties, "ios_badgeType")
+		delete(additionalProperties, "ios_badgeCount")
+		delete(additionalProperties, "collapse_id")
+		delete(additionalProperties, "web_push_topic")
+		delete(additionalProperties, "apns_alert")
+		delete(additionalProperties, "send_after")
+		delete(additionalProperties, "delayed_option")
+		delete(additionalProperties, "delivery_time_of_day")
+		delete(additionalProperties, "ttl")
+		delete(additionalProperties, "priority")
+		delete(additionalProperties, "apns_push_type_override")
+		delete(additionalProperties, "throttle_rate_per_minute")
+		delete(additionalProperties, "android_group")
+		delete(additionalProperties, "android_group_message")
+		delete(additionalProperties, "adm_group")
+		delete(additionalProperties, "adm_group_message")
+		delete(additionalProperties, "thread_id")
+		delete(additionalProperties, "summary_arg")
+		delete(additionalProperties, "summary_arg_count")
+		delete(additionalProperties, "email_subect")
+		delete(additionalProperties, "email_body")
+		delete(additionalProperties, "email_from_name")
+		delete(additionalProperties, "email_from_address")
+		delete(additionalProperties, "sms_from")
+		delete(additionalProperties, "sms_media_urls")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableNotification struct {
+	value *Notification
+	isSet bool
+}
+
+func (v NullableNotification) Get() *Notification {
+	return v.value
+}
+
+func (v *NullableNotification) Set(val *Notification) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotification) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotification) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotification(val *Notification) *NullableNotification {
+	return &NullableNotification{value: val, isSet: true}
+}
+
+func (v NullableNotification) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotification) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification200_errors.go b/model_notification200_errors.go
new file mode 100644
index 0000000..9a09d05
--- /dev/null
+++ b/model_notification200_errors.go
@@ -0,0 +1,149 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+	"fmt"
+)
+
+// Notification200Errors - struct for Notification200Errors
+type Notification200Errors struct {
+	InvalidIdentifierError *InvalidIdentifierError
+	ArrayOfString *[]string
+}
+
+// InvalidIdentifierErrorAsNotification200Errors is a convenience function that returns InvalidIdentifierError wrapped in Notification200Errors
+func InvalidIdentifierErrorAsNotification200Errors(v *InvalidIdentifierError) Notification200Errors {
+	return Notification200Errors{
+		InvalidIdentifierError: v,
+	}
+}
+
+// []stringAsNotification200Errors is a convenience function that returns []string wrapped in Notification200Errors
+func ArrayOfStringAsNotification200Errors(v *[]string) Notification200Errors {
+	return Notification200Errors{
+		ArrayOfString: v,
+	}
+}
+
+
+// Unmarshal JSON data into one of the pointers in the struct
+func (dst *Notification200Errors) UnmarshalJSON(data []byte) error {
+	var err error
+	match := 0
+	// try to unmarshal data into InvalidIdentifierError
+	err = newStrictDecoder(data).Decode(&dst.InvalidIdentifierError)
+	if err == nil {
+		jsonInvalidIdentifierError, _ := json.Marshal(dst.InvalidIdentifierError)
+		if string(jsonInvalidIdentifierError) == "{}" { // empty struct
+			dst.InvalidIdentifierError = nil
+		} else {
+			match++
+		}
+	} else {
+		dst.InvalidIdentifierError = nil
+	}
+
+	// try to unmarshal data into ArrayOfString
+	err = newStrictDecoder(data).Decode(&dst.ArrayOfString)
+	if err == nil {
+		jsonArrayOfString, _ := json.Marshal(dst.ArrayOfString)
+		if string(jsonArrayOfString) == "{}" { // empty struct
+			dst.ArrayOfString = nil
+		} else {
+			match++
+		}
+	} else {
+		dst.ArrayOfString = nil
+	}
+
+	if match > 1 { // more than 1 match
+		// reset to nil
+		dst.InvalidIdentifierError = nil
+		dst.ArrayOfString = nil
+
+		return fmt.Errorf("Data matches more than one schema in oneOf(Notification200Errors)")
+	} else if match == 1 {
+		return nil // exactly one match
+	} else { // no match
+		return fmt.Errorf("Data failed to match schemas in oneOf(Notification200Errors)")
+	}
+}
+
+// Marshal data from the first non-nil pointers in the struct to JSON
+func (src Notification200Errors) MarshalJSON() ([]byte, error) {
+	if src.InvalidIdentifierError != nil {
+		return json.Marshal(&src.InvalidIdentifierError)
+	}
+
+	if src.ArrayOfString != nil {
+		return json.Marshal(&src.ArrayOfString)
+	}
+
+	return nil, nil // no data in oneOf schemas
+}
+
+// Get the actual instance
+func (obj *Notification200Errors) GetActualInstance() (interface{}) {
+	if obj == nil {
+		return nil
+	}
+	if obj.InvalidIdentifierError != nil {
+		return obj.InvalidIdentifierError
+	}
+
+	if obj.ArrayOfString != nil {
+		return obj.ArrayOfString
+	}
+
+	// all schemas are nil
+	return nil
+}
+
+type NullableNotification200Errors struct {
+	value *Notification200Errors
+	isSet bool
+}
+
+func (v NullableNotification200Errors) Get() *Notification200Errors {
+	return v.value
+}
+
+func (v *NullableNotification200Errors) Set(val *Notification200Errors) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotification200Errors) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotification200Errors) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotification200Errors(val *Notification200Errors) *NullableNotification200Errors {
+	return &NullableNotification200Errors{value: val, isSet: true}
+}
+
+func (v NullableNotification200Errors) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotification200Errors) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification_all_of.go b/model_notification_all_of.go
new file mode 100644
index 0000000..a20c94e
--- /dev/null
+++ b/model_notification_all_of.go
@@ -0,0 +1,3475 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// NotificationAllOf struct for NotificationAllOf
+type NotificationAllOf struct {
+	Id *string `json:"id,omitempty"`
+	Value *int32 `json:"value,omitempty"`
+	Aggregation *string `json:"aggregation,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Apple iOS platform.
+	IsIos *bool `json:"isIos,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Google Android platform.
+	IsAndroid *bool `json:"isAndroid,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Huawei Android platform.
+	IsHuawei *bool `json:"isHuawei,omitempty"`
+	// Indicates whether to send to all subscribed web browser users, including Chrome, Firefox, and Safari. You may use this instead as a combined flag instead of separately enabling isChromeWeb, isFirefox, and isSafari, though the three options are equivalent to this one. 
+	IsAnyWeb *bool `json:"isAnyWeb,omitempty"`
+	// Indicates whether to send to all Google Chrome, Chrome on Android, and Mozilla Firefox users registered under your Chrome & Firefox web push platform.
+	IsChromeWeb *bool `json:"isChromeWeb,omitempty"`
+	// Indicates whether to send to all Mozilla Firefox desktop users registered under your Firefox web push platform.
+	IsFirefox *bool `json:"isFirefox,omitempty"`
+	// Does not support iOS Safari. Indicates whether to send to all Apple's Safari desktop users registered under your Safari web push platform. Read more iOS Safari
+	IsSafari *bool `json:"isSafari,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Windows platform.
+	IsWPWNS *bool `json:"isWP_WNS,omitempty"`
+	// Indicates whether to send to all devices registered under your app's Amazon Fire platform.
+	IsAdm *bool `json:"isAdm,omitempty"`
+	// This flag is not used for web push Please see isChromeWeb for sending to web push users. This flag only applies to Google Chrome Apps & Extensions. Indicates whether to send to all devices registered under your app's Google Chrome Apps & Extension platform. 
+	IsChrome *bool `json:"isChrome,omitempty"`
+	// Indicates if the message type when targeting with include_external_user_ids for cases where an email, sms, and/or push subscribers have the same external user id. Example: Use the string \"push\" to indicate you are sending a push notification or the string \"email\"for sending emails or \"sms\"for sending SMS. 
+	ChannelForExternalUserIds *string `json:"channel_for_external_user_ids,omitempty"`
+	// Required: Your OneSignal Application ID, which can be found in Keys & IDs. It is a UUID and looks similar to 8250eaf6-1a58-489e-b136-7c74a864b434. 
+	AppId *string `json:"app_id,omitempty"`
+	// Correlation and idempotency key. A request received with this parameter will first look for another notification with the same external_id. If one exists, a notification will not be sent, and result of the previous operation will instead be returned. Therefore, if you plan on using this feature, it's important to use a good source of randomness to generate the UUID passed here. This key is only idempotent for 30 days. After 30 days, the notification could be removed from our system and a notification with the same external_id will be sent again.   See Idempotent Notification Requests for more details writeOnly: true 
+	ExternalId *string `json:"external_id,omitempty"`
+	Contents NullableStringMap `json:"contents,omitempty"`
+	Headings NullableStringMap `json:"headings,omitempty"`
+	Subtitle NullableStringMap `json:"subtitle,omitempty"`
+	// Channel: Push Notifications Platform: Huawei A custom map of data that is passed back to your app. Same as using Additional Data within the dashboard. Can use up to 2048 bytes of data. Example: {\"abc\": 123, \"foo\": \"bar\", \"event_performed\": true, \"amount\": 12.1} 
+	Data map[string]interface{} `json:"data,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Use \"data\" or \"message\" depending on the type of notification you are sending. More details in Data & Background Notifications. 
+	HuaweiMsgType *string `json:"huawei_msg_type,omitempty"`
+	// Channel: Push Notifications Platform: All The URL to open in the browser when a user clicks on the notification. Note: iOS needs https or updated NSAppTransportSecurity in plist This field supports inline substitutions. Omit if including web_url or app_url Example: https://onesignal.com 
+	Url *string `json:"url,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including Chrome, Firefox, Safari, Opera, etc. Example: https://onesignal.com 
+	WebUrl *string `json:"web_url,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Same as url but only sent to web push platforms. Including iOS, Android, macOS, Windows, ChromeApps, etc. Example: https://onesignal.com 
+	AppUrl *string `json:"app_url,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ Adds media attachments to notifications. Set as JSON object, key as a media id of your choice and the value as a valid local filename or URL. User must press and hold on the notification to view. Do not set mutable_content to download attachments. The OneSignal SDK does this automatically Example: {\"id1\": \"https://domain.com/image.jpg\"} 
+	IosAttachments map[string]interface{} `json:"ios_attachments,omitempty"`
+	// Channel: Push Notifications Platform: All Use a template you setup on our dashboard. The template_id is the UUID found in the URL when viewing a template on our dashboard. Example: be4a8044-bbd6-11e4-a581-000c2940e62c 
+	TemplateId *string `json:"template_id,omitempty"`
+	// Channel: Push Notifications Platform: iOS Sending true wakes your app from background to run custom native code (Apple interprets this as content-available=1). Note: Not applicable if the app is in the \"force-quit\" state (i.e app was swiped away). Omit the contents field to prevent displaying a visible notification. 
+	ContentAvailable *bool `json:"content_available,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ Always defaults to true and cannot be turned off. Allows tracking of notification receives and changing of the notification content in your app before it is displayed. Triggers didReceive(_:withContentHandler:) on your UNNotificationServiceExtension. 
+	MutableContent *bool `json:"mutable_content,omitempty"`
+	// Channel: Push Notifications Platform: iOS 13+ Use to target a specific experience in your App Clip, or to target your notification to a specific window in a multi-scene App. 
+	TargetContentIdentifier *string `json:"target_content_identifier,omitempty"`
+	// Channel: Push Notifications Platform: Android Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	BigPicture *string `json:"big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	HuaweiBigPicture *string `json:"huawei_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Picture to display in the expanded view. Can be a drawable resource name or a URL. 
+	AdmBigPicture *string `json:"adm_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: ChromeApp Large picture to display below the notification text. Must be a local URL. 
+	ChromeBigPicture *string `json:"chrome_big_picture,omitempty"`
+	// Channel: Push Notifications Platform: Chrome 56+ Sets the web push notification's large image to be shown below the notification's title and text. Please see Web Push Notification Icons. 
+	ChromeWebImage *string `json:"chrome_web_image,omitempty"`
+	// Channel: Push Notifications Platform: iOS 8.0+, Android 4.1+, and derivatives like Amazon Buttons to add to the notification. Icon only works for Android. Buttons show in reverse order of array position i.e. Last item in array shows as first button on device. Example: [{\"id\": \"id2\", \"text\": \"second button\", \"icon\": \"ic_menu_share\"}, {\"id\": \"id1\", \"text\": \"first button\", \"icon\": \"ic_menu_send\"}] 
+	Buttons []Button `json:"buttons,omitempty"`
+	// Channel: Push Notifications Platform: Chrome 48+ Add action buttons to the notification. The id field is required. Example: [{\"id\": \"like-button\", \"text\": \"Like\", \"icon\": \"http://i.imgur.com/N8SN8ZS.png\", \"url\": \"https://yoursite.com\"}, {\"id\": \"read-more-button\", \"text\": \"Read more\", \"icon\": \"http://i.imgur.com/MIxJp1L.png\", \"url\": \"https://yoursite.com\"}] 
+	WebButtons []Button `json:"web_buttons,omitempty"`
+	// Channel: Push Notifications Platform: iOS Category APS payload, use with registerUserNotificationSettings:categories in your Objective-C / Swift code. Example: calendar category which contains actions like accept and decline iOS 10+ This will trigger your UNNotificationContentExtension whose ID matches this category. 
+	IosCategory *string `json:"ios_category,omitempty"`
+	// Channel: Push Notifications Platform: Android The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it's id. 
+	AndroidChannelId *string `json:"android_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Huawei The Android Oreo Notification Category to send the notification under. See the Category documentation on creating one and getting it's id. 
+	HuaweiChannelId *string `json:"huawei_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Android Use this if you have client side Android Oreo Channels you have already defined in your app with code. 
+	ExistingAndroidChannelId *string `json:"existing_android_channel_id,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Use this if you have client side Android Oreo Channels you have already defined in your app with code. 
+	HuaweiExistingChannelId *string `json:"huawei_existing_channel_id,omitempty"`
+	AndroidBackgroundLayout *NotificationAllOfAndroidBackgroundLayout `json:"android_background_layout,omitempty"`
+	// Channel: Push Notifications Platform: Android Icon shown in the status bar and on the top left of the notification. If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons 
+	SmallIcon *string `json:"small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Icon shown in the status bar and on the top left of the notification. Use an Android resource path (E.g. /drawable/small_icon). Defaults to your app icon if not set. 
+	HuaweiSmallIcon *string `json:"huawei_small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Android Can be a drawable resource name or a URL. See: How to create large icons 
+	LargeIcon *string `json:"large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Can be a drawable resource name or a URL. See: How to create large icons 
+	HuaweiLargeIcon *string `json:"huawei_large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Amazon If not set a bell icon will be used or ic_stat_onesignal_default if you have set this resource name. See: How to create small icons 
+	AdmSmallIcon *string `json:"adm_small_icon,omitempty"`
+	// Channel: Push Notifications Platform: Amazon If blank the small_icon is used. Can be a drawable resource name or a URL. See: How to create large icons 
+	AdmLargeIcon *string `json:"adm_large_icon,omitempty"`
+	// Channel: Push Notifications Platform: Chrome Sets the web push notification's icon. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. Firefox will also use this icon, unless you specify firefox_icon. 
+	ChromeWebIcon *string `json:"chrome_web_icon,omitempty"`
+	// Channel: Push Notifications Platform: Chrome Sets the web push notification icon for Android devices in the notification shade. Please see Web Push Notification Badge. 
+	ChromeWebBadge *string `json:"chrome_web_badge,omitempty"`
+	// Channel: Push Notifications Platform: Firefox Not recommended Few people need to set Firefox-specific icons. We recommend setting chrome_web_icon instead, which Firefox will also use. Sets the web push notification's icon for Firefox. An image URL linking to a valid image. Common image types are supported; GIF will not animate. We recommend 256x256 (at least 80x80) to display well on high DPI devices. 
+	FirefoxIcon *string `json:"firefox_icon,omitempty"`
+	// Channel: Push Notifications Platform: ChromeApp This flag is not used for web push For web push, please see chrome_web_icon instead. The local URL to an icon to use. If blank, the app icon will be used. 
+	ChromeIcon *string `json:"chrome_icon,omitempty"`
+	// Channel: Push Notifications Platform: iOS Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable vibration and sound for the notification. Example: \"notification.wav\" 
+	IosSound *string `json:"ios_sound,omitempty"`
+	// Channel: Push Notifications Platform: Android &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\" 
+	AndroidSound *string `json:"android_sound,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sound file that is included in your app to play instead of the default device notification sound. NOTE: Leave off file extension for and include the full path.  Example: \"/res/raw/notification\" 
+	HuaweiSound *string `json:"huawei_sound,omitempty"`
+	// Channel: Push Notifications Platform: Amazon &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\" 
+	AdmSound *string `json:"adm_sound,omitempty"`
+	// Channel: Push Notifications Platform: Windows Sound file that is included in your app to play instead of the default device notification sound. Example: \"notification.wav\" 
+	WpWnsSound *string `json:"wp_wns_sound,omitempty"`
+	// Channel: Push Notifications Platform: Android &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sets the devices LED notification light if the device has one. ARGB Hex format. Example(Blue): \"FF0000FF\" 
+	AndroidLedColor *string `json:"android_led_color,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sets the devices LED notification light if the device has one. RGB Hex format. Example(Blue): \"0000FF\" 
+	HuaweiLedColor *string `json:"huawei_led_color,omitempty"`
+	// Channel: Push Notifications Platform: Android Sets the background color of the notification circle to the left of the notification text. Only applies to apps targeting Android API level 21+ on Android 5.0+ devices. Example(Red): \"FFFF0000\" 
+	AndroidAccentColor *string `json:"android_accent_color,omitempty"`
+	// Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device's theme color if not set. 
+	HuaweiAccentColor *string `json:"huawei_accent_color,omitempty"`
+	// Channel: Push Notifications Platform: Android 5.0_ &#9888;&#65039;Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all) 
+	AndroidVisibility *int32 `json:"android_visibility,omitempty"`
+	// Channel: Push Notifications Platform: Huawei &#9888;&#65039;Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all) 
+	HuaweiVisibility *int32 `json:"huawei_visibility,omitempty"`
+	// Channel: Push Notifications Platform: iOS Describes whether to set or increase/decrease your app's iOS badge count by the ios_badgeCount specified count. Can specify None, SetTo, or Increase. `None` leaves the count unaffected. `SetTo` directly sets the badge count to the number specified in ios_badgeCount. `Increase` adds the number specified in ios_badgeCount to the total. Use a negative number to decrease the badge count. 
+	IosBadgeType *string `json:"ios_badgeType,omitempty"`
+	// Channel: Push Notifications Platform: iOS Used with ios_badgeType, describes the value to set or amount to increase/decrease your app's iOS badge count by. You can use a negative number to decrease the badge count when used with an ios_badgeType of Increase. 
+	IosBadgeCount *int32 `json:"ios_badgeCount,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+, Android Only one notification with the same id will be shown on the device. Use the same id to update an existing notification instead of showing a new one. Limit of 64 characters. 
+	CollapseId *string `json:"collapse_id,omitempty"`
+	// Channel: Push Notifications Platform: All Browsers Display multiple notifications at once with different topics. 
+	WebPushTopic *string `json:"web_push_topic,omitempty"`
+	// Channel: Push Notifications Platform: iOS 10+ iOS can localize push notification messages on the client using special parameters such as loc-key. When using the Create Notification endpoint, you must include these parameters inside of a field called apns_alert. Please see Apple's guide on localizing push notifications to learn more. 
+	ApnsAlert map[string]interface{} `json:"apns_alert,omitempty"`
+	// Channel: All Schedule notification for future delivery. API defaults to UTC -1100 Examples: All examples are the exact same date & time. \"Thu Sep 24 2015 14:00:00 GMT-0700 (PDT)\" \"September 24th 2015, 2:00:00 pm UTC-07:00\" \"2015-09-24 14:00:00 GMT-0700\" \"Sept 24 2015 14:00:00 GMT-0700\" \"Thu Sep 24 2015 14:00:00 GMT-0700 (Pacific Daylight Time)\" Note: SMS currently only supports send_after parameter. 
+	SendAfter *string `json:"send_after,omitempty"`
+	// Channel: All Possible values are: timezone (Deliver at a specific time-of-day in each users own timezone) last-active Same as Intelligent Delivery . (Deliver at the same time of day as each user last used your app). If send_after is used, this takes effect after the send_after time has elapsed. 
+	DelayedOption *string `json:"delayed_option,omitempty"`
+	// Channel: All Use with delayed_option=timezone. Examples: \"9:00AM\" \"21:45\" \"9:45:30\" 
+	DeliveryTimeOfDay *string `json:"delivery_time_of_day,omitempty"`
+	// Channel: Push Notifications Platform: iOS, Android, Chrome, Firefox, Safari, ChromeWeb Time To Live - In seconds. The notification will be expired if the device does not come back online within this time. The default is 259,200 seconds (3 days). Max value to set is 2419200 seconds (28 days). 
+	Ttl *int32 `json:"ttl,omitempty"`
+	// Channel: Push Notifications Platform: Android, Chrome, ChromeWeb Delivery priority through the push server (example GCM/FCM). Pass 10 for high priority or any other integer for normal priority. Defaults to normal priority for Android and high for iOS. For Android 6.0+ devices setting priority to high will wake the device out of doze mode. 
+	Priority *int32 `json:"priority,omitempty"`
+	// Channel: Push Notifications Platform: iOS valid values: voip Set the value to voip for sending VoIP Notifications This field maps to the APNS header apns-push-type. Note: alert and background are automatically set by OneSignal 
+	ApnsPushTypeOverride *string `json:"apns_push_type_override,omitempty"`
+	// Channel: All Apps with throttling enabled:   - the parameter value will be used to override the default application throttling value set from the dashboard settings.   - parameter value 0 indicates not to apply throttling to the notification.   - if the parameter is not passed then the default app throttling value will be applied to the notification. Apps with throttling disabled:   - this parameter can be used to throttle delivery for the notification even though throttling is not enabled at the application level. Refer to throttling for more details. 
+	ThrottleRatePerMinute *string `json:"throttle_rate_per_minute,omitempty"`
+	// Channel: Push Notifications Platform: Android Notifications with the same group will be stacked together using Android's Notification Grouping feature. 
+	AndroidGroup *string `json:"android_group,omitempty"`
+	// Channel: Push Notifications Platform: Android Note: This only works for Android 6 and older. Android 7+ allows full expansion of all message. Summary message to display when 2+ notifications are stacked together. Default is \"# new messages\". Include $[notif_count] in your message and it will be replaced with the current number. Languages - The value of each key is the message that will be sent to users for that language. \"en\" (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. Read more: supported languages. Example: {\"en\": \"You have $[notif_count] new messages\"} 
+	AndroidGroupMessage *string `json:"android_group_message,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Notifications with the same group will be stacked together using Android's Notification Grouping feature. 
+	AdmGroup *string `json:"adm_group,omitempty"`
+	// Channel: Push Notifications Platform: Amazon Summary message to display when 2+ notifications are stacked together. Default is \"# new messages\". Include $[notif_count] in your message and it will be replaced with the current number. \"en\" (English) is required. The key of each hash is either a a 2 character language code or one of zh-Hans/zh-Hant for Simplified or Traditional Chinese. The value of each key is the message that will be sent to users for that language. Example: {\"en\": \"You have $[notif_count] new messages\"} 
+	AdmGroupMessage map[string]interface{} `json:"adm_group_message,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ This parameter is supported in iOS 12 and above. It allows you to group related notifications together. If two notifications have the same thread-id, they will both be added to the same group. 
+	ThreadId *string `json:"thread_id,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ When using thread_id to create grouped notifications in iOS 12+, you can also control the summary. For example, a grouped notification can say \"12 more notifications from John Doe\". The summary_arg lets you set the name of the person/thing the notifications are coming from, and will show up as \"X more notifications from summary_arg\" 
+	SummaryArg *string `json:"summary_arg,omitempty"`
+	// Channel: Push Notifications Platform: iOS 12+ When using thread_id, you can also control the count of the number of notifications in the group. For example, if the group already has 12 notifications, and you send a new notification with summary_arg_count = 2, the new total will be 14 and the summary will be \"14 more notifications from summary_arg\" 
+	SummaryArgCount *int32 `json:"summary_arg_count,omitempty"`
+	// Channel: Email Required.  The subject of the email. 
+	EmailSubect *string `json:"email_subect,omitempty"`
+	// Channel: Email Required unless template_id is set. HTML suported The body of the email you wish to send. Typically, customers include their own HTML templates here. Must include [unsubscribe_url] in an <a> tag somewhere in the email. Note: any malformed HTML content will be sent to users. Please double-check your HTML is valid. 
+	EmailBody *string `json:"email_body,omitempty"`
+	// Channel: Email The name the email is from. If not specified, will default to \"from name\" set in the OneSignal Dashboard Email Settings. 
+	EmailFromName *string `json:"email_from_name,omitempty"`
+	// Channel: Email The email address the email is from. If not specified, will default to \"from email\" set in the OneSignal Dashboard Email Settings. 
+	EmailFromAddress *string `json:"email_from_address,omitempty"`
+	// Channel: SMS Phone Number used to send SMS. Should be a registered Twilio phone number in E.164 format. 
+	SmsFrom *string `json:"sms_from,omitempty"`
+	// Channel: SMS URLs for the media files to be attached to the SMS content. Limit: 10 media urls with a total max. size of 5MBs. 
+	SmsMediaUrls []string `json:"sms_media_urls,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _NotificationAllOf NotificationAllOf
+
+// NewNotificationAllOf instantiates a new NotificationAllOf object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewNotificationAllOf() *NotificationAllOf {
+	this := NotificationAllOf{}
+	var isIos bool = true
+	this.IsIos = &isIos
+	return &this
+}
+
+// NewNotificationAllOfWithDefaults instantiates a new NotificationAllOf object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewNotificationAllOfWithDefaults() *NotificationAllOf {
+	this := NotificationAllOf{}
+	var isIos bool = true
+	this.IsIos = &isIos
+	return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *NotificationAllOf) SetId(v string) {
+	o.Id = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetValue() int32 {
+	if o == nil || o.Value == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetValueOk() (*int32, bool) {
+	if o == nil || o.Value == nil {
+		return nil, false
+	}
+	return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasValue() bool {
+	if o != nil && o.Value != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetValue gets a reference to the given int32 and assigns it to the Value field.
+func (o *NotificationAllOf) SetValue(v int32) {
+	o.Value = &v
+}
+
+// GetAggregation returns the Aggregation field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAggregation() string {
+	if o == nil || o.Aggregation == nil {
+		var ret string
+		return ret
+	}
+	return *o.Aggregation
+}
+
+// GetAggregationOk returns a tuple with the Aggregation field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAggregationOk() (*string, bool) {
+	if o == nil || o.Aggregation == nil {
+		return nil, false
+	}
+	return o.Aggregation, true
+}
+
+// HasAggregation returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAggregation() bool {
+	if o != nil && o.Aggregation != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAggregation gets a reference to the given string and assigns it to the Aggregation field.
+func (o *NotificationAllOf) SetAggregation(v string) {
+	o.Aggregation = &v
+}
+
+// GetIsIos returns the IsIos field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsIos() bool {
+	if o == nil || o.IsIos == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsIos
+}
+
+// GetIsIosOk returns a tuple with the IsIos field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsIosOk() (*bool, bool) {
+	if o == nil || o.IsIos == nil {
+		return nil, false
+	}
+	return o.IsIos, true
+}
+
+// HasIsIos returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsIos() bool {
+	if o != nil && o.IsIos != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsIos gets a reference to the given bool and assigns it to the IsIos field.
+func (o *NotificationAllOf) SetIsIos(v bool) {
+	o.IsIos = &v
+}
+
+// GetIsAndroid returns the IsAndroid field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsAndroid() bool {
+	if o == nil || o.IsAndroid == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAndroid
+}
+
+// GetIsAndroidOk returns a tuple with the IsAndroid field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsAndroidOk() (*bool, bool) {
+	if o == nil || o.IsAndroid == nil {
+		return nil, false
+	}
+	return o.IsAndroid, true
+}
+
+// HasIsAndroid returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsAndroid() bool {
+	if o != nil && o.IsAndroid != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAndroid gets a reference to the given bool and assigns it to the IsAndroid field.
+func (o *NotificationAllOf) SetIsAndroid(v bool) {
+	o.IsAndroid = &v
+}
+
+// GetIsHuawei returns the IsHuawei field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsHuawei() bool {
+	if o == nil || o.IsHuawei == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsHuawei
+}
+
+// GetIsHuaweiOk returns a tuple with the IsHuawei field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsHuaweiOk() (*bool, bool) {
+	if o == nil || o.IsHuawei == nil {
+		return nil, false
+	}
+	return o.IsHuawei, true
+}
+
+// HasIsHuawei returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsHuawei() bool {
+	if o != nil && o.IsHuawei != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsHuawei gets a reference to the given bool and assigns it to the IsHuawei field.
+func (o *NotificationAllOf) SetIsHuawei(v bool) {
+	o.IsHuawei = &v
+}
+
+// GetIsAnyWeb returns the IsAnyWeb field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsAnyWeb() bool {
+	if o == nil || o.IsAnyWeb == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAnyWeb
+}
+
+// GetIsAnyWebOk returns a tuple with the IsAnyWeb field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsAnyWebOk() (*bool, bool) {
+	if o == nil || o.IsAnyWeb == nil {
+		return nil, false
+	}
+	return o.IsAnyWeb, true
+}
+
+// HasIsAnyWeb returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsAnyWeb() bool {
+	if o != nil && o.IsAnyWeb != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAnyWeb gets a reference to the given bool and assigns it to the IsAnyWeb field.
+func (o *NotificationAllOf) SetIsAnyWeb(v bool) {
+	o.IsAnyWeb = &v
+}
+
+// GetIsChromeWeb returns the IsChromeWeb field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsChromeWeb() bool {
+	if o == nil || o.IsChromeWeb == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsChromeWeb
+}
+
+// GetIsChromeWebOk returns a tuple with the IsChromeWeb field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsChromeWebOk() (*bool, bool) {
+	if o == nil || o.IsChromeWeb == nil {
+		return nil, false
+	}
+	return o.IsChromeWeb, true
+}
+
+// HasIsChromeWeb returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsChromeWeb() bool {
+	if o != nil && o.IsChromeWeb != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsChromeWeb gets a reference to the given bool and assigns it to the IsChromeWeb field.
+func (o *NotificationAllOf) SetIsChromeWeb(v bool) {
+	o.IsChromeWeb = &v
+}
+
+// GetIsFirefox returns the IsFirefox field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsFirefox() bool {
+	if o == nil || o.IsFirefox == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsFirefox
+}
+
+// GetIsFirefoxOk returns a tuple with the IsFirefox field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsFirefoxOk() (*bool, bool) {
+	if o == nil || o.IsFirefox == nil {
+		return nil, false
+	}
+	return o.IsFirefox, true
+}
+
+// HasIsFirefox returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsFirefox() bool {
+	if o != nil && o.IsFirefox != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsFirefox gets a reference to the given bool and assigns it to the IsFirefox field.
+func (o *NotificationAllOf) SetIsFirefox(v bool) {
+	o.IsFirefox = &v
+}
+
+// GetIsSafari returns the IsSafari field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsSafari() bool {
+	if o == nil || o.IsSafari == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsSafari
+}
+
+// GetIsSafariOk returns a tuple with the IsSafari field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsSafariOk() (*bool, bool) {
+	if o == nil || o.IsSafari == nil {
+		return nil, false
+	}
+	return o.IsSafari, true
+}
+
+// HasIsSafari returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsSafari() bool {
+	if o != nil && o.IsSafari != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsSafari gets a reference to the given bool and assigns it to the IsSafari field.
+func (o *NotificationAllOf) SetIsSafari(v bool) {
+	o.IsSafari = &v
+}
+
+// GetIsWPWNS returns the IsWPWNS field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsWPWNS() bool {
+	if o == nil || o.IsWPWNS == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsWPWNS
+}
+
+// GetIsWPWNSOk returns a tuple with the IsWPWNS field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsWPWNSOk() (*bool, bool) {
+	if o == nil || o.IsWPWNS == nil {
+		return nil, false
+	}
+	return o.IsWPWNS, true
+}
+
+// HasIsWPWNS returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsWPWNS() bool {
+	if o != nil && o.IsWPWNS != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsWPWNS gets a reference to the given bool and assigns it to the IsWPWNS field.
+func (o *NotificationAllOf) SetIsWPWNS(v bool) {
+	o.IsWPWNS = &v
+}
+
+// GetIsAdm returns the IsAdm field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsAdm() bool {
+	if o == nil || o.IsAdm == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsAdm
+}
+
+// GetIsAdmOk returns a tuple with the IsAdm field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsAdmOk() (*bool, bool) {
+	if o == nil || o.IsAdm == nil {
+		return nil, false
+	}
+	return o.IsAdm, true
+}
+
+// HasIsAdm returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsAdm() bool {
+	if o != nil && o.IsAdm != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsAdm gets a reference to the given bool and assigns it to the IsAdm field.
+func (o *NotificationAllOf) SetIsAdm(v bool) {
+	o.IsAdm = &v
+}
+
+// GetIsChrome returns the IsChrome field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIsChrome() bool {
+	if o == nil || o.IsChrome == nil {
+		var ret bool
+		return ret
+	}
+	return *o.IsChrome
+}
+
+// GetIsChromeOk returns a tuple with the IsChrome field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIsChromeOk() (*bool, bool) {
+	if o == nil || o.IsChrome == nil {
+		return nil, false
+	}
+	return o.IsChrome, true
+}
+
+// HasIsChrome returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIsChrome() bool {
+	if o != nil && o.IsChrome != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIsChrome gets a reference to the given bool and assigns it to the IsChrome field.
+func (o *NotificationAllOf) SetIsChrome(v bool) {
+	o.IsChrome = &v
+}
+
+// GetChannelForExternalUserIds returns the ChannelForExternalUserIds field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChannelForExternalUserIds() string {
+	if o == nil || o.ChannelForExternalUserIds == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChannelForExternalUserIds
+}
+
+// GetChannelForExternalUserIdsOk returns a tuple with the ChannelForExternalUserIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChannelForExternalUserIdsOk() (*string, bool) {
+	if o == nil || o.ChannelForExternalUserIds == nil {
+		return nil, false
+	}
+	return o.ChannelForExternalUserIds, true
+}
+
+// HasChannelForExternalUserIds returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChannelForExternalUserIds() bool {
+	if o != nil && o.ChannelForExternalUserIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChannelForExternalUserIds gets a reference to the given string and assigns it to the ChannelForExternalUserIds field.
+func (o *NotificationAllOf) SetChannelForExternalUserIds(v string) {
+	o.ChannelForExternalUserIds = &v
+}
+
+// GetAppId returns the AppId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAppId() string {
+	if o == nil || o.AppId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppId
+}
+
+// GetAppIdOk returns a tuple with the AppId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAppIdOk() (*string, bool) {
+	if o == nil || o.AppId == nil {
+		return nil, false
+	}
+	return o.AppId, true
+}
+
+// HasAppId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAppId() bool {
+	if o != nil && o.AppId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppId gets a reference to the given string and assigns it to the AppId field.
+func (o *NotificationAllOf) SetAppId(v string) {
+	o.AppId = &v
+}
+
+// GetExternalId returns the ExternalId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetExternalId() string {
+	if o == nil || o.ExternalId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExternalId
+}
+
+// GetExternalIdOk returns a tuple with the ExternalId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetExternalIdOk() (*string, bool) {
+	if o == nil || o.ExternalId == nil {
+		return nil, false
+	}
+	return o.ExternalId, true
+}
+
+// HasExternalId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasExternalId() bool {
+	if o != nil && o.ExternalId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExternalId gets a reference to the given string and assigns it to the ExternalId field.
+func (o *NotificationAllOf) SetExternalId(v string) {
+	o.ExternalId = &v
+}
+
+// GetContents returns the Contents field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *NotificationAllOf) GetContents() StringMap {
+	if o == nil || o.Contents.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Contents.Get()
+}
+
+// GetContentsOk returns a tuple with the Contents field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *NotificationAllOf) GetContentsOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Contents.Get(), o.Contents.IsSet()
+}
+
+// HasContents returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasContents() bool {
+	if o != nil && o.Contents.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetContents gets a reference to the given NullableStringMap and assigns it to the Contents field.
+func (o *NotificationAllOf) SetContents(v StringMap) {
+	o.Contents.Set(&v)
+}
+// SetContentsNil sets the value for Contents to be an explicit nil
+func (o *NotificationAllOf) SetContentsNil() {
+	o.Contents.Set(nil)
+}
+
+// UnsetContents ensures that no value is present for Contents, not even an explicit nil
+func (o *NotificationAllOf) UnsetContents() {
+	o.Contents.Unset()
+}
+
+// GetHeadings returns the Headings field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *NotificationAllOf) GetHeadings() StringMap {
+	if o == nil || o.Headings.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Headings.Get()
+}
+
+// GetHeadingsOk returns a tuple with the Headings field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *NotificationAllOf) GetHeadingsOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Headings.Get(), o.Headings.IsSet()
+}
+
+// HasHeadings returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHeadings() bool {
+	if o != nil && o.Headings.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetHeadings gets a reference to the given NullableStringMap and assigns it to the Headings field.
+func (o *NotificationAllOf) SetHeadings(v StringMap) {
+	o.Headings.Set(&v)
+}
+// SetHeadingsNil sets the value for Headings to be an explicit nil
+func (o *NotificationAllOf) SetHeadingsNil() {
+	o.Headings.Set(nil)
+}
+
+// UnsetHeadings ensures that no value is present for Headings, not even an explicit nil
+func (o *NotificationAllOf) UnsetHeadings() {
+	o.Headings.Unset()
+}
+
+// GetSubtitle returns the Subtitle field value if set, zero value otherwise (both if not set or set to explicit null).
+func (o *NotificationAllOf) GetSubtitle() StringMap {
+	if o == nil || o.Subtitle.Get() == nil {
+		var ret StringMap
+		return ret
+	}
+	return *o.Subtitle.Get()
+}
+
+// GetSubtitleOk returns a tuple with the Subtitle field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+// NOTE: If the value is an explicit nil, `nil, true` will be returned
+func (o *NotificationAllOf) GetSubtitleOk() (*StringMap, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Subtitle.Get(), o.Subtitle.IsSet()
+}
+
+// HasSubtitle returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSubtitle() bool {
+	if o != nil && o.Subtitle.IsSet() {
+		return true
+	}
+
+	return false
+}
+
+// SetSubtitle gets a reference to the given NullableStringMap and assigns it to the Subtitle field.
+func (o *NotificationAllOf) SetSubtitle(v StringMap) {
+	o.Subtitle.Set(&v)
+}
+// SetSubtitleNil sets the value for Subtitle to be an explicit nil
+func (o *NotificationAllOf) SetSubtitleNil() {
+	o.Subtitle.Set(nil)
+}
+
+// UnsetSubtitle ensures that no value is present for Subtitle, not even an explicit nil
+func (o *NotificationAllOf) UnsetSubtitle() {
+	o.Subtitle.Unset()
+}
+
+// GetData returns the Data field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetData() map[string]interface{} {
+	if o == nil || o.Data == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Data
+}
+
+// GetDataOk returns a tuple with the Data field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetDataOk() (map[string]interface{}, bool) {
+	if o == nil || o.Data == nil {
+		return nil, false
+	}
+	return o.Data, true
+}
+
+// HasData returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasData() bool {
+	if o != nil && o.Data != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetData gets a reference to the given map[string]interface{} and assigns it to the Data field.
+func (o *NotificationAllOf) SetData(v map[string]interface{}) {
+	o.Data = v
+}
+
+// GetHuaweiMsgType returns the HuaweiMsgType field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiMsgType() string {
+	if o == nil || o.HuaweiMsgType == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiMsgType
+}
+
+// GetHuaweiMsgTypeOk returns a tuple with the HuaweiMsgType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiMsgTypeOk() (*string, bool) {
+	if o == nil || o.HuaweiMsgType == nil {
+		return nil, false
+	}
+	return o.HuaweiMsgType, true
+}
+
+// HasHuaweiMsgType returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiMsgType() bool {
+	if o != nil && o.HuaweiMsgType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiMsgType gets a reference to the given string and assigns it to the HuaweiMsgType field.
+func (o *NotificationAllOf) SetHuaweiMsgType(v string) {
+	o.HuaweiMsgType = &v
+}
+
+// GetUrl returns the Url field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetUrl() string {
+	if o == nil || o.Url == nil {
+		var ret string
+		return ret
+	}
+	return *o.Url
+}
+
+// GetUrlOk returns a tuple with the Url field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetUrlOk() (*string, bool) {
+	if o == nil || o.Url == nil {
+		return nil, false
+	}
+	return o.Url, true
+}
+
+// HasUrl returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasUrl() bool {
+	if o != nil && o.Url != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUrl gets a reference to the given string and assigns it to the Url field.
+func (o *NotificationAllOf) SetUrl(v string) {
+	o.Url = &v
+}
+
+// GetWebUrl returns the WebUrl field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetWebUrl() string {
+	if o == nil || o.WebUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.WebUrl
+}
+
+// GetWebUrlOk returns a tuple with the WebUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetWebUrlOk() (*string, bool) {
+	if o == nil || o.WebUrl == nil {
+		return nil, false
+	}
+	return o.WebUrl, true
+}
+
+// HasWebUrl returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasWebUrl() bool {
+	if o != nil && o.WebUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebUrl gets a reference to the given string and assigns it to the WebUrl field.
+func (o *NotificationAllOf) SetWebUrl(v string) {
+	o.WebUrl = &v
+}
+
+// GetAppUrl returns the AppUrl field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAppUrl() string {
+	if o == nil || o.AppUrl == nil {
+		var ret string
+		return ret
+	}
+	return *o.AppUrl
+}
+
+// GetAppUrlOk returns a tuple with the AppUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAppUrlOk() (*string, bool) {
+	if o == nil || o.AppUrl == nil {
+		return nil, false
+	}
+	return o.AppUrl, true
+}
+
+// HasAppUrl returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAppUrl() bool {
+	if o != nil && o.AppUrl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAppUrl gets a reference to the given string and assigns it to the AppUrl field.
+func (o *NotificationAllOf) SetAppUrl(v string) {
+	o.AppUrl = &v
+}
+
+// GetIosAttachments returns the IosAttachments field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIosAttachments() map[string]interface{} {
+	if o == nil || o.IosAttachments == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.IosAttachments
+}
+
+// GetIosAttachmentsOk returns a tuple with the IosAttachments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIosAttachmentsOk() (map[string]interface{}, bool) {
+	if o == nil || o.IosAttachments == nil {
+		return nil, false
+	}
+	return o.IosAttachments, true
+}
+
+// HasIosAttachments returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIosAttachments() bool {
+	if o != nil && o.IosAttachments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosAttachments gets a reference to the given map[string]interface{} and assigns it to the IosAttachments field.
+func (o *NotificationAllOf) SetIosAttachments(v map[string]interface{}) {
+	o.IosAttachments = v
+}
+
+// GetTemplateId returns the TemplateId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetTemplateId() string {
+	if o == nil || o.TemplateId == nil {
+		var ret string
+		return ret
+	}
+	return *o.TemplateId
+}
+
+// GetTemplateIdOk returns a tuple with the TemplateId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetTemplateIdOk() (*string, bool) {
+	if o == nil || o.TemplateId == nil {
+		return nil, false
+	}
+	return o.TemplateId, true
+}
+
+// HasTemplateId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasTemplateId() bool {
+	if o != nil && o.TemplateId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTemplateId gets a reference to the given string and assigns it to the TemplateId field.
+func (o *NotificationAllOf) SetTemplateId(v string) {
+	o.TemplateId = &v
+}
+
+// GetContentAvailable returns the ContentAvailable field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetContentAvailable() bool {
+	if o == nil || o.ContentAvailable == nil {
+		var ret bool
+		return ret
+	}
+	return *o.ContentAvailable
+}
+
+// GetContentAvailableOk returns a tuple with the ContentAvailable field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetContentAvailableOk() (*bool, bool) {
+	if o == nil || o.ContentAvailable == nil {
+		return nil, false
+	}
+	return o.ContentAvailable, true
+}
+
+// HasContentAvailable returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasContentAvailable() bool {
+	if o != nil && o.ContentAvailable != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetContentAvailable gets a reference to the given bool and assigns it to the ContentAvailable field.
+func (o *NotificationAllOf) SetContentAvailable(v bool) {
+	o.ContentAvailable = &v
+}
+
+// GetMutableContent returns the MutableContent field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetMutableContent() bool {
+	if o == nil || o.MutableContent == nil {
+		var ret bool
+		return ret
+	}
+	return *o.MutableContent
+}
+
+// GetMutableContentOk returns a tuple with the MutableContent field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetMutableContentOk() (*bool, bool) {
+	if o == nil || o.MutableContent == nil {
+		return nil, false
+	}
+	return o.MutableContent, true
+}
+
+// HasMutableContent returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasMutableContent() bool {
+	if o != nil && o.MutableContent != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMutableContent gets a reference to the given bool and assigns it to the MutableContent field.
+func (o *NotificationAllOf) SetMutableContent(v bool) {
+	o.MutableContent = &v
+}
+
+// GetTargetContentIdentifier returns the TargetContentIdentifier field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetTargetContentIdentifier() string {
+	if o == nil || o.TargetContentIdentifier == nil {
+		var ret string
+		return ret
+	}
+	return *o.TargetContentIdentifier
+}
+
+// GetTargetContentIdentifierOk returns a tuple with the TargetContentIdentifier field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetTargetContentIdentifierOk() (*string, bool) {
+	if o == nil || o.TargetContentIdentifier == nil {
+		return nil, false
+	}
+	return o.TargetContentIdentifier, true
+}
+
+// HasTargetContentIdentifier returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasTargetContentIdentifier() bool {
+	if o != nil && o.TargetContentIdentifier != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTargetContentIdentifier gets a reference to the given string and assigns it to the TargetContentIdentifier field.
+func (o *NotificationAllOf) SetTargetContentIdentifier(v string) {
+	o.TargetContentIdentifier = &v
+}
+
+// GetBigPicture returns the BigPicture field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetBigPicture() string {
+	if o == nil || o.BigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.BigPicture
+}
+
+// GetBigPictureOk returns a tuple with the BigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetBigPictureOk() (*string, bool) {
+	if o == nil || o.BigPicture == nil {
+		return nil, false
+	}
+	return o.BigPicture, true
+}
+
+// HasBigPicture returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasBigPicture() bool {
+	if o != nil && o.BigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBigPicture gets a reference to the given string and assigns it to the BigPicture field.
+func (o *NotificationAllOf) SetBigPicture(v string) {
+	o.BigPicture = &v
+}
+
+// GetHuaweiBigPicture returns the HuaweiBigPicture field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiBigPicture() string {
+	if o == nil || o.HuaweiBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiBigPicture
+}
+
+// GetHuaweiBigPictureOk returns a tuple with the HuaweiBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiBigPictureOk() (*string, bool) {
+	if o == nil || o.HuaweiBigPicture == nil {
+		return nil, false
+	}
+	return o.HuaweiBigPicture, true
+}
+
+// HasHuaweiBigPicture returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiBigPicture() bool {
+	if o != nil && o.HuaweiBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiBigPicture gets a reference to the given string and assigns it to the HuaweiBigPicture field.
+func (o *NotificationAllOf) SetHuaweiBigPicture(v string) {
+	o.HuaweiBigPicture = &v
+}
+
+// GetAdmBigPicture returns the AdmBigPicture field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmBigPicture() string {
+	if o == nil || o.AdmBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmBigPicture
+}
+
+// GetAdmBigPictureOk returns a tuple with the AdmBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmBigPictureOk() (*string, bool) {
+	if o == nil || o.AdmBigPicture == nil {
+		return nil, false
+	}
+	return o.AdmBigPicture, true
+}
+
+// HasAdmBigPicture returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmBigPicture() bool {
+	if o != nil && o.AdmBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmBigPicture gets a reference to the given string and assigns it to the AdmBigPicture field.
+func (o *NotificationAllOf) SetAdmBigPicture(v string) {
+	o.AdmBigPicture = &v
+}
+
+// GetChromeBigPicture returns the ChromeBigPicture field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChromeBigPicture() string {
+	if o == nil || o.ChromeBigPicture == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeBigPicture
+}
+
+// GetChromeBigPictureOk returns a tuple with the ChromeBigPicture field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChromeBigPictureOk() (*string, bool) {
+	if o == nil || o.ChromeBigPicture == nil {
+		return nil, false
+	}
+	return o.ChromeBigPicture, true
+}
+
+// HasChromeBigPicture returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChromeBigPicture() bool {
+	if o != nil && o.ChromeBigPicture != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeBigPicture gets a reference to the given string and assigns it to the ChromeBigPicture field.
+func (o *NotificationAllOf) SetChromeBigPicture(v string) {
+	o.ChromeBigPicture = &v
+}
+
+// GetChromeWebImage returns the ChromeWebImage field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChromeWebImage() string {
+	if o == nil || o.ChromeWebImage == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebImage
+}
+
+// GetChromeWebImageOk returns a tuple with the ChromeWebImage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChromeWebImageOk() (*string, bool) {
+	if o == nil || o.ChromeWebImage == nil {
+		return nil, false
+	}
+	return o.ChromeWebImage, true
+}
+
+// HasChromeWebImage returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChromeWebImage() bool {
+	if o != nil && o.ChromeWebImage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebImage gets a reference to the given string and assigns it to the ChromeWebImage field.
+func (o *NotificationAllOf) SetChromeWebImage(v string) {
+	o.ChromeWebImage = &v
+}
+
+// GetButtons returns the Buttons field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetButtons() []Button {
+	if o == nil || o.Buttons == nil {
+		var ret []Button
+		return ret
+	}
+	return o.Buttons
+}
+
+// GetButtonsOk returns a tuple with the Buttons field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetButtonsOk() ([]Button, bool) {
+	if o == nil || o.Buttons == nil {
+		return nil, false
+	}
+	return o.Buttons, true
+}
+
+// HasButtons returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasButtons() bool {
+	if o != nil && o.Buttons != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetButtons gets a reference to the given []Button and assigns it to the Buttons field.
+func (o *NotificationAllOf) SetButtons(v []Button) {
+	o.Buttons = v
+}
+
+// GetWebButtons returns the WebButtons field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetWebButtons() []Button {
+	if o == nil || o.WebButtons == nil {
+		var ret []Button
+		return ret
+	}
+	return o.WebButtons
+}
+
+// GetWebButtonsOk returns a tuple with the WebButtons field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetWebButtonsOk() ([]Button, bool) {
+	if o == nil || o.WebButtons == nil {
+		return nil, false
+	}
+	return o.WebButtons, true
+}
+
+// HasWebButtons returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasWebButtons() bool {
+	if o != nil && o.WebButtons != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebButtons gets a reference to the given []Button and assigns it to the WebButtons field.
+func (o *NotificationAllOf) SetWebButtons(v []Button) {
+	o.WebButtons = v
+}
+
+// GetIosCategory returns the IosCategory field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIosCategory() string {
+	if o == nil || o.IosCategory == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosCategory
+}
+
+// GetIosCategoryOk returns a tuple with the IosCategory field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIosCategoryOk() (*string, bool) {
+	if o == nil || o.IosCategory == nil {
+		return nil, false
+	}
+	return o.IosCategory, true
+}
+
+// HasIosCategory returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIosCategory() bool {
+	if o != nil && o.IosCategory != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosCategory gets a reference to the given string and assigns it to the IosCategory field.
+func (o *NotificationAllOf) SetIosCategory(v string) {
+	o.IosCategory = &v
+}
+
+// GetAndroidChannelId returns the AndroidChannelId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidChannelId() string {
+	if o == nil || o.AndroidChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidChannelId
+}
+
+// GetAndroidChannelIdOk returns a tuple with the AndroidChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidChannelIdOk() (*string, bool) {
+	if o == nil || o.AndroidChannelId == nil {
+		return nil, false
+	}
+	return o.AndroidChannelId, true
+}
+
+// HasAndroidChannelId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidChannelId() bool {
+	if o != nil && o.AndroidChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidChannelId gets a reference to the given string and assigns it to the AndroidChannelId field.
+func (o *NotificationAllOf) SetAndroidChannelId(v string) {
+	o.AndroidChannelId = &v
+}
+
+// GetHuaweiChannelId returns the HuaweiChannelId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiChannelId() string {
+	if o == nil || o.HuaweiChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiChannelId
+}
+
+// GetHuaweiChannelIdOk returns a tuple with the HuaweiChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiChannelIdOk() (*string, bool) {
+	if o == nil || o.HuaweiChannelId == nil {
+		return nil, false
+	}
+	return o.HuaweiChannelId, true
+}
+
+// HasHuaweiChannelId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiChannelId() bool {
+	if o != nil && o.HuaweiChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiChannelId gets a reference to the given string and assigns it to the HuaweiChannelId field.
+func (o *NotificationAllOf) SetHuaweiChannelId(v string) {
+	o.HuaweiChannelId = &v
+}
+
+// GetExistingAndroidChannelId returns the ExistingAndroidChannelId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetExistingAndroidChannelId() string {
+	if o == nil || o.ExistingAndroidChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExistingAndroidChannelId
+}
+
+// GetExistingAndroidChannelIdOk returns a tuple with the ExistingAndroidChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetExistingAndroidChannelIdOk() (*string, bool) {
+	if o == nil || o.ExistingAndroidChannelId == nil {
+		return nil, false
+	}
+	return o.ExistingAndroidChannelId, true
+}
+
+// HasExistingAndroidChannelId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasExistingAndroidChannelId() bool {
+	if o != nil && o.ExistingAndroidChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExistingAndroidChannelId gets a reference to the given string and assigns it to the ExistingAndroidChannelId field.
+func (o *NotificationAllOf) SetExistingAndroidChannelId(v string) {
+	o.ExistingAndroidChannelId = &v
+}
+
+// GetHuaweiExistingChannelId returns the HuaweiExistingChannelId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiExistingChannelId() string {
+	if o == nil || o.HuaweiExistingChannelId == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiExistingChannelId
+}
+
+// GetHuaweiExistingChannelIdOk returns a tuple with the HuaweiExistingChannelId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiExistingChannelIdOk() (*string, bool) {
+	if o == nil || o.HuaweiExistingChannelId == nil {
+		return nil, false
+	}
+	return o.HuaweiExistingChannelId, true
+}
+
+// HasHuaweiExistingChannelId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiExistingChannelId() bool {
+	if o != nil && o.HuaweiExistingChannelId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiExistingChannelId gets a reference to the given string and assigns it to the HuaweiExistingChannelId field.
+func (o *NotificationAllOf) SetHuaweiExistingChannelId(v string) {
+	o.HuaweiExistingChannelId = &v
+}
+
+// GetAndroidBackgroundLayout returns the AndroidBackgroundLayout field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidBackgroundLayout() NotificationAllOfAndroidBackgroundLayout {
+	if o == nil || o.AndroidBackgroundLayout == nil {
+		var ret NotificationAllOfAndroidBackgroundLayout
+		return ret
+	}
+	return *o.AndroidBackgroundLayout
+}
+
+// GetAndroidBackgroundLayoutOk returns a tuple with the AndroidBackgroundLayout field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidBackgroundLayoutOk() (*NotificationAllOfAndroidBackgroundLayout, bool) {
+	if o == nil || o.AndroidBackgroundLayout == nil {
+		return nil, false
+	}
+	return o.AndroidBackgroundLayout, true
+}
+
+// HasAndroidBackgroundLayout returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidBackgroundLayout() bool {
+	if o != nil && o.AndroidBackgroundLayout != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidBackgroundLayout gets a reference to the given NotificationAllOfAndroidBackgroundLayout and assigns it to the AndroidBackgroundLayout field.
+func (o *NotificationAllOf) SetAndroidBackgroundLayout(v NotificationAllOfAndroidBackgroundLayout) {
+	o.AndroidBackgroundLayout = &v
+}
+
+// GetSmallIcon returns the SmallIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSmallIcon() string {
+	if o == nil || o.SmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.SmallIcon
+}
+
+// GetSmallIconOk returns a tuple with the SmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSmallIconOk() (*string, bool) {
+	if o == nil || o.SmallIcon == nil {
+		return nil, false
+	}
+	return o.SmallIcon, true
+}
+
+// HasSmallIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSmallIcon() bool {
+	if o != nil && o.SmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmallIcon gets a reference to the given string and assigns it to the SmallIcon field.
+func (o *NotificationAllOf) SetSmallIcon(v string) {
+	o.SmallIcon = &v
+}
+
+// GetHuaweiSmallIcon returns the HuaweiSmallIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiSmallIcon() string {
+	if o == nil || o.HuaweiSmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiSmallIcon
+}
+
+// GetHuaweiSmallIconOk returns a tuple with the HuaweiSmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiSmallIconOk() (*string, bool) {
+	if o == nil || o.HuaweiSmallIcon == nil {
+		return nil, false
+	}
+	return o.HuaweiSmallIcon, true
+}
+
+// HasHuaweiSmallIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiSmallIcon() bool {
+	if o != nil && o.HuaweiSmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiSmallIcon gets a reference to the given string and assigns it to the HuaweiSmallIcon field.
+func (o *NotificationAllOf) SetHuaweiSmallIcon(v string) {
+	o.HuaweiSmallIcon = &v
+}
+
+// GetLargeIcon returns the LargeIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetLargeIcon() string {
+	if o == nil || o.LargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.LargeIcon
+}
+
+// GetLargeIconOk returns a tuple with the LargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetLargeIconOk() (*string, bool) {
+	if o == nil || o.LargeIcon == nil {
+		return nil, false
+	}
+	return o.LargeIcon, true
+}
+
+// HasLargeIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasLargeIcon() bool {
+	if o != nil && o.LargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLargeIcon gets a reference to the given string and assigns it to the LargeIcon field.
+func (o *NotificationAllOf) SetLargeIcon(v string) {
+	o.LargeIcon = &v
+}
+
+// GetHuaweiLargeIcon returns the HuaweiLargeIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiLargeIcon() string {
+	if o == nil || o.HuaweiLargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiLargeIcon
+}
+
+// GetHuaweiLargeIconOk returns a tuple with the HuaweiLargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiLargeIconOk() (*string, bool) {
+	if o == nil || o.HuaweiLargeIcon == nil {
+		return nil, false
+	}
+	return o.HuaweiLargeIcon, true
+}
+
+// HasHuaweiLargeIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiLargeIcon() bool {
+	if o != nil && o.HuaweiLargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiLargeIcon gets a reference to the given string and assigns it to the HuaweiLargeIcon field.
+func (o *NotificationAllOf) SetHuaweiLargeIcon(v string) {
+	o.HuaweiLargeIcon = &v
+}
+
+// GetAdmSmallIcon returns the AdmSmallIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmSmallIcon() string {
+	if o == nil || o.AdmSmallIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmSmallIcon
+}
+
+// GetAdmSmallIconOk returns a tuple with the AdmSmallIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmSmallIconOk() (*string, bool) {
+	if o == nil || o.AdmSmallIcon == nil {
+		return nil, false
+	}
+	return o.AdmSmallIcon, true
+}
+
+// HasAdmSmallIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmSmallIcon() bool {
+	if o != nil && o.AdmSmallIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmSmallIcon gets a reference to the given string and assigns it to the AdmSmallIcon field.
+func (o *NotificationAllOf) SetAdmSmallIcon(v string) {
+	o.AdmSmallIcon = &v
+}
+
+// GetAdmLargeIcon returns the AdmLargeIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmLargeIcon() string {
+	if o == nil || o.AdmLargeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmLargeIcon
+}
+
+// GetAdmLargeIconOk returns a tuple with the AdmLargeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmLargeIconOk() (*string, bool) {
+	if o == nil || o.AdmLargeIcon == nil {
+		return nil, false
+	}
+	return o.AdmLargeIcon, true
+}
+
+// HasAdmLargeIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmLargeIcon() bool {
+	if o != nil && o.AdmLargeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmLargeIcon gets a reference to the given string and assigns it to the AdmLargeIcon field.
+func (o *NotificationAllOf) SetAdmLargeIcon(v string) {
+	o.AdmLargeIcon = &v
+}
+
+// GetChromeWebIcon returns the ChromeWebIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChromeWebIcon() string {
+	if o == nil || o.ChromeWebIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebIcon
+}
+
+// GetChromeWebIconOk returns a tuple with the ChromeWebIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChromeWebIconOk() (*string, bool) {
+	if o == nil || o.ChromeWebIcon == nil {
+		return nil, false
+	}
+	return o.ChromeWebIcon, true
+}
+
+// HasChromeWebIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChromeWebIcon() bool {
+	if o != nil && o.ChromeWebIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebIcon gets a reference to the given string and assigns it to the ChromeWebIcon field.
+func (o *NotificationAllOf) SetChromeWebIcon(v string) {
+	o.ChromeWebIcon = &v
+}
+
+// GetChromeWebBadge returns the ChromeWebBadge field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChromeWebBadge() string {
+	if o == nil || o.ChromeWebBadge == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeWebBadge
+}
+
+// GetChromeWebBadgeOk returns a tuple with the ChromeWebBadge field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChromeWebBadgeOk() (*string, bool) {
+	if o == nil || o.ChromeWebBadge == nil {
+		return nil, false
+	}
+	return o.ChromeWebBadge, true
+}
+
+// HasChromeWebBadge returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChromeWebBadge() bool {
+	if o != nil && o.ChromeWebBadge != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebBadge gets a reference to the given string and assigns it to the ChromeWebBadge field.
+func (o *NotificationAllOf) SetChromeWebBadge(v string) {
+	o.ChromeWebBadge = &v
+}
+
+// GetFirefoxIcon returns the FirefoxIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetFirefoxIcon() string {
+	if o == nil || o.FirefoxIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.FirefoxIcon
+}
+
+// GetFirefoxIconOk returns a tuple with the FirefoxIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetFirefoxIconOk() (*string, bool) {
+	if o == nil || o.FirefoxIcon == nil {
+		return nil, false
+	}
+	return o.FirefoxIcon, true
+}
+
+// HasFirefoxIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasFirefoxIcon() bool {
+	if o != nil && o.FirefoxIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFirefoxIcon gets a reference to the given string and assigns it to the FirefoxIcon field.
+func (o *NotificationAllOf) SetFirefoxIcon(v string) {
+	o.FirefoxIcon = &v
+}
+
+// GetChromeIcon returns the ChromeIcon field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetChromeIcon() string {
+	if o == nil || o.ChromeIcon == nil {
+		var ret string
+		return ret
+	}
+	return *o.ChromeIcon
+}
+
+// GetChromeIconOk returns a tuple with the ChromeIcon field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetChromeIconOk() (*string, bool) {
+	if o == nil || o.ChromeIcon == nil {
+		return nil, false
+	}
+	return o.ChromeIcon, true
+}
+
+// HasChromeIcon returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasChromeIcon() bool {
+	if o != nil && o.ChromeIcon != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeIcon gets a reference to the given string and assigns it to the ChromeIcon field.
+func (o *NotificationAllOf) SetChromeIcon(v string) {
+	o.ChromeIcon = &v
+}
+
+// GetIosSound returns the IosSound field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIosSound() string {
+	if o == nil || o.IosSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosSound
+}
+
+// GetIosSoundOk returns a tuple with the IosSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIosSoundOk() (*string, bool) {
+	if o == nil || o.IosSound == nil {
+		return nil, false
+	}
+	return o.IosSound, true
+}
+
+// HasIosSound returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIosSound() bool {
+	if o != nil && o.IosSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosSound gets a reference to the given string and assigns it to the IosSound field.
+func (o *NotificationAllOf) SetIosSound(v string) {
+	o.IosSound = &v
+}
+
+// GetAndroidSound returns the AndroidSound field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidSound() string {
+	if o == nil || o.AndroidSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidSound
+}
+
+// GetAndroidSoundOk returns a tuple with the AndroidSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidSoundOk() (*string, bool) {
+	if o == nil || o.AndroidSound == nil {
+		return nil, false
+	}
+	return o.AndroidSound, true
+}
+
+// HasAndroidSound returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidSound() bool {
+	if o != nil && o.AndroidSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidSound gets a reference to the given string and assigns it to the AndroidSound field.
+func (o *NotificationAllOf) SetAndroidSound(v string) {
+	o.AndroidSound = &v
+}
+
+// GetHuaweiSound returns the HuaweiSound field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiSound() string {
+	if o == nil || o.HuaweiSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiSound
+}
+
+// GetHuaweiSoundOk returns a tuple with the HuaweiSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiSoundOk() (*string, bool) {
+	if o == nil || o.HuaweiSound == nil {
+		return nil, false
+	}
+	return o.HuaweiSound, true
+}
+
+// HasHuaweiSound returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiSound() bool {
+	if o != nil && o.HuaweiSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiSound gets a reference to the given string and assigns it to the HuaweiSound field.
+func (o *NotificationAllOf) SetHuaweiSound(v string) {
+	o.HuaweiSound = &v
+}
+
+// GetAdmSound returns the AdmSound field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmSound() string {
+	if o == nil || o.AdmSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmSound
+}
+
+// GetAdmSoundOk returns a tuple with the AdmSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmSoundOk() (*string, bool) {
+	if o == nil || o.AdmSound == nil {
+		return nil, false
+	}
+	return o.AdmSound, true
+}
+
+// HasAdmSound returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmSound() bool {
+	if o != nil && o.AdmSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmSound gets a reference to the given string and assigns it to the AdmSound field.
+func (o *NotificationAllOf) SetAdmSound(v string) {
+	o.AdmSound = &v
+}
+
+// GetWpWnsSound returns the WpWnsSound field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetWpWnsSound() string {
+	if o == nil || o.WpWnsSound == nil {
+		var ret string
+		return ret
+	}
+	return *o.WpWnsSound
+}
+
+// GetWpWnsSoundOk returns a tuple with the WpWnsSound field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetWpWnsSoundOk() (*string, bool) {
+	if o == nil || o.WpWnsSound == nil {
+		return nil, false
+	}
+	return o.WpWnsSound, true
+}
+
+// HasWpWnsSound returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasWpWnsSound() bool {
+	if o != nil && o.WpWnsSound != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWpWnsSound gets a reference to the given string and assigns it to the WpWnsSound field.
+func (o *NotificationAllOf) SetWpWnsSound(v string) {
+	o.WpWnsSound = &v
+}
+
+// GetAndroidLedColor returns the AndroidLedColor field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidLedColor() string {
+	if o == nil || o.AndroidLedColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidLedColor
+}
+
+// GetAndroidLedColorOk returns a tuple with the AndroidLedColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidLedColorOk() (*string, bool) {
+	if o == nil || o.AndroidLedColor == nil {
+		return nil, false
+	}
+	return o.AndroidLedColor, true
+}
+
+// HasAndroidLedColor returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidLedColor() bool {
+	if o != nil && o.AndroidLedColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidLedColor gets a reference to the given string and assigns it to the AndroidLedColor field.
+func (o *NotificationAllOf) SetAndroidLedColor(v string) {
+	o.AndroidLedColor = &v
+}
+
+// GetHuaweiLedColor returns the HuaweiLedColor field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiLedColor() string {
+	if o == nil || o.HuaweiLedColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiLedColor
+}
+
+// GetHuaweiLedColorOk returns a tuple with the HuaweiLedColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiLedColorOk() (*string, bool) {
+	if o == nil || o.HuaweiLedColor == nil {
+		return nil, false
+	}
+	return o.HuaweiLedColor, true
+}
+
+// HasHuaweiLedColor returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiLedColor() bool {
+	if o != nil && o.HuaweiLedColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiLedColor gets a reference to the given string and assigns it to the HuaweiLedColor field.
+func (o *NotificationAllOf) SetHuaweiLedColor(v string) {
+	o.HuaweiLedColor = &v
+}
+
+// GetAndroidAccentColor returns the AndroidAccentColor field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidAccentColor() string {
+	if o == nil || o.AndroidAccentColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidAccentColor
+}
+
+// GetAndroidAccentColorOk returns a tuple with the AndroidAccentColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidAccentColorOk() (*string, bool) {
+	if o == nil || o.AndroidAccentColor == nil {
+		return nil, false
+	}
+	return o.AndroidAccentColor, true
+}
+
+// HasAndroidAccentColor returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidAccentColor() bool {
+	if o != nil && o.AndroidAccentColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidAccentColor gets a reference to the given string and assigns it to the AndroidAccentColor field.
+func (o *NotificationAllOf) SetAndroidAccentColor(v string) {
+	o.AndroidAccentColor = &v
+}
+
+// GetHuaweiAccentColor returns the HuaweiAccentColor field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiAccentColor() string {
+	if o == nil || o.HuaweiAccentColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.HuaweiAccentColor
+}
+
+// GetHuaweiAccentColorOk returns a tuple with the HuaweiAccentColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiAccentColorOk() (*string, bool) {
+	if o == nil || o.HuaweiAccentColor == nil {
+		return nil, false
+	}
+	return o.HuaweiAccentColor, true
+}
+
+// HasHuaweiAccentColor returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiAccentColor() bool {
+	if o != nil && o.HuaweiAccentColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiAccentColor gets a reference to the given string and assigns it to the HuaweiAccentColor field.
+func (o *NotificationAllOf) SetHuaweiAccentColor(v string) {
+	o.HuaweiAccentColor = &v
+}
+
+// GetAndroidVisibility returns the AndroidVisibility field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidVisibility() int32 {
+	if o == nil || o.AndroidVisibility == nil {
+		var ret int32
+		return ret
+	}
+	return *o.AndroidVisibility
+}
+
+// GetAndroidVisibilityOk returns a tuple with the AndroidVisibility field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidVisibilityOk() (*int32, bool) {
+	if o == nil || o.AndroidVisibility == nil {
+		return nil, false
+	}
+	return o.AndroidVisibility, true
+}
+
+// HasAndroidVisibility returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidVisibility() bool {
+	if o != nil && o.AndroidVisibility != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidVisibility gets a reference to the given int32 and assigns it to the AndroidVisibility field.
+func (o *NotificationAllOf) SetAndroidVisibility(v int32) {
+	o.AndroidVisibility = &v
+}
+
+// GetHuaweiVisibility returns the HuaweiVisibility field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetHuaweiVisibility() int32 {
+	if o == nil || o.HuaweiVisibility == nil {
+		var ret int32
+		return ret
+	}
+	return *o.HuaweiVisibility
+}
+
+// GetHuaweiVisibilityOk returns a tuple with the HuaweiVisibility field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetHuaweiVisibilityOk() (*int32, bool) {
+	if o == nil || o.HuaweiVisibility == nil {
+		return nil, false
+	}
+	return o.HuaweiVisibility, true
+}
+
+// HasHuaweiVisibility returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasHuaweiVisibility() bool {
+	if o != nil && o.HuaweiVisibility != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHuaweiVisibility gets a reference to the given int32 and assigns it to the HuaweiVisibility field.
+func (o *NotificationAllOf) SetHuaweiVisibility(v int32) {
+	o.HuaweiVisibility = &v
+}
+
+// GetIosBadgeType returns the IosBadgeType field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIosBadgeType() string {
+	if o == nil || o.IosBadgeType == nil {
+		var ret string
+		return ret
+	}
+	return *o.IosBadgeType
+}
+
+// GetIosBadgeTypeOk returns a tuple with the IosBadgeType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIosBadgeTypeOk() (*string, bool) {
+	if o == nil || o.IosBadgeType == nil {
+		return nil, false
+	}
+	return o.IosBadgeType, true
+}
+
+// HasIosBadgeType returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIosBadgeType() bool {
+	if o != nil && o.IosBadgeType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosBadgeType gets a reference to the given string and assigns it to the IosBadgeType field.
+func (o *NotificationAllOf) SetIosBadgeType(v string) {
+	o.IosBadgeType = &v
+}
+
+// GetIosBadgeCount returns the IosBadgeCount field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetIosBadgeCount() int32 {
+	if o == nil || o.IosBadgeCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.IosBadgeCount
+}
+
+// GetIosBadgeCountOk returns a tuple with the IosBadgeCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetIosBadgeCountOk() (*int32, bool) {
+	if o == nil || o.IosBadgeCount == nil {
+		return nil, false
+	}
+	return o.IosBadgeCount, true
+}
+
+// HasIosBadgeCount returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasIosBadgeCount() bool {
+	if o != nil && o.IosBadgeCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIosBadgeCount gets a reference to the given int32 and assigns it to the IosBadgeCount field.
+func (o *NotificationAllOf) SetIosBadgeCount(v int32) {
+	o.IosBadgeCount = &v
+}
+
+// GetCollapseId returns the CollapseId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetCollapseId() string {
+	if o == nil || o.CollapseId == nil {
+		var ret string
+		return ret
+	}
+	return *o.CollapseId
+}
+
+// GetCollapseIdOk returns a tuple with the CollapseId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetCollapseIdOk() (*string, bool) {
+	if o == nil || o.CollapseId == nil {
+		return nil, false
+	}
+	return o.CollapseId, true
+}
+
+// HasCollapseId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasCollapseId() bool {
+	if o != nil && o.CollapseId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCollapseId gets a reference to the given string and assigns it to the CollapseId field.
+func (o *NotificationAllOf) SetCollapseId(v string) {
+	o.CollapseId = &v
+}
+
+// GetWebPushTopic returns the WebPushTopic field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetWebPushTopic() string {
+	if o == nil || o.WebPushTopic == nil {
+		var ret string
+		return ret
+	}
+	return *o.WebPushTopic
+}
+
+// GetWebPushTopicOk returns a tuple with the WebPushTopic field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetWebPushTopicOk() (*string, bool) {
+	if o == nil || o.WebPushTopic == nil {
+		return nil, false
+	}
+	return o.WebPushTopic, true
+}
+
+// HasWebPushTopic returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasWebPushTopic() bool {
+	if o != nil && o.WebPushTopic != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetWebPushTopic gets a reference to the given string and assigns it to the WebPushTopic field.
+func (o *NotificationAllOf) SetWebPushTopic(v string) {
+	o.WebPushTopic = &v
+}
+
+// GetApnsAlert returns the ApnsAlert field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetApnsAlert() map[string]interface{} {
+	if o == nil || o.ApnsAlert == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.ApnsAlert
+}
+
+// GetApnsAlertOk returns a tuple with the ApnsAlert field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetApnsAlertOk() (map[string]interface{}, bool) {
+	if o == nil || o.ApnsAlert == nil {
+		return nil, false
+	}
+	return o.ApnsAlert, true
+}
+
+// HasApnsAlert returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasApnsAlert() bool {
+	if o != nil && o.ApnsAlert != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsAlert gets a reference to the given map[string]interface{} and assigns it to the ApnsAlert field.
+func (o *NotificationAllOf) SetApnsAlert(v map[string]interface{}) {
+	o.ApnsAlert = v
+}
+
+// GetSendAfter returns the SendAfter field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSendAfter() string {
+	if o == nil || o.SendAfter == nil {
+		var ret string
+		return ret
+	}
+	return *o.SendAfter
+}
+
+// GetSendAfterOk returns a tuple with the SendAfter field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSendAfterOk() (*string, bool) {
+	if o == nil || o.SendAfter == nil {
+		return nil, false
+	}
+	return o.SendAfter, true
+}
+
+// HasSendAfter returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSendAfter() bool {
+	if o != nil && o.SendAfter != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSendAfter gets a reference to the given string and assigns it to the SendAfter field.
+func (o *NotificationAllOf) SetSendAfter(v string) {
+	o.SendAfter = &v
+}
+
+// GetDelayedOption returns the DelayedOption field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetDelayedOption() string {
+	if o == nil || o.DelayedOption == nil {
+		var ret string
+		return ret
+	}
+	return *o.DelayedOption
+}
+
+// GetDelayedOptionOk returns a tuple with the DelayedOption field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetDelayedOptionOk() (*string, bool) {
+	if o == nil || o.DelayedOption == nil {
+		return nil, false
+	}
+	return o.DelayedOption, true
+}
+
+// HasDelayedOption returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasDelayedOption() bool {
+	if o != nil && o.DelayedOption != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDelayedOption gets a reference to the given string and assigns it to the DelayedOption field.
+func (o *NotificationAllOf) SetDelayedOption(v string) {
+	o.DelayedOption = &v
+}
+
+// GetDeliveryTimeOfDay returns the DeliveryTimeOfDay field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetDeliveryTimeOfDay() string {
+	if o == nil || o.DeliveryTimeOfDay == nil {
+		var ret string
+		return ret
+	}
+	return *o.DeliveryTimeOfDay
+}
+
+// GetDeliveryTimeOfDayOk returns a tuple with the DeliveryTimeOfDay field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetDeliveryTimeOfDayOk() (*string, bool) {
+	if o == nil || o.DeliveryTimeOfDay == nil {
+		return nil, false
+	}
+	return o.DeliveryTimeOfDay, true
+}
+
+// HasDeliveryTimeOfDay returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasDeliveryTimeOfDay() bool {
+	if o != nil && o.DeliveryTimeOfDay != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDeliveryTimeOfDay gets a reference to the given string and assigns it to the DeliveryTimeOfDay field.
+func (o *NotificationAllOf) SetDeliveryTimeOfDay(v string) {
+	o.DeliveryTimeOfDay = &v
+}
+
+// GetTtl returns the Ttl field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetTtl() int32 {
+	if o == nil || o.Ttl == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Ttl
+}
+
+// GetTtlOk returns a tuple with the Ttl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetTtlOk() (*int32, bool) {
+	if o == nil || o.Ttl == nil {
+		return nil, false
+	}
+	return o.Ttl, true
+}
+
+// HasTtl returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasTtl() bool {
+	if o != nil && o.Ttl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTtl gets a reference to the given int32 and assigns it to the Ttl field.
+func (o *NotificationAllOf) SetTtl(v int32) {
+	o.Ttl = &v
+}
+
+// GetPriority returns the Priority field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetPriority() int32 {
+	if o == nil || o.Priority == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Priority
+}
+
+// GetPriorityOk returns a tuple with the Priority field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetPriorityOk() (*int32, bool) {
+	if o == nil || o.Priority == nil {
+		return nil, false
+	}
+	return o.Priority, true
+}
+
+// HasPriority returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasPriority() bool {
+	if o != nil && o.Priority != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPriority gets a reference to the given int32 and assigns it to the Priority field.
+func (o *NotificationAllOf) SetPriority(v int32) {
+	o.Priority = &v
+}
+
+// GetApnsPushTypeOverride returns the ApnsPushTypeOverride field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetApnsPushTypeOverride() string {
+	if o == nil || o.ApnsPushTypeOverride == nil {
+		var ret string
+		return ret
+	}
+	return *o.ApnsPushTypeOverride
+}
+
+// GetApnsPushTypeOverrideOk returns a tuple with the ApnsPushTypeOverride field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetApnsPushTypeOverrideOk() (*string, bool) {
+	if o == nil || o.ApnsPushTypeOverride == nil {
+		return nil, false
+	}
+	return o.ApnsPushTypeOverride, true
+}
+
+// HasApnsPushTypeOverride returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasApnsPushTypeOverride() bool {
+	if o != nil && o.ApnsPushTypeOverride != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetApnsPushTypeOverride gets a reference to the given string and assigns it to the ApnsPushTypeOverride field.
+func (o *NotificationAllOf) SetApnsPushTypeOverride(v string) {
+	o.ApnsPushTypeOverride = &v
+}
+
+// GetThrottleRatePerMinute returns the ThrottleRatePerMinute field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetThrottleRatePerMinute() string {
+	if o == nil || o.ThrottleRatePerMinute == nil {
+		var ret string
+		return ret
+	}
+	return *o.ThrottleRatePerMinute
+}
+
+// GetThrottleRatePerMinuteOk returns a tuple with the ThrottleRatePerMinute field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetThrottleRatePerMinuteOk() (*string, bool) {
+	if o == nil || o.ThrottleRatePerMinute == nil {
+		return nil, false
+	}
+	return o.ThrottleRatePerMinute, true
+}
+
+// HasThrottleRatePerMinute returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasThrottleRatePerMinute() bool {
+	if o != nil && o.ThrottleRatePerMinute != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetThrottleRatePerMinute gets a reference to the given string and assigns it to the ThrottleRatePerMinute field.
+func (o *NotificationAllOf) SetThrottleRatePerMinute(v string) {
+	o.ThrottleRatePerMinute = &v
+}
+
+// GetAndroidGroup returns the AndroidGroup field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidGroup() string {
+	if o == nil || o.AndroidGroup == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidGroup
+}
+
+// GetAndroidGroupOk returns a tuple with the AndroidGroup field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidGroupOk() (*string, bool) {
+	if o == nil || o.AndroidGroup == nil {
+		return nil, false
+	}
+	return o.AndroidGroup, true
+}
+
+// HasAndroidGroup returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidGroup() bool {
+	if o != nil && o.AndroidGroup != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidGroup gets a reference to the given string and assigns it to the AndroidGroup field.
+func (o *NotificationAllOf) SetAndroidGroup(v string) {
+	o.AndroidGroup = &v
+}
+
+// GetAndroidGroupMessage returns the AndroidGroupMessage field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAndroidGroupMessage() string {
+	if o == nil || o.AndroidGroupMessage == nil {
+		var ret string
+		return ret
+	}
+	return *o.AndroidGroupMessage
+}
+
+// GetAndroidGroupMessageOk returns a tuple with the AndroidGroupMessage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAndroidGroupMessageOk() (*string, bool) {
+	if o == nil || o.AndroidGroupMessage == nil {
+		return nil, false
+	}
+	return o.AndroidGroupMessage, true
+}
+
+// HasAndroidGroupMessage returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAndroidGroupMessage() bool {
+	if o != nil && o.AndroidGroupMessage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroidGroupMessage gets a reference to the given string and assigns it to the AndroidGroupMessage field.
+func (o *NotificationAllOf) SetAndroidGroupMessage(v string) {
+	o.AndroidGroupMessage = &v
+}
+
+// GetAdmGroup returns the AdmGroup field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmGroup() string {
+	if o == nil || o.AdmGroup == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdmGroup
+}
+
+// GetAdmGroupOk returns a tuple with the AdmGroup field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmGroupOk() (*string, bool) {
+	if o == nil || o.AdmGroup == nil {
+		return nil, false
+	}
+	return o.AdmGroup, true
+}
+
+// HasAdmGroup returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmGroup() bool {
+	if o != nil && o.AdmGroup != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmGroup gets a reference to the given string and assigns it to the AdmGroup field.
+func (o *NotificationAllOf) SetAdmGroup(v string) {
+	o.AdmGroup = &v
+}
+
+// GetAdmGroupMessage returns the AdmGroupMessage field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetAdmGroupMessage() map[string]interface{} {
+	if o == nil || o.AdmGroupMessage == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.AdmGroupMessage
+}
+
+// GetAdmGroupMessageOk returns a tuple with the AdmGroupMessage field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetAdmGroupMessageOk() (map[string]interface{}, bool) {
+	if o == nil || o.AdmGroupMessage == nil {
+		return nil, false
+	}
+	return o.AdmGroupMessage, true
+}
+
+// HasAdmGroupMessage returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasAdmGroupMessage() bool {
+	if o != nil && o.AdmGroupMessage != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdmGroupMessage gets a reference to the given map[string]interface{} and assigns it to the AdmGroupMessage field.
+func (o *NotificationAllOf) SetAdmGroupMessage(v map[string]interface{}) {
+	o.AdmGroupMessage = v
+}
+
+// GetThreadId returns the ThreadId field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetThreadId() string {
+	if o == nil || o.ThreadId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ThreadId
+}
+
+// GetThreadIdOk returns a tuple with the ThreadId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetThreadIdOk() (*string, bool) {
+	if o == nil || o.ThreadId == nil {
+		return nil, false
+	}
+	return o.ThreadId, true
+}
+
+// HasThreadId returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasThreadId() bool {
+	if o != nil && o.ThreadId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetThreadId gets a reference to the given string and assigns it to the ThreadId field.
+func (o *NotificationAllOf) SetThreadId(v string) {
+	o.ThreadId = &v
+}
+
+// GetSummaryArg returns the SummaryArg field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSummaryArg() string {
+	if o == nil || o.SummaryArg == nil {
+		var ret string
+		return ret
+	}
+	return *o.SummaryArg
+}
+
+// GetSummaryArgOk returns a tuple with the SummaryArg field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSummaryArgOk() (*string, bool) {
+	if o == nil || o.SummaryArg == nil {
+		return nil, false
+	}
+	return o.SummaryArg, true
+}
+
+// HasSummaryArg returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSummaryArg() bool {
+	if o != nil && o.SummaryArg != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSummaryArg gets a reference to the given string and assigns it to the SummaryArg field.
+func (o *NotificationAllOf) SetSummaryArg(v string) {
+	o.SummaryArg = &v
+}
+
+// GetSummaryArgCount returns the SummaryArgCount field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSummaryArgCount() int32 {
+	if o == nil || o.SummaryArgCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.SummaryArgCount
+}
+
+// GetSummaryArgCountOk returns a tuple with the SummaryArgCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSummaryArgCountOk() (*int32, bool) {
+	if o == nil || o.SummaryArgCount == nil {
+		return nil, false
+	}
+	return o.SummaryArgCount, true
+}
+
+// HasSummaryArgCount returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSummaryArgCount() bool {
+	if o != nil && o.SummaryArgCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSummaryArgCount gets a reference to the given int32 and assigns it to the SummaryArgCount field.
+func (o *NotificationAllOf) SetSummaryArgCount(v int32) {
+	o.SummaryArgCount = &v
+}
+
+// GetEmailSubect returns the EmailSubect field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetEmailSubect() string {
+	if o == nil || o.EmailSubect == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailSubect
+}
+
+// GetEmailSubectOk returns a tuple with the EmailSubect field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetEmailSubectOk() (*string, bool) {
+	if o == nil || o.EmailSubect == nil {
+		return nil, false
+	}
+	return o.EmailSubect, true
+}
+
+// HasEmailSubect returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasEmailSubect() bool {
+	if o != nil && o.EmailSubect != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailSubect gets a reference to the given string and assigns it to the EmailSubect field.
+func (o *NotificationAllOf) SetEmailSubect(v string) {
+	o.EmailSubect = &v
+}
+
+// GetEmailBody returns the EmailBody field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetEmailBody() string {
+	if o == nil || o.EmailBody == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailBody
+}
+
+// GetEmailBodyOk returns a tuple with the EmailBody field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetEmailBodyOk() (*string, bool) {
+	if o == nil || o.EmailBody == nil {
+		return nil, false
+	}
+	return o.EmailBody, true
+}
+
+// HasEmailBody returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasEmailBody() bool {
+	if o != nil && o.EmailBody != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailBody gets a reference to the given string and assigns it to the EmailBody field.
+func (o *NotificationAllOf) SetEmailBody(v string) {
+	o.EmailBody = &v
+}
+
+// GetEmailFromName returns the EmailFromName field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetEmailFromName() string {
+	if o == nil || o.EmailFromName == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailFromName
+}
+
+// GetEmailFromNameOk returns a tuple with the EmailFromName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetEmailFromNameOk() (*string, bool) {
+	if o == nil || o.EmailFromName == nil {
+		return nil, false
+	}
+	return o.EmailFromName, true
+}
+
+// HasEmailFromName returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasEmailFromName() bool {
+	if o != nil && o.EmailFromName != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailFromName gets a reference to the given string and assigns it to the EmailFromName field.
+func (o *NotificationAllOf) SetEmailFromName(v string) {
+	o.EmailFromName = &v
+}
+
+// GetEmailFromAddress returns the EmailFromAddress field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetEmailFromAddress() string {
+	if o == nil || o.EmailFromAddress == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailFromAddress
+}
+
+// GetEmailFromAddressOk returns a tuple with the EmailFromAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetEmailFromAddressOk() (*string, bool) {
+	if o == nil || o.EmailFromAddress == nil {
+		return nil, false
+	}
+	return o.EmailFromAddress, true
+}
+
+// HasEmailFromAddress returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasEmailFromAddress() bool {
+	if o != nil && o.EmailFromAddress != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailFromAddress gets a reference to the given string and assigns it to the EmailFromAddress field.
+func (o *NotificationAllOf) SetEmailFromAddress(v string) {
+	o.EmailFromAddress = &v
+}
+
+// GetSmsFrom returns the SmsFrom field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSmsFrom() string {
+	if o == nil || o.SmsFrom == nil {
+		var ret string
+		return ret
+	}
+	return *o.SmsFrom
+}
+
+// GetSmsFromOk returns a tuple with the SmsFrom field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSmsFromOk() (*string, bool) {
+	if o == nil || o.SmsFrom == nil {
+		return nil, false
+	}
+	return o.SmsFrom, true
+}
+
+// HasSmsFrom returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSmsFrom() bool {
+	if o != nil && o.SmsFrom != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmsFrom gets a reference to the given string and assigns it to the SmsFrom field.
+func (o *NotificationAllOf) SetSmsFrom(v string) {
+	o.SmsFrom = &v
+}
+
+// GetSmsMediaUrls returns the SmsMediaUrls field value if set, zero value otherwise.
+func (o *NotificationAllOf) GetSmsMediaUrls() []string {
+	if o == nil || o.SmsMediaUrls == nil {
+		var ret []string
+		return ret
+	}
+	return o.SmsMediaUrls
+}
+
+// GetSmsMediaUrlsOk returns a tuple with the SmsMediaUrls field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOf) GetSmsMediaUrlsOk() ([]string, bool) {
+	if o == nil || o.SmsMediaUrls == nil {
+		return nil, false
+	}
+	return o.SmsMediaUrls, true
+}
+
+// HasSmsMediaUrls returns a boolean if a field has been set.
+func (o *NotificationAllOf) HasSmsMediaUrls() bool {
+	if o != nil && o.SmsMediaUrls != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSmsMediaUrls gets a reference to the given []string and assigns it to the SmsMediaUrls field.
+func (o *NotificationAllOf) SetSmsMediaUrls(v []string) {
+	o.SmsMediaUrls = v
+}
+
+func (o NotificationAllOf) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.Value != nil {
+		toSerialize["value"] = o.Value
+	}
+	if o.Aggregation != nil {
+		toSerialize["aggregation"] = o.Aggregation
+	}
+	if o.IsIos != nil {
+		toSerialize["isIos"] = o.IsIos
+	}
+	if o.IsAndroid != nil {
+		toSerialize["isAndroid"] = o.IsAndroid
+	}
+	if o.IsHuawei != nil {
+		toSerialize["isHuawei"] = o.IsHuawei
+	}
+	if o.IsAnyWeb != nil {
+		toSerialize["isAnyWeb"] = o.IsAnyWeb
+	}
+	if o.IsChromeWeb != nil {
+		toSerialize["isChromeWeb"] = o.IsChromeWeb
+	}
+	if o.IsFirefox != nil {
+		toSerialize["isFirefox"] = o.IsFirefox
+	}
+	if o.IsSafari != nil {
+		toSerialize["isSafari"] = o.IsSafari
+	}
+	if o.IsWPWNS != nil {
+		toSerialize["isWP_WNS"] = o.IsWPWNS
+	}
+	if o.IsAdm != nil {
+		toSerialize["isAdm"] = o.IsAdm
+	}
+	if o.IsChrome != nil {
+		toSerialize["isChrome"] = o.IsChrome
+	}
+	if o.ChannelForExternalUserIds != nil {
+		toSerialize["channel_for_external_user_ids"] = o.ChannelForExternalUserIds
+	}
+	if o.AppId != nil {
+		toSerialize["app_id"] = o.AppId
+	}
+	if o.ExternalId != nil {
+		toSerialize["external_id"] = o.ExternalId
+	}
+	if o.Contents.IsSet() {
+		toSerialize["contents"] = o.Contents.Get()
+	}
+	if o.Headings.IsSet() {
+		toSerialize["headings"] = o.Headings.Get()
+	}
+	if o.Subtitle.IsSet() {
+		toSerialize["subtitle"] = o.Subtitle.Get()
+	}
+	if o.Data != nil {
+		toSerialize["data"] = o.Data
+	}
+	if o.HuaweiMsgType != nil {
+		toSerialize["huawei_msg_type"] = o.HuaweiMsgType
+	}
+	if o.Url != nil {
+		toSerialize["url"] = o.Url
+	}
+	if o.WebUrl != nil {
+		toSerialize["web_url"] = o.WebUrl
+	}
+	if o.AppUrl != nil {
+		toSerialize["app_url"] = o.AppUrl
+	}
+	if o.IosAttachments != nil {
+		toSerialize["ios_attachments"] = o.IosAttachments
+	}
+	if o.TemplateId != nil {
+		toSerialize["template_id"] = o.TemplateId
+	}
+	if o.ContentAvailable != nil {
+		toSerialize["content_available"] = o.ContentAvailable
+	}
+	if o.MutableContent != nil {
+		toSerialize["mutable_content"] = o.MutableContent
+	}
+	if o.TargetContentIdentifier != nil {
+		toSerialize["target_content_identifier"] = o.TargetContentIdentifier
+	}
+	if o.BigPicture != nil {
+		toSerialize["big_picture"] = o.BigPicture
+	}
+	if o.HuaweiBigPicture != nil {
+		toSerialize["huawei_big_picture"] = o.HuaweiBigPicture
+	}
+	if o.AdmBigPicture != nil {
+		toSerialize["adm_big_picture"] = o.AdmBigPicture
+	}
+	if o.ChromeBigPicture != nil {
+		toSerialize["chrome_big_picture"] = o.ChromeBigPicture
+	}
+	if o.ChromeWebImage != nil {
+		toSerialize["chrome_web_image"] = o.ChromeWebImage
+	}
+	if o.Buttons != nil {
+		toSerialize["buttons"] = o.Buttons
+	}
+	if o.WebButtons != nil {
+		toSerialize["web_buttons"] = o.WebButtons
+	}
+	if o.IosCategory != nil {
+		toSerialize["ios_category"] = o.IosCategory
+	}
+	if o.AndroidChannelId != nil {
+		toSerialize["android_channel_id"] = o.AndroidChannelId
+	}
+	if o.HuaweiChannelId != nil {
+		toSerialize["huawei_channel_id"] = o.HuaweiChannelId
+	}
+	if o.ExistingAndroidChannelId != nil {
+		toSerialize["existing_android_channel_id"] = o.ExistingAndroidChannelId
+	}
+	if o.HuaweiExistingChannelId != nil {
+		toSerialize["huawei_existing_channel_id"] = o.HuaweiExistingChannelId
+	}
+	if o.AndroidBackgroundLayout != nil {
+		toSerialize["android_background_layout"] = o.AndroidBackgroundLayout
+	}
+	if o.SmallIcon != nil {
+		toSerialize["small_icon"] = o.SmallIcon
+	}
+	if o.HuaweiSmallIcon != nil {
+		toSerialize["huawei_small_icon"] = o.HuaweiSmallIcon
+	}
+	if o.LargeIcon != nil {
+		toSerialize["large_icon"] = o.LargeIcon
+	}
+	if o.HuaweiLargeIcon != nil {
+		toSerialize["huawei_large_icon"] = o.HuaweiLargeIcon
+	}
+	if o.AdmSmallIcon != nil {
+		toSerialize["adm_small_icon"] = o.AdmSmallIcon
+	}
+	if o.AdmLargeIcon != nil {
+		toSerialize["adm_large_icon"] = o.AdmLargeIcon
+	}
+	if o.ChromeWebIcon != nil {
+		toSerialize["chrome_web_icon"] = o.ChromeWebIcon
+	}
+	if o.ChromeWebBadge != nil {
+		toSerialize["chrome_web_badge"] = o.ChromeWebBadge
+	}
+	if o.FirefoxIcon != nil {
+		toSerialize["firefox_icon"] = o.FirefoxIcon
+	}
+	if o.ChromeIcon != nil {
+		toSerialize["chrome_icon"] = o.ChromeIcon
+	}
+	if o.IosSound != nil {
+		toSerialize["ios_sound"] = o.IosSound
+	}
+	if o.AndroidSound != nil {
+		toSerialize["android_sound"] = o.AndroidSound
+	}
+	if o.HuaweiSound != nil {
+		toSerialize["huawei_sound"] = o.HuaweiSound
+	}
+	if o.AdmSound != nil {
+		toSerialize["adm_sound"] = o.AdmSound
+	}
+	if o.WpWnsSound != nil {
+		toSerialize["wp_wns_sound"] = o.WpWnsSound
+	}
+	if o.AndroidLedColor != nil {
+		toSerialize["android_led_color"] = o.AndroidLedColor
+	}
+	if o.HuaweiLedColor != nil {
+		toSerialize["huawei_led_color"] = o.HuaweiLedColor
+	}
+	if o.AndroidAccentColor != nil {
+		toSerialize["android_accent_color"] = o.AndroidAccentColor
+	}
+	if o.HuaweiAccentColor != nil {
+		toSerialize["huawei_accent_color"] = o.HuaweiAccentColor
+	}
+	if o.AndroidVisibility != nil {
+		toSerialize["android_visibility"] = o.AndroidVisibility
+	}
+	if o.HuaweiVisibility != nil {
+		toSerialize["huawei_visibility"] = o.HuaweiVisibility
+	}
+	if o.IosBadgeType != nil {
+		toSerialize["ios_badgeType"] = o.IosBadgeType
+	}
+	if o.IosBadgeCount != nil {
+		toSerialize["ios_badgeCount"] = o.IosBadgeCount
+	}
+	if o.CollapseId != nil {
+		toSerialize["collapse_id"] = o.CollapseId
+	}
+	if o.WebPushTopic != nil {
+		toSerialize["web_push_topic"] = o.WebPushTopic
+	}
+	if o.ApnsAlert != nil {
+		toSerialize["apns_alert"] = o.ApnsAlert
+	}
+	if o.SendAfter != nil {
+		toSerialize["send_after"] = o.SendAfter
+	}
+	if o.DelayedOption != nil {
+		toSerialize["delayed_option"] = o.DelayedOption
+	}
+	if o.DeliveryTimeOfDay != nil {
+		toSerialize["delivery_time_of_day"] = o.DeliveryTimeOfDay
+	}
+	if o.Ttl != nil {
+		toSerialize["ttl"] = o.Ttl
+	}
+	if o.Priority != nil {
+		toSerialize["priority"] = o.Priority
+	}
+	if o.ApnsPushTypeOverride != nil {
+		toSerialize["apns_push_type_override"] = o.ApnsPushTypeOverride
+	}
+	if o.ThrottleRatePerMinute != nil {
+		toSerialize["throttle_rate_per_minute"] = o.ThrottleRatePerMinute
+	}
+	if o.AndroidGroup != nil {
+		toSerialize["android_group"] = o.AndroidGroup
+	}
+	if o.AndroidGroupMessage != nil {
+		toSerialize["android_group_message"] = o.AndroidGroupMessage
+	}
+	if o.AdmGroup != nil {
+		toSerialize["adm_group"] = o.AdmGroup
+	}
+	if o.AdmGroupMessage != nil {
+		toSerialize["adm_group_message"] = o.AdmGroupMessage
+	}
+	if o.ThreadId != nil {
+		toSerialize["thread_id"] = o.ThreadId
+	}
+	if o.SummaryArg != nil {
+		toSerialize["summary_arg"] = o.SummaryArg
+	}
+	if o.SummaryArgCount != nil {
+		toSerialize["summary_arg_count"] = o.SummaryArgCount
+	}
+	if o.EmailSubect != nil {
+		toSerialize["email_subect"] = o.EmailSubect
+	}
+	if o.EmailBody != nil {
+		toSerialize["email_body"] = o.EmailBody
+	}
+	if o.EmailFromName != nil {
+		toSerialize["email_from_name"] = o.EmailFromName
+	}
+	if o.EmailFromAddress != nil {
+		toSerialize["email_from_address"] = o.EmailFromAddress
+	}
+	if o.SmsFrom != nil {
+		toSerialize["sms_from"] = o.SmsFrom
+	}
+	if o.SmsMediaUrls != nil {
+		toSerialize["sms_media_urls"] = o.SmsMediaUrls
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *NotificationAllOf) UnmarshalJSON(bytes []byte) (err error) {
+	varNotificationAllOf := _NotificationAllOf{}
+
+	if err = json.Unmarshal(bytes, &varNotificationAllOf); err == nil {
+		*o = NotificationAllOf(varNotificationAllOf)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "value")
+		delete(additionalProperties, "aggregation")
+		delete(additionalProperties, "isIos")
+		delete(additionalProperties, "isAndroid")
+		delete(additionalProperties, "isHuawei")
+		delete(additionalProperties, "isAnyWeb")
+		delete(additionalProperties, "isChromeWeb")
+		delete(additionalProperties, "isFirefox")
+		delete(additionalProperties, "isSafari")
+		delete(additionalProperties, "isWP_WNS")
+		delete(additionalProperties, "isAdm")
+		delete(additionalProperties, "isChrome")
+		delete(additionalProperties, "channel_for_external_user_ids")
+		delete(additionalProperties, "app_id")
+		delete(additionalProperties, "external_id")
+		delete(additionalProperties, "contents")
+		delete(additionalProperties, "headings")
+		delete(additionalProperties, "subtitle")
+		delete(additionalProperties, "data")
+		delete(additionalProperties, "huawei_msg_type")
+		delete(additionalProperties, "url")
+		delete(additionalProperties, "web_url")
+		delete(additionalProperties, "app_url")
+		delete(additionalProperties, "ios_attachments")
+		delete(additionalProperties, "template_id")
+		delete(additionalProperties, "content_available")
+		delete(additionalProperties, "mutable_content")
+		delete(additionalProperties, "target_content_identifier")
+		delete(additionalProperties, "big_picture")
+		delete(additionalProperties, "huawei_big_picture")
+		delete(additionalProperties, "adm_big_picture")
+		delete(additionalProperties, "chrome_big_picture")
+		delete(additionalProperties, "chrome_web_image")
+		delete(additionalProperties, "buttons")
+		delete(additionalProperties, "web_buttons")
+		delete(additionalProperties, "ios_category")
+		delete(additionalProperties, "android_channel_id")
+		delete(additionalProperties, "huawei_channel_id")
+		delete(additionalProperties, "existing_android_channel_id")
+		delete(additionalProperties, "huawei_existing_channel_id")
+		delete(additionalProperties, "android_background_layout")
+		delete(additionalProperties, "small_icon")
+		delete(additionalProperties, "huawei_small_icon")
+		delete(additionalProperties, "large_icon")
+		delete(additionalProperties, "huawei_large_icon")
+		delete(additionalProperties, "adm_small_icon")
+		delete(additionalProperties, "adm_large_icon")
+		delete(additionalProperties, "chrome_web_icon")
+		delete(additionalProperties, "chrome_web_badge")
+		delete(additionalProperties, "firefox_icon")
+		delete(additionalProperties, "chrome_icon")
+		delete(additionalProperties, "ios_sound")
+		delete(additionalProperties, "android_sound")
+		delete(additionalProperties, "huawei_sound")
+		delete(additionalProperties, "adm_sound")
+		delete(additionalProperties, "wp_wns_sound")
+		delete(additionalProperties, "android_led_color")
+		delete(additionalProperties, "huawei_led_color")
+		delete(additionalProperties, "android_accent_color")
+		delete(additionalProperties, "huawei_accent_color")
+		delete(additionalProperties, "android_visibility")
+		delete(additionalProperties, "huawei_visibility")
+		delete(additionalProperties, "ios_badgeType")
+		delete(additionalProperties, "ios_badgeCount")
+		delete(additionalProperties, "collapse_id")
+		delete(additionalProperties, "web_push_topic")
+		delete(additionalProperties, "apns_alert")
+		delete(additionalProperties, "send_after")
+		delete(additionalProperties, "delayed_option")
+		delete(additionalProperties, "delivery_time_of_day")
+		delete(additionalProperties, "ttl")
+		delete(additionalProperties, "priority")
+		delete(additionalProperties, "apns_push_type_override")
+		delete(additionalProperties, "throttle_rate_per_minute")
+		delete(additionalProperties, "android_group")
+		delete(additionalProperties, "android_group_message")
+		delete(additionalProperties, "adm_group")
+		delete(additionalProperties, "adm_group_message")
+		delete(additionalProperties, "thread_id")
+		delete(additionalProperties, "summary_arg")
+		delete(additionalProperties, "summary_arg_count")
+		delete(additionalProperties, "email_subect")
+		delete(additionalProperties, "email_body")
+		delete(additionalProperties, "email_from_name")
+		delete(additionalProperties, "email_from_address")
+		delete(additionalProperties, "sms_from")
+		delete(additionalProperties, "sms_media_urls")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableNotificationAllOf struct {
+	value *NotificationAllOf
+	isSet bool
+}
+
+func (v NullableNotificationAllOf) Get() *NotificationAllOf {
+	return v.value
+}
+
+func (v *NullableNotificationAllOf) Set(val *NotificationAllOf) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotificationAllOf) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotificationAllOf) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotificationAllOf(val *NotificationAllOf) *NullableNotificationAllOf {
+	return &NullableNotificationAllOf{value: val, isSet: true}
+}
+
+func (v NullableNotificationAllOf) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotificationAllOf) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification_all_of_android_background_layout.go b/model_notification_all_of_android_background_layout.go
new file mode 100644
index 0000000..a2a586b
--- /dev/null
+++ b/model_notification_all_of_android_background_layout.go
@@ -0,0 +1,218 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// NotificationAllOfAndroidBackgroundLayout Channel: Push Notifications Platform: Android Allowing setting a background image for the notification. This is a JSON object containing the following keys. See our Background Image documentation for image sizes. 
+type NotificationAllOfAndroidBackgroundLayout struct {
+	// Asset file, android resource name, or URL to remote image.
+	Image *string `json:"image,omitempty"`
+	// Title text color ARGB Hex format. Example(Blue) \"FF0000FF\".
+	HeadingsColor *string `json:"headings_color,omitempty"`
+	// Body text color ARGB Hex format. Example(Red) \"FFFF0000\".
+	ContentsColor *string `json:"contents_color,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _NotificationAllOfAndroidBackgroundLayout NotificationAllOfAndroidBackgroundLayout
+
+// NewNotificationAllOfAndroidBackgroundLayout instantiates a new NotificationAllOfAndroidBackgroundLayout object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewNotificationAllOfAndroidBackgroundLayout() *NotificationAllOfAndroidBackgroundLayout {
+	this := NotificationAllOfAndroidBackgroundLayout{}
+	return &this
+}
+
+// NewNotificationAllOfAndroidBackgroundLayoutWithDefaults instantiates a new NotificationAllOfAndroidBackgroundLayout object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewNotificationAllOfAndroidBackgroundLayoutWithDefaults() *NotificationAllOfAndroidBackgroundLayout {
+	this := NotificationAllOfAndroidBackgroundLayout{}
+	return &this
+}
+
+// GetImage returns the Image field value if set, zero value otherwise.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetImage() string {
+	if o == nil || o.Image == nil {
+		var ret string
+		return ret
+	}
+	return *o.Image
+}
+
+// GetImageOk returns a tuple with the Image field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetImageOk() (*string, bool) {
+	if o == nil || o.Image == nil {
+		return nil, false
+	}
+	return o.Image, true
+}
+
+// HasImage returns a boolean if a field has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) HasImage() bool {
+	if o != nil && o.Image != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetImage gets a reference to the given string and assigns it to the Image field.
+func (o *NotificationAllOfAndroidBackgroundLayout) SetImage(v string) {
+	o.Image = &v
+}
+
+// GetHeadingsColor returns the HeadingsColor field value if set, zero value otherwise.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetHeadingsColor() string {
+	if o == nil || o.HeadingsColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.HeadingsColor
+}
+
+// GetHeadingsColorOk returns a tuple with the HeadingsColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetHeadingsColorOk() (*string, bool) {
+	if o == nil || o.HeadingsColor == nil {
+		return nil, false
+	}
+	return o.HeadingsColor, true
+}
+
+// HasHeadingsColor returns a boolean if a field has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) HasHeadingsColor() bool {
+	if o != nil && o.HeadingsColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHeadingsColor gets a reference to the given string and assigns it to the HeadingsColor field.
+func (o *NotificationAllOfAndroidBackgroundLayout) SetHeadingsColor(v string) {
+	o.HeadingsColor = &v
+}
+
+// GetContentsColor returns the ContentsColor field value if set, zero value otherwise.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetContentsColor() string {
+	if o == nil || o.ContentsColor == nil {
+		var ret string
+		return ret
+	}
+	return *o.ContentsColor
+}
+
+// GetContentsColorOk returns a tuple with the ContentsColor field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) GetContentsColorOk() (*string, bool) {
+	if o == nil || o.ContentsColor == nil {
+		return nil, false
+	}
+	return o.ContentsColor, true
+}
+
+// HasContentsColor returns a boolean if a field has been set.
+func (o *NotificationAllOfAndroidBackgroundLayout) HasContentsColor() bool {
+	if o != nil && o.ContentsColor != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetContentsColor gets a reference to the given string and assigns it to the ContentsColor field.
+func (o *NotificationAllOfAndroidBackgroundLayout) SetContentsColor(v string) {
+	o.ContentsColor = &v
+}
+
+func (o NotificationAllOfAndroidBackgroundLayout) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Image != nil {
+		toSerialize["image"] = o.Image
+	}
+	if o.HeadingsColor != nil {
+		toSerialize["headings_color"] = o.HeadingsColor
+	}
+	if o.ContentsColor != nil {
+		toSerialize["contents_color"] = o.ContentsColor
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *NotificationAllOfAndroidBackgroundLayout) UnmarshalJSON(bytes []byte) (err error) {
+	varNotificationAllOfAndroidBackgroundLayout := _NotificationAllOfAndroidBackgroundLayout{}
+
+	if err = json.Unmarshal(bytes, &varNotificationAllOfAndroidBackgroundLayout); err == nil {
+		*o = NotificationAllOfAndroidBackgroundLayout(varNotificationAllOfAndroidBackgroundLayout)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "image")
+		delete(additionalProperties, "headings_color")
+		delete(additionalProperties, "contents_color")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableNotificationAllOfAndroidBackgroundLayout struct {
+	value *NotificationAllOfAndroidBackgroundLayout
+	isSet bool
+}
+
+func (v NullableNotificationAllOfAndroidBackgroundLayout) Get() *NotificationAllOfAndroidBackgroundLayout {
+	return v.value
+}
+
+func (v *NullableNotificationAllOfAndroidBackgroundLayout) Set(val *NotificationAllOfAndroidBackgroundLayout) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotificationAllOfAndroidBackgroundLayout) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotificationAllOfAndroidBackgroundLayout) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotificationAllOfAndroidBackgroundLayout(val *NotificationAllOfAndroidBackgroundLayout) *NullableNotificationAllOfAndroidBackgroundLayout {
+	return &NullableNotificationAllOfAndroidBackgroundLayout{value: val, isSet: true}
+}
+
+func (v NullableNotificationAllOfAndroidBackgroundLayout) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotificationAllOfAndroidBackgroundLayout) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification_slice.go b/model_notification_slice.go
new file mode 100644
index 0000000..28d7f42
--- /dev/null
+++ b/model_notification_slice.go
@@ -0,0 +1,252 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// NotificationSlice struct for NotificationSlice
+type NotificationSlice struct {
+	TotalCount *int32 `json:"total_count,omitempty"`
+	Offset *int32 `json:"offset,omitempty"`
+	Limit *int32 `json:"limit,omitempty"`
+	Notifications []Notification `json:"notifications,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _NotificationSlice NotificationSlice
+
+// NewNotificationSlice instantiates a new NotificationSlice object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewNotificationSlice() *NotificationSlice {
+	this := NotificationSlice{}
+	return &this
+}
+
+// NewNotificationSliceWithDefaults instantiates a new NotificationSlice object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewNotificationSliceWithDefaults() *NotificationSlice {
+	this := NotificationSlice{}
+	return &this
+}
+
+// GetTotalCount returns the TotalCount field value if set, zero value otherwise.
+func (o *NotificationSlice) GetTotalCount() int32 {
+	if o == nil || o.TotalCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TotalCount
+}
+
+// GetTotalCountOk returns a tuple with the TotalCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationSlice) GetTotalCountOk() (*int32, bool) {
+	if o == nil || o.TotalCount == nil {
+		return nil, false
+	}
+	return o.TotalCount, true
+}
+
+// HasTotalCount returns a boolean if a field has been set.
+func (o *NotificationSlice) HasTotalCount() bool {
+	if o != nil && o.TotalCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTotalCount gets a reference to the given int32 and assigns it to the TotalCount field.
+func (o *NotificationSlice) SetTotalCount(v int32) {
+	o.TotalCount = &v
+}
+
+// GetOffset returns the Offset field value if set, zero value otherwise.
+func (o *NotificationSlice) GetOffset() int32 {
+	if o == nil || o.Offset == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Offset
+}
+
+// GetOffsetOk returns a tuple with the Offset field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationSlice) GetOffsetOk() (*int32, bool) {
+	if o == nil || o.Offset == nil {
+		return nil, false
+	}
+	return o.Offset, true
+}
+
+// HasOffset returns a boolean if a field has been set.
+func (o *NotificationSlice) HasOffset() bool {
+	if o != nil && o.Offset != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOffset gets a reference to the given int32 and assigns it to the Offset field.
+func (o *NotificationSlice) SetOffset(v int32) {
+	o.Offset = &v
+}
+
+// GetLimit returns the Limit field value if set, zero value otherwise.
+func (o *NotificationSlice) GetLimit() int32 {
+	if o == nil || o.Limit == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Limit
+}
+
+// GetLimitOk returns a tuple with the Limit field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationSlice) GetLimitOk() (*int32, bool) {
+	if o == nil || o.Limit == nil {
+		return nil, false
+	}
+	return o.Limit, true
+}
+
+// HasLimit returns a boolean if a field has been set.
+func (o *NotificationSlice) HasLimit() bool {
+	if o != nil && o.Limit != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLimit gets a reference to the given int32 and assigns it to the Limit field.
+func (o *NotificationSlice) SetLimit(v int32) {
+	o.Limit = &v
+}
+
+// GetNotifications returns the Notifications field value if set, zero value otherwise.
+func (o *NotificationSlice) GetNotifications() []Notification {
+	if o == nil || o.Notifications == nil {
+		var ret []Notification
+		return ret
+	}
+	return o.Notifications
+}
+
+// GetNotificationsOk returns a tuple with the Notifications field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *NotificationSlice) GetNotificationsOk() ([]Notification, bool) {
+	if o == nil || o.Notifications == nil {
+		return nil, false
+	}
+	return o.Notifications, true
+}
+
+// HasNotifications returns a boolean if a field has been set.
+func (o *NotificationSlice) HasNotifications() bool {
+	if o != nil && o.Notifications != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNotifications gets a reference to the given []Notification and assigns it to the Notifications field.
+func (o *NotificationSlice) SetNotifications(v []Notification) {
+	o.Notifications = v
+}
+
+func (o NotificationSlice) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.TotalCount != nil {
+		toSerialize["total_count"] = o.TotalCount
+	}
+	if o.Offset != nil {
+		toSerialize["offset"] = o.Offset
+	}
+	if o.Limit != nil {
+		toSerialize["limit"] = o.Limit
+	}
+	if o.Notifications != nil {
+		toSerialize["notifications"] = o.Notifications
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *NotificationSlice) UnmarshalJSON(bytes []byte) (err error) {
+	varNotificationSlice := _NotificationSlice{}
+
+	if err = json.Unmarshal(bytes, &varNotificationSlice); err == nil {
+		*o = NotificationSlice(varNotificationSlice)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "total_count")
+		delete(additionalProperties, "offset")
+		delete(additionalProperties, "limit")
+		delete(additionalProperties, "notifications")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableNotificationSlice struct {
+	value *NotificationSlice
+	isSet bool
+}
+
+func (v NullableNotificationSlice) Get() *NotificationSlice {
+	return v.value
+}
+
+func (v *NullableNotificationSlice) Set(val *NotificationSlice) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotificationSlice) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotificationSlice) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotificationSlice(val *NotificationSlice) *NullableNotificationSlice {
+	return &NullableNotificationSlice{value: val, isSet: true}
+}
+
+func (v NullableNotificationSlice) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotificationSlice) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_notification_target.go b/model_notification_target.go
new file mode 100644
index 0000000..f5884bd
--- /dev/null
+++ b/model_notification_target.go
@@ -0,0 +1,124 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+	"fmt"
+)
+
+// NotificationTarget struct for NotificationTarget
+type NotificationTarget struct {
+	FilterNotificationTarget *FilterNotificationTarget
+	PlayerNotificationTarget *PlayerNotificationTarget
+	SegmentNotificationTarget *SegmentNotificationTarget
+}
+
+// Unmarshal JSON data into any of the pointers in the struct
+func (dst *NotificationTarget) UnmarshalJSON(data []byte) error {
+	var err error
+	// try to unmarshal JSON data into FilterNotificationTarget
+	err = json.Unmarshal(data, &dst.FilterNotificationTarget);
+	if err == nil {
+		jsonFilterNotificationTarget, _ := json.Marshal(dst.FilterNotificationTarget)
+		if string(jsonFilterNotificationTarget) == "{}" { // empty struct
+			dst.FilterNotificationTarget = nil
+		} else {
+			return nil // data stored in dst.FilterNotificationTarget, return on the first match
+		}
+	} else {
+		dst.FilterNotificationTarget = nil
+	}
+
+	// try to unmarshal JSON data into PlayerNotificationTarget
+	err = json.Unmarshal(data, &dst.PlayerNotificationTarget);
+	if err == nil {
+		jsonPlayerNotificationTarget, _ := json.Marshal(dst.PlayerNotificationTarget)
+		if string(jsonPlayerNotificationTarget) == "{}" { // empty struct
+			dst.PlayerNotificationTarget = nil
+		} else {
+			return nil // data stored in dst.PlayerNotificationTarget, return on the first match
+		}
+	} else {
+		dst.PlayerNotificationTarget = nil
+	}
+
+	// try to unmarshal JSON data into SegmentNotificationTarget
+	err = json.Unmarshal(data, &dst.SegmentNotificationTarget);
+	if err == nil {
+		jsonSegmentNotificationTarget, _ := json.Marshal(dst.SegmentNotificationTarget)
+		if string(jsonSegmentNotificationTarget) == "{}" { // empty struct
+			dst.SegmentNotificationTarget = nil
+		} else {
+			return nil // data stored in dst.SegmentNotificationTarget, return on the first match
+		}
+	} else {
+		dst.SegmentNotificationTarget = nil
+	}
+
+	return fmt.Errorf("Data failed to match schemas in anyOf(NotificationTarget)")
+}
+
+// Marshal data from the first non-nil pointers in the struct to JSON
+func (src *NotificationTarget) MarshalJSON() ([]byte, error) {
+	if src.FilterNotificationTarget != nil {
+		return json.Marshal(&src.FilterNotificationTarget)
+	}
+
+	if src.PlayerNotificationTarget != nil {
+		return json.Marshal(&src.PlayerNotificationTarget)
+	}
+
+	if src.SegmentNotificationTarget != nil {
+		return json.Marshal(&src.SegmentNotificationTarget)
+	}
+
+	return nil, nil // no data in anyOf schemas
+}
+
+type NullableNotificationTarget struct {
+	value *NotificationTarget
+	isSet bool
+}
+
+func (v NullableNotificationTarget) Get() *NotificationTarget {
+	return v.value
+}
+
+func (v *NullableNotificationTarget) Set(val *NotificationTarget) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableNotificationTarget) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableNotificationTarget) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableNotificationTarget(val *NotificationTarget) *NullableNotificationTarget {
+	return &NullableNotificationTarget{value: val, isSet: true}
+}
+
+func (v NullableNotificationTarget) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableNotificationTarget) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_operator.go b/model_operator.go
new file mode 100644
index 0000000..9b96087
--- /dev/null
+++ b/model_operator.go
@@ -0,0 +1,142 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Operator struct for Operator
+type Operator struct {
+	// Strictly, this must be either `\"OR\"`, or `\"AND\"`.  It can be used to compose Filters as part of a Filters object.
+	Operator *string `json:"operator,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Operator Operator
+
+// NewOperator instantiates a new Operator object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewOperator() *Operator {
+	this := Operator{}
+	return &this
+}
+
+// NewOperatorWithDefaults instantiates a new Operator object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewOperatorWithDefaults() *Operator {
+	this := Operator{}
+	return &this
+}
+
+// GetOperator returns the Operator field value if set, zero value otherwise.
+func (o *Operator) GetOperator() string {
+	if o == nil || o.Operator == nil {
+		var ret string
+		return ret
+	}
+	return *o.Operator
+}
+
+// GetOperatorOk returns a tuple with the Operator field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Operator) GetOperatorOk() (*string, bool) {
+	if o == nil || o.Operator == nil {
+		return nil, false
+	}
+	return o.Operator, true
+}
+
+// HasOperator returns a boolean if a field has been set.
+func (o *Operator) HasOperator() bool {
+	if o != nil && o.Operator != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOperator gets a reference to the given string and assigns it to the Operator field.
+func (o *Operator) SetOperator(v string) {
+	o.Operator = &v
+}
+
+func (o Operator) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Operator != nil {
+		toSerialize["operator"] = o.Operator
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Operator) UnmarshalJSON(bytes []byte) (err error) {
+	varOperator := _Operator{}
+
+	if err = json.Unmarshal(bytes, &varOperator); err == nil {
+		*o = Operator(varOperator)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "operator")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableOperator struct {
+	value *Operator
+	isSet bool
+}
+
+func (v NullableOperator) Get() *Operator {
+	return v.value
+}
+
+func (v *NullableOperator) Set(val *Operator) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableOperator) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableOperator) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableOperator(val *Operator) *NullableOperator {
+	return &NullableOperator{value: val, isSet: true}
+}
+
+func (v NullableOperator) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableOperator) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_outcome_data.go b/model_outcome_data.go
new file mode 100644
index 0000000..ed2a36a
--- /dev/null
+++ b/model_outcome_data.go
@@ -0,0 +1,194 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// OutcomeData struct for OutcomeData
+type OutcomeData struct {
+	Id string `json:"id"`
+	Value int32 `json:"value"`
+	Aggregation string `json:"aggregation"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _OutcomeData OutcomeData
+
+// NewOutcomeData instantiates a new OutcomeData object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewOutcomeData(id string, value int32, aggregation string) *OutcomeData {
+	this := OutcomeData{}
+	this.Id = id
+	this.Value = value
+	this.Aggregation = aggregation
+	return &this
+}
+
+// NewOutcomeDataWithDefaults instantiates a new OutcomeData object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewOutcomeDataWithDefaults() *OutcomeData {
+	this := OutcomeData{}
+	return &this
+}
+
+// GetId returns the Id field value
+func (o *OutcomeData) GetId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value
+// and a boolean to check if the value has been set.
+func (o *OutcomeData) GetIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Id, true
+}
+
+// SetId sets field value
+func (o *OutcomeData) SetId(v string) {
+	o.Id = v
+}
+
+// GetValue returns the Value field value
+func (o *OutcomeData) GetValue() int32 {
+	if o == nil {
+		var ret int32
+		return ret
+	}
+
+	return o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value
+// and a boolean to check if the value has been set.
+func (o *OutcomeData) GetValueOk() (*int32, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Value, true
+}
+
+// SetValue sets field value
+func (o *OutcomeData) SetValue(v int32) {
+	o.Value = v
+}
+
+// GetAggregation returns the Aggregation field value
+func (o *OutcomeData) GetAggregation() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Aggregation
+}
+
+// GetAggregationOk returns a tuple with the Aggregation field value
+// and a boolean to check if the value has been set.
+func (o *OutcomeData) GetAggregationOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Aggregation, true
+}
+
+// SetAggregation sets field value
+func (o *OutcomeData) SetAggregation(v string) {
+	o.Aggregation = v
+}
+
+func (o OutcomeData) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["id"] = o.Id
+	}
+	if true {
+		toSerialize["value"] = o.Value
+	}
+	if true {
+		toSerialize["aggregation"] = o.Aggregation
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *OutcomeData) UnmarshalJSON(bytes []byte) (err error) {
+	varOutcomeData := _OutcomeData{}
+
+	if err = json.Unmarshal(bytes, &varOutcomeData); err == nil {
+		*o = OutcomeData(varOutcomeData)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "value")
+		delete(additionalProperties, "aggregation")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableOutcomeData struct {
+	value *OutcomeData
+	isSet bool
+}
+
+func (v NullableOutcomeData) Get() *OutcomeData {
+	return v.value
+}
+
+func (v *NullableOutcomeData) Set(val *OutcomeData) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableOutcomeData) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableOutcomeData) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableOutcomeData(val *OutcomeData) *NullableOutcomeData {
+	return &NullableOutcomeData{value: val, isSet: true}
+}
+
+func (v NullableOutcomeData) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableOutcomeData) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_outcomes_data.go b/model_outcomes_data.go
new file mode 100644
index 0000000..ec55a87
--- /dev/null
+++ b/model_outcomes_data.go
@@ -0,0 +1,141 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// OutcomesData struct for OutcomesData
+type OutcomesData struct {
+	Outcomes []OutcomeData `json:"outcomes,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _OutcomesData OutcomesData
+
+// NewOutcomesData instantiates a new OutcomesData object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewOutcomesData() *OutcomesData {
+	this := OutcomesData{}
+	return &this
+}
+
+// NewOutcomesDataWithDefaults instantiates a new OutcomesData object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewOutcomesDataWithDefaults() *OutcomesData {
+	this := OutcomesData{}
+	return &this
+}
+
+// GetOutcomes returns the Outcomes field value if set, zero value otherwise.
+func (o *OutcomesData) GetOutcomes() []OutcomeData {
+	if o == nil || o.Outcomes == nil {
+		var ret []OutcomeData
+		return ret
+	}
+	return o.Outcomes
+}
+
+// GetOutcomesOk returns a tuple with the Outcomes field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *OutcomesData) GetOutcomesOk() ([]OutcomeData, bool) {
+	if o == nil || o.Outcomes == nil {
+		return nil, false
+	}
+	return o.Outcomes, true
+}
+
+// HasOutcomes returns a boolean if a field has been set.
+func (o *OutcomesData) HasOutcomes() bool {
+	if o != nil && o.Outcomes != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOutcomes gets a reference to the given []OutcomeData and assigns it to the Outcomes field.
+func (o *OutcomesData) SetOutcomes(v []OutcomeData) {
+	o.Outcomes = v
+}
+
+func (o OutcomesData) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Outcomes != nil {
+		toSerialize["outcomes"] = o.Outcomes
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *OutcomesData) UnmarshalJSON(bytes []byte) (err error) {
+	varOutcomesData := _OutcomesData{}
+
+	if err = json.Unmarshal(bytes, &varOutcomesData); err == nil {
+		*o = OutcomesData(varOutcomesData)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "outcomes")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableOutcomesData struct {
+	value *OutcomesData
+	isSet bool
+}
+
+func (v NullableOutcomesData) Get() *OutcomesData {
+	return v.value
+}
+
+func (v *NullableOutcomesData) Set(val *OutcomesData) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableOutcomesData) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableOutcomesData) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableOutcomesData(val *OutcomesData) *NullableOutcomesData {
+	return &NullableOutcomesData{value: val, isSet: true}
+}
+
+func (v NullableOutcomesData) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableOutcomesData) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_platform_delivery_data.go b/model_platform_delivery_data.go
new file mode 100644
index 0000000..668321b
--- /dev/null
+++ b/model_platform_delivery_data.go
@@ -0,0 +1,326 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// PlatformDeliveryData Hash of delivery statistics broken out by target device platform.
+type PlatformDeliveryData struct {
+	EdgeWebPush *DeliveryData `json:"edge_web_push,omitempty"`
+	ChromeWebPush *DeliveryData `json:"chrome_web_push,omitempty"`
+	FirefoxWebPush *DeliveryData `json:"firefox_web_push,omitempty"`
+	SafariWebPush *DeliveryData `json:"safari_web_push,omitempty"`
+	Android *DeliveryData `json:"android,omitempty"`
+	Ios *DeliveryData `json:"ios,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _PlatformDeliveryData PlatformDeliveryData
+
+// NewPlatformDeliveryData instantiates a new PlatformDeliveryData object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewPlatformDeliveryData() *PlatformDeliveryData {
+	this := PlatformDeliveryData{}
+	return &this
+}
+
+// NewPlatformDeliveryDataWithDefaults instantiates a new PlatformDeliveryData object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewPlatformDeliveryDataWithDefaults() *PlatformDeliveryData {
+	this := PlatformDeliveryData{}
+	return &this
+}
+
+// GetEdgeWebPush returns the EdgeWebPush field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetEdgeWebPush() DeliveryData {
+	if o == nil || o.EdgeWebPush == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.EdgeWebPush
+}
+
+// GetEdgeWebPushOk returns a tuple with the EdgeWebPush field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetEdgeWebPushOk() (*DeliveryData, bool) {
+	if o == nil || o.EdgeWebPush == nil {
+		return nil, false
+	}
+	return o.EdgeWebPush, true
+}
+
+// HasEdgeWebPush returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasEdgeWebPush() bool {
+	if o != nil && o.EdgeWebPush != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEdgeWebPush gets a reference to the given DeliveryData and assigns it to the EdgeWebPush field.
+func (o *PlatformDeliveryData) SetEdgeWebPush(v DeliveryData) {
+	o.EdgeWebPush = &v
+}
+
+// GetChromeWebPush returns the ChromeWebPush field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetChromeWebPush() DeliveryData {
+	if o == nil || o.ChromeWebPush == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.ChromeWebPush
+}
+
+// GetChromeWebPushOk returns a tuple with the ChromeWebPush field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetChromeWebPushOk() (*DeliveryData, bool) {
+	if o == nil || o.ChromeWebPush == nil {
+		return nil, false
+	}
+	return o.ChromeWebPush, true
+}
+
+// HasChromeWebPush returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasChromeWebPush() bool {
+	if o != nil && o.ChromeWebPush != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetChromeWebPush gets a reference to the given DeliveryData and assigns it to the ChromeWebPush field.
+func (o *PlatformDeliveryData) SetChromeWebPush(v DeliveryData) {
+	o.ChromeWebPush = &v
+}
+
+// GetFirefoxWebPush returns the FirefoxWebPush field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetFirefoxWebPush() DeliveryData {
+	if o == nil || o.FirefoxWebPush == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.FirefoxWebPush
+}
+
+// GetFirefoxWebPushOk returns a tuple with the FirefoxWebPush field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetFirefoxWebPushOk() (*DeliveryData, bool) {
+	if o == nil || o.FirefoxWebPush == nil {
+		return nil, false
+	}
+	return o.FirefoxWebPush, true
+}
+
+// HasFirefoxWebPush returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasFirefoxWebPush() bool {
+	if o != nil && o.FirefoxWebPush != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFirefoxWebPush gets a reference to the given DeliveryData and assigns it to the FirefoxWebPush field.
+func (o *PlatformDeliveryData) SetFirefoxWebPush(v DeliveryData) {
+	o.FirefoxWebPush = &v
+}
+
+// GetSafariWebPush returns the SafariWebPush field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetSafariWebPush() DeliveryData {
+	if o == nil || o.SafariWebPush == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.SafariWebPush
+}
+
+// GetSafariWebPushOk returns a tuple with the SafariWebPush field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetSafariWebPushOk() (*DeliveryData, bool) {
+	if o == nil || o.SafariWebPush == nil {
+		return nil, false
+	}
+	return o.SafariWebPush, true
+}
+
+// HasSafariWebPush returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasSafariWebPush() bool {
+	if o != nil && o.SafariWebPush != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSafariWebPush gets a reference to the given DeliveryData and assigns it to the SafariWebPush field.
+func (o *PlatformDeliveryData) SetSafariWebPush(v DeliveryData) {
+	o.SafariWebPush = &v
+}
+
+// GetAndroid returns the Android field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetAndroid() DeliveryData {
+	if o == nil || o.Android == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.Android
+}
+
+// GetAndroidOk returns a tuple with the Android field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetAndroidOk() (*DeliveryData, bool) {
+	if o == nil || o.Android == nil {
+		return nil, false
+	}
+	return o.Android, true
+}
+
+// HasAndroid returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasAndroid() bool {
+	if o != nil && o.Android != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAndroid gets a reference to the given DeliveryData and assigns it to the Android field.
+func (o *PlatformDeliveryData) SetAndroid(v DeliveryData) {
+	o.Android = &v
+}
+
+// GetIos returns the Ios field value if set, zero value otherwise.
+func (o *PlatformDeliveryData) GetIos() DeliveryData {
+	if o == nil || o.Ios == nil {
+		var ret DeliveryData
+		return ret
+	}
+	return *o.Ios
+}
+
+// GetIosOk returns a tuple with the Ios field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlatformDeliveryData) GetIosOk() (*DeliveryData, bool) {
+	if o == nil || o.Ios == nil {
+		return nil, false
+	}
+	return o.Ios, true
+}
+
+// HasIos returns a boolean if a field has been set.
+func (o *PlatformDeliveryData) HasIos() bool {
+	if o != nil && o.Ios != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIos gets a reference to the given DeliveryData and assigns it to the Ios field.
+func (o *PlatformDeliveryData) SetIos(v DeliveryData) {
+	o.Ios = &v
+}
+
+func (o PlatformDeliveryData) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.EdgeWebPush != nil {
+		toSerialize["edge_web_push"] = o.EdgeWebPush
+	}
+	if o.ChromeWebPush != nil {
+		toSerialize["chrome_web_push"] = o.ChromeWebPush
+	}
+	if o.FirefoxWebPush != nil {
+		toSerialize["firefox_web_push"] = o.FirefoxWebPush
+	}
+	if o.SafariWebPush != nil {
+		toSerialize["safari_web_push"] = o.SafariWebPush
+	}
+	if o.Android != nil {
+		toSerialize["android"] = o.Android
+	}
+	if o.Ios != nil {
+		toSerialize["ios"] = o.Ios
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *PlatformDeliveryData) UnmarshalJSON(bytes []byte) (err error) {
+	varPlatformDeliveryData := _PlatformDeliveryData{}
+
+	if err = json.Unmarshal(bytes, &varPlatformDeliveryData); err == nil {
+		*o = PlatformDeliveryData(varPlatformDeliveryData)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "edge_web_push")
+		delete(additionalProperties, "chrome_web_push")
+		delete(additionalProperties, "firefox_web_push")
+		delete(additionalProperties, "safari_web_push")
+		delete(additionalProperties, "android")
+		delete(additionalProperties, "ios")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullablePlatformDeliveryData struct {
+	value *PlatformDeliveryData
+	isSet bool
+}
+
+func (v NullablePlatformDeliveryData) Get() *PlatformDeliveryData {
+	return v.value
+}
+
+func (v *NullablePlatformDeliveryData) Set(val *PlatformDeliveryData) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullablePlatformDeliveryData) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullablePlatformDeliveryData) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullablePlatformDeliveryData(val *PlatformDeliveryData) *NullablePlatformDeliveryData {
+	return &NullablePlatformDeliveryData{value: val, isSet: true}
+}
+
+func (v NullablePlatformDeliveryData) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullablePlatformDeliveryData) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_player.go b/model_player.go
new file mode 100644
index 0000000..5e43c04
--- /dev/null
+++ b/model_player.go
@@ -0,0 +1,1108 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Player struct for Player
+type Player struct {
+	// The device's OneSignal ID
+	Id string `json:"id"`
+	// If true, this is the equivalent of a user being Unsubscribed
+	InvalidIdentifier *bool `json:"invalid_identifier,omitempty"`
+	AppId string `json:"app_id"`
+	// Required The device's platform:   0 = iOS   1 = Android   2 = Amazon   3 = WindowsPhone (MPNS)   4 = Chrome Apps / Extensions   5 = Chrome Web Push   6 = Windows (WNS)   7 = Safari   8 = Firefox   9 = MacOS   10 = Alexa   11 = Email   13 = For Huawei App Gallery Builds SDK Setup. Not for Huawei Devices using FCM   14 = SMS 
+	DeviceType int32 `json:"device_type"`
+	// a custom user ID
+	ExternalUserId *string `json:"external_user_id,omitempty"`
+	// Only required if you have enabled Identity Verification and device_type is NOT 11 email.
+	ExternalUserIdAuthHash *string `json:"external_user_id_auth_hash,omitempty"`
+	// Email - Only required if you have enabled Identity Verification and device_type is email (11).
+	EmailAuthHash *string `json:"email_auth_hash,omitempty"`
+	// Recommended: For Push Notifications, this is the Push Token Identifier from Google or Apple. For Apple Push identifiers, you must strip all non alphanumeric characters. Examples: iOS: 7abcd558f29d0b1f048083e2834ad8ea4b3d87d8ad9c088b33c132706ff445f0 Android: APA91bHbYHk7aq-Uam_2pyJ2qbZvqllyyh2wjfPRaw5gLEX2SUlQBRvOc6sck1sa7H7nGeLNlDco8lXj83HWWwzV... For Email Addresses, set the full email address email@email.com and make sure to set device_type to 11. 
+	Identifier *string `json:"identifier,omitempty"`
+	// Language code. Typically lower case two letters, except for Chinese where it must be one of zh-Hans or zh-Hant. Example: en 
+	Language *string `json:"language,omitempty"`
+	// Number of seconds away from UTC. Example: -28800 
+	Timezone *int32 `json:"timezone,omitempty"`
+	// Version of your app. Example: 1.1 
+	GameVersion *string `json:"game_version,omitempty"`
+	// Device make and model. Example: iPhone5,1 
+	DeviceModel *string `json:"device_model,omitempty"`
+	// Device operating system version. Example: 7.0.4 
+	DeviceOs *string `json:"device_os,omitempty"`
+	// The ad id for the device's platform: Android = Advertising Id iOS = identifierForVendor WP8.0 = DeviceUniqueId WP8.1 = AdvertisingId 
+	AdId *string `json:"ad_id,omitempty"`
+	// Name and version of the sdk/plugin that's calling this API method (if any)
+	Sdk *string `json:"sdk,omitempty"`
+	// Number of times the user has played the game, defaults to 1
+	SessionCount *int32 `json:"session_count,omitempty"`
+	// Custom tags for the player. Only support string and integer key value pairs. Does not support arrays or other nested objects. Setting a tag value to null or an empty string will remove the tag. Example: {\"foo\":\"bar\",\"this\":\"that\"} Limitations: - 100 tags per call - Android SDK users: tags cannot be removed or changed via API if set through SDK sendTag methods. Recommended to only tag devices with 1 kilobyte of data Please consider using your own Database to save more than 1 kilobyte of data. See: Internal Database & CRM 
+	Tags map[string]interface{} `json:"tags,omitempty"`
+	// Amount the user has spent in USD, up to two decimal places
+	AmountSpent *string `json:"amount_spent,omitempty"`
+	// Unixtime when the player joined the game
+	CreatedAt *int32 `json:"created_at,omitempty"`
+	// Seconds player was running your app.
+	Playtime *int32 `json:"playtime,omitempty"`
+	// Current iOS badge count displayed on the app icon NOTE: Not supported for apps created after June 2018, since badge count for apps created after this date are handled on the client. 
+	BadgeCount *int32 `json:"badge_count,omitempty"`
+	// Unixtime when the player was last active
+	LastActive *int32 `json:"last_active,omitempty"`
+	// 1 = subscribed -2 = unsubscribed iOS - These values are set each time the user opens the app from the SDK. Use the SDK function set Subscription instead. Android - You may set this but you can no longer use the SDK method setSubscription later in your app as it will create synchronization issues. 
+	NotificationTypes *int32 `json:"notification_types,omitempty"`
+	// This is used in deciding whether to use your iOS Sandbox or Production push certificate when sending a push when both have been uploaded. Set to the iOS provisioning profile that was used to build your app. 1 = Development 2 = Ad-Hoc Omit this field for App Store builds. 
+	TestType *int32 `json:"test_type,omitempty"`
+	// Longitude of the device, used for geotagging to segment on.
+	Long *float32 `json:"long,omitempty"`
+	// Latitude of the device, used for geotagging to segment on.
+	Lat *float32 `json:"lat,omitempty"`
+	// Country code in the ISO 3166-1 Alpha 2 format
+	Country *string `json:"country,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Player Player
+
+// NewPlayer instantiates a new Player object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewPlayer(id string, appId string, deviceType int32) *Player {
+	this := Player{}
+	this.Id = id
+	this.AppId = appId
+	this.DeviceType = deviceType
+	return &this
+}
+
+// NewPlayerWithDefaults instantiates a new Player object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewPlayerWithDefaults() *Player {
+	this := Player{}
+	return &this
+}
+
+// GetId returns the Id field value
+func (o *Player) GetId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value
+// and a boolean to check if the value has been set.
+func (o *Player) GetIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Id, true
+}
+
+// SetId sets field value
+func (o *Player) SetId(v string) {
+	o.Id = v
+}
+
+// GetInvalidIdentifier returns the InvalidIdentifier field value if set, zero value otherwise.
+func (o *Player) GetInvalidIdentifier() bool {
+	if o == nil || o.InvalidIdentifier == nil {
+		var ret bool
+		return ret
+	}
+	return *o.InvalidIdentifier
+}
+
+// GetInvalidIdentifierOk returns a tuple with the InvalidIdentifier field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetInvalidIdentifierOk() (*bool, bool) {
+	if o == nil || o.InvalidIdentifier == nil {
+		return nil, false
+	}
+	return o.InvalidIdentifier, true
+}
+
+// HasInvalidIdentifier returns a boolean if a field has been set.
+func (o *Player) HasInvalidIdentifier() bool {
+	if o != nil && o.InvalidIdentifier != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetInvalidIdentifier gets a reference to the given bool and assigns it to the InvalidIdentifier field.
+func (o *Player) SetInvalidIdentifier(v bool) {
+	o.InvalidIdentifier = &v
+}
+
+// GetAppId returns the AppId field value
+func (o *Player) GetAppId() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.AppId
+}
+
+// GetAppIdOk returns a tuple with the AppId field value
+// and a boolean to check if the value has been set.
+func (o *Player) GetAppIdOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.AppId, true
+}
+
+// SetAppId sets field value
+func (o *Player) SetAppId(v string) {
+	o.AppId = v
+}
+
+// GetDeviceType returns the DeviceType field value
+func (o *Player) GetDeviceType() int32 {
+	if o == nil {
+		var ret int32
+		return ret
+	}
+
+	return o.DeviceType
+}
+
+// GetDeviceTypeOk returns a tuple with the DeviceType field value
+// and a boolean to check if the value has been set.
+func (o *Player) GetDeviceTypeOk() (*int32, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.DeviceType, true
+}
+
+// SetDeviceType sets field value
+func (o *Player) SetDeviceType(v int32) {
+	o.DeviceType = v
+}
+
+// GetExternalUserId returns the ExternalUserId field value if set, zero value otherwise.
+func (o *Player) GetExternalUserId() string {
+	if o == nil || o.ExternalUserId == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExternalUserId
+}
+
+// GetExternalUserIdOk returns a tuple with the ExternalUserId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetExternalUserIdOk() (*string, bool) {
+	if o == nil || o.ExternalUserId == nil {
+		return nil, false
+	}
+	return o.ExternalUserId, true
+}
+
+// HasExternalUserId returns a boolean if a field has been set.
+func (o *Player) HasExternalUserId() bool {
+	if o != nil && o.ExternalUserId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExternalUserId gets a reference to the given string and assigns it to the ExternalUserId field.
+func (o *Player) SetExternalUserId(v string) {
+	o.ExternalUserId = &v
+}
+
+// GetExternalUserIdAuthHash returns the ExternalUserIdAuthHash field value if set, zero value otherwise.
+func (o *Player) GetExternalUserIdAuthHash() string {
+	if o == nil || o.ExternalUserIdAuthHash == nil {
+		var ret string
+		return ret
+	}
+	return *o.ExternalUserIdAuthHash
+}
+
+// GetExternalUserIdAuthHashOk returns a tuple with the ExternalUserIdAuthHash field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetExternalUserIdAuthHashOk() (*string, bool) {
+	if o == nil || o.ExternalUserIdAuthHash == nil {
+		return nil, false
+	}
+	return o.ExternalUserIdAuthHash, true
+}
+
+// HasExternalUserIdAuthHash returns a boolean if a field has been set.
+func (o *Player) HasExternalUserIdAuthHash() bool {
+	if o != nil && o.ExternalUserIdAuthHash != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExternalUserIdAuthHash gets a reference to the given string and assigns it to the ExternalUserIdAuthHash field.
+func (o *Player) SetExternalUserIdAuthHash(v string) {
+	o.ExternalUserIdAuthHash = &v
+}
+
+// GetEmailAuthHash returns the EmailAuthHash field value if set, zero value otherwise.
+func (o *Player) GetEmailAuthHash() string {
+	if o == nil || o.EmailAuthHash == nil {
+		var ret string
+		return ret
+	}
+	return *o.EmailAuthHash
+}
+
+// GetEmailAuthHashOk returns a tuple with the EmailAuthHash field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetEmailAuthHashOk() (*string, bool) {
+	if o == nil || o.EmailAuthHash == nil {
+		return nil, false
+	}
+	return o.EmailAuthHash, true
+}
+
+// HasEmailAuthHash returns a boolean if a field has been set.
+func (o *Player) HasEmailAuthHash() bool {
+	if o != nil && o.EmailAuthHash != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEmailAuthHash gets a reference to the given string and assigns it to the EmailAuthHash field.
+func (o *Player) SetEmailAuthHash(v string) {
+	o.EmailAuthHash = &v
+}
+
+// GetIdentifier returns the Identifier field value if set, zero value otherwise.
+func (o *Player) GetIdentifier() string {
+	if o == nil || o.Identifier == nil {
+		var ret string
+		return ret
+	}
+	return *o.Identifier
+}
+
+// GetIdentifierOk returns a tuple with the Identifier field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetIdentifierOk() (*string, bool) {
+	if o == nil || o.Identifier == nil {
+		return nil, false
+	}
+	return o.Identifier, true
+}
+
+// HasIdentifier returns a boolean if a field has been set.
+func (o *Player) HasIdentifier() bool {
+	if o != nil && o.Identifier != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIdentifier gets a reference to the given string and assigns it to the Identifier field.
+func (o *Player) SetIdentifier(v string) {
+	o.Identifier = &v
+}
+
+// GetLanguage returns the Language field value if set, zero value otherwise.
+func (o *Player) GetLanguage() string {
+	if o == nil || o.Language == nil {
+		var ret string
+		return ret
+	}
+	return *o.Language
+}
+
+// GetLanguageOk returns a tuple with the Language field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetLanguageOk() (*string, bool) {
+	if o == nil || o.Language == nil {
+		return nil, false
+	}
+	return o.Language, true
+}
+
+// HasLanguage returns a boolean if a field has been set.
+func (o *Player) HasLanguage() bool {
+	if o != nil && o.Language != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLanguage gets a reference to the given string and assigns it to the Language field.
+func (o *Player) SetLanguage(v string) {
+	o.Language = &v
+}
+
+// GetTimezone returns the Timezone field value if set, zero value otherwise.
+func (o *Player) GetTimezone() int32 {
+	if o == nil || o.Timezone == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Timezone
+}
+
+// GetTimezoneOk returns a tuple with the Timezone field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetTimezoneOk() (*int32, bool) {
+	if o == nil || o.Timezone == nil {
+		return nil, false
+	}
+	return o.Timezone, true
+}
+
+// HasTimezone returns a boolean if a field has been set.
+func (o *Player) HasTimezone() bool {
+	if o != nil && o.Timezone != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTimezone gets a reference to the given int32 and assigns it to the Timezone field.
+func (o *Player) SetTimezone(v int32) {
+	o.Timezone = &v
+}
+
+// GetGameVersion returns the GameVersion field value if set, zero value otherwise.
+func (o *Player) GetGameVersion() string {
+	if o == nil || o.GameVersion == nil {
+		var ret string
+		return ret
+	}
+	return *o.GameVersion
+}
+
+// GetGameVersionOk returns a tuple with the GameVersion field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetGameVersionOk() (*string, bool) {
+	if o == nil || o.GameVersion == nil {
+		return nil, false
+	}
+	return o.GameVersion, true
+}
+
+// HasGameVersion returns a boolean if a field has been set.
+func (o *Player) HasGameVersion() bool {
+	if o != nil && o.GameVersion != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetGameVersion gets a reference to the given string and assigns it to the GameVersion field.
+func (o *Player) SetGameVersion(v string) {
+	o.GameVersion = &v
+}
+
+// GetDeviceModel returns the DeviceModel field value if set, zero value otherwise.
+func (o *Player) GetDeviceModel() string {
+	if o == nil || o.DeviceModel == nil {
+		var ret string
+		return ret
+	}
+	return *o.DeviceModel
+}
+
+// GetDeviceModelOk returns a tuple with the DeviceModel field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetDeviceModelOk() (*string, bool) {
+	if o == nil || o.DeviceModel == nil {
+		return nil, false
+	}
+	return o.DeviceModel, true
+}
+
+// HasDeviceModel returns a boolean if a field has been set.
+func (o *Player) HasDeviceModel() bool {
+	if o != nil && o.DeviceModel != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDeviceModel gets a reference to the given string and assigns it to the DeviceModel field.
+func (o *Player) SetDeviceModel(v string) {
+	o.DeviceModel = &v
+}
+
+// GetDeviceOs returns the DeviceOs field value if set, zero value otherwise.
+func (o *Player) GetDeviceOs() string {
+	if o == nil || o.DeviceOs == nil {
+		var ret string
+		return ret
+	}
+	return *o.DeviceOs
+}
+
+// GetDeviceOsOk returns a tuple with the DeviceOs field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetDeviceOsOk() (*string, bool) {
+	if o == nil || o.DeviceOs == nil {
+		return nil, false
+	}
+	return o.DeviceOs, true
+}
+
+// HasDeviceOs returns a boolean if a field has been set.
+func (o *Player) HasDeviceOs() bool {
+	if o != nil && o.DeviceOs != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDeviceOs gets a reference to the given string and assigns it to the DeviceOs field.
+func (o *Player) SetDeviceOs(v string) {
+	o.DeviceOs = &v
+}
+
+// GetAdId returns the AdId field value if set, zero value otherwise.
+func (o *Player) GetAdId() string {
+	if o == nil || o.AdId == nil {
+		var ret string
+		return ret
+	}
+	return *o.AdId
+}
+
+// GetAdIdOk returns a tuple with the AdId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetAdIdOk() (*string, bool) {
+	if o == nil || o.AdId == nil {
+		return nil, false
+	}
+	return o.AdId, true
+}
+
+// HasAdId returns a boolean if a field has been set.
+func (o *Player) HasAdId() bool {
+	if o != nil && o.AdId != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAdId gets a reference to the given string and assigns it to the AdId field.
+func (o *Player) SetAdId(v string) {
+	o.AdId = &v
+}
+
+// GetSdk returns the Sdk field value if set, zero value otherwise.
+func (o *Player) GetSdk() string {
+	if o == nil || o.Sdk == nil {
+		var ret string
+		return ret
+	}
+	return *o.Sdk
+}
+
+// GetSdkOk returns a tuple with the Sdk field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetSdkOk() (*string, bool) {
+	if o == nil || o.Sdk == nil {
+		return nil, false
+	}
+	return o.Sdk, true
+}
+
+// HasSdk returns a boolean if a field has been set.
+func (o *Player) HasSdk() bool {
+	if o != nil && o.Sdk != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSdk gets a reference to the given string and assigns it to the Sdk field.
+func (o *Player) SetSdk(v string) {
+	o.Sdk = &v
+}
+
+// GetSessionCount returns the SessionCount field value if set, zero value otherwise.
+func (o *Player) GetSessionCount() int32 {
+	if o == nil || o.SessionCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.SessionCount
+}
+
+// GetSessionCountOk returns a tuple with the SessionCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetSessionCountOk() (*int32, bool) {
+	if o == nil || o.SessionCount == nil {
+		return nil, false
+	}
+	return o.SessionCount, true
+}
+
+// HasSessionCount returns a boolean if a field has been set.
+func (o *Player) HasSessionCount() bool {
+	if o != nil && o.SessionCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSessionCount gets a reference to the given int32 and assigns it to the SessionCount field.
+func (o *Player) SetSessionCount(v int32) {
+	o.SessionCount = &v
+}
+
+// GetTags returns the Tags field value if set, zero value otherwise.
+func (o *Player) GetTags() map[string]interface{} {
+	if o == nil || o.Tags == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Tags
+}
+
+// GetTagsOk returns a tuple with the Tags field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetTagsOk() (map[string]interface{}, bool) {
+	if o == nil || o.Tags == nil {
+		return nil, false
+	}
+	return o.Tags, true
+}
+
+// HasTags returns a boolean if a field has been set.
+func (o *Player) HasTags() bool {
+	if o != nil && o.Tags != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTags gets a reference to the given map[string]interface{} and assigns it to the Tags field.
+func (o *Player) SetTags(v map[string]interface{}) {
+	o.Tags = v
+}
+
+// GetAmountSpent returns the AmountSpent field value if set, zero value otherwise.
+func (o *Player) GetAmountSpent() string {
+	if o == nil || o.AmountSpent == nil {
+		var ret string
+		return ret
+	}
+	return *o.AmountSpent
+}
+
+// GetAmountSpentOk returns a tuple with the AmountSpent field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetAmountSpentOk() (*string, bool) {
+	if o == nil || o.AmountSpent == nil {
+		return nil, false
+	}
+	return o.AmountSpent, true
+}
+
+// HasAmountSpent returns a boolean if a field has been set.
+func (o *Player) HasAmountSpent() bool {
+	if o != nil && o.AmountSpent != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAmountSpent gets a reference to the given string and assigns it to the AmountSpent field.
+func (o *Player) SetAmountSpent(v string) {
+	o.AmountSpent = &v
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *Player) GetCreatedAt() int32 {
+	if o == nil || o.CreatedAt == nil {
+		var ret int32
+		return ret
+	}
+	return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetCreatedAtOk() (*int32, bool) {
+	if o == nil || o.CreatedAt == nil {
+		return nil, false
+	}
+	return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *Player) HasCreatedAt() bool {
+	if o != nil && o.CreatedAt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCreatedAt gets a reference to the given int32 and assigns it to the CreatedAt field.
+func (o *Player) SetCreatedAt(v int32) {
+	o.CreatedAt = &v
+}
+
+// GetPlaytime returns the Playtime field value if set, zero value otherwise.
+func (o *Player) GetPlaytime() int32 {
+	if o == nil || o.Playtime == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Playtime
+}
+
+// GetPlaytimeOk returns a tuple with the Playtime field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetPlaytimeOk() (*int32, bool) {
+	if o == nil || o.Playtime == nil {
+		return nil, false
+	}
+	return o.Playtime, true
+}
+
+// HasPlaytime returns a boolean if a field has been set.
+func (o *Player) HasPlaytime() bool {
+	if o != nil && o.Playtime != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPlaytime gets a reference to the given int32 and assigns it to the Playtime field.
+func (o *Player) SetPlaytime(v int32) {
+	o.Playtime = &v
+}
+
+// GetBadgeCount returns the BadgeCount field value if set, zero value otherwise.
+func (o *Player) GetBadgeCount() int32 {
+	if o == nil || o.BadgeCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.BadgeCount
+}
+
+// GetBadgeCountOk returns a tuple with the BadgeCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetBadgeCountOk() (*int32, bool) {
+	if o == nil || o.BadgeCount == nil {
+		return nil, false
+	}
+	return o.BadgeCount, true
+}
+
+// HasBadgeCount returns a boolean if a field has been set.
+func (o *Player) HasBadgeCount() bool {
+	if o != nil && o.BadgeCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBadgeCount gets a reference to the given int32 and assigns it to the BadgeCount field.
+func (o *Player) SetBadgeCount(v int32) {
+	o.BadgeCount = &v
+}
+
+// GetLastActive returns the LastActive field value if set, zero value otherwise.
+func (o *Player) GetLastActive() int32 {
+	if o == nil || o.LastActive == nil {
+		var ret int32
+		return ret
+	}
+	return *o.LastActive
+}
+
+// GetLastActiveOk returns a tuple with the LastActive field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetLastActiveOk() (*int32, bool) {
+	if o == nil || o.LastActive == nil {
+		return nil, false
+	}
+	return o.LastActive, true
+}
+
+// HasLastActive returns a boolean if a field has been set.
+func (o *Player) HasLastActive() bool {
+	if o != nil && o.LastActive != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLastActive gets a reference to the given int32 and assigns it to the LastActive field.
+func (o *Player) SetLastActive(v int32) {
+	o.LastActive = &v
+}
+
+// GetNotificationTypes returns the NotificationTypes field value if set, zero value otherwise.
+func (o *Player) GetNotificationTypes() int32 {
+	if o == nil || o.NotificationTypes == nil {
+		var ret int32
+		return ret
+	}
+	return *o.NotificationTypes
+}
+
+// GetNotificationTypesOk returns a tuple with the NotificationTypes field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetNotificationTypesOk() (*int32, bool) {
+	if o == nil || o.NotificationTypes == nil {
+		return nil, false
+	}
+	return o.NotificationTypes, true
+}
+
+// HasNotificationTypes returns a boolean if a field has been set.
+func (o *Player) HasNotificationTypes() bool {
+	if o != nil && o.NotificationTypes != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNotificationTypes gets a reference to the given int32 and assigns it to the NotificationTypes field.
+func (o *Player) SetNotificationTypes(v int32) {
+	o.NotificationTypes = &v
+}
+
+// GetTestType returns the TestType field value if set, zero value otherwise.
+func (o *Player) GetTestType() int32 {
+	if o == nil || o.TestType == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TestType
+}
+
+// GetTestTypeOk returns a tuple with the TestType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetTestTypeOk() (*int32, bool) {
+	if o == nil || o.TestType == nil {
+		return nil, false
+	}
+	return o.TestType, true
+}
+
+// HasTestType returns a boolean if a field has been set.
+func (o *Player) HasTestType() bool {
+	if o != nil && o.TestType != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTestType gets a reference to the given int32 and assigns it to the TestType field.
+func (o *Player) SetTestType(v int32) {
+	o.TestType = &v
+}
+
+// GetLong returns the Long field value if set, zero value otherwise.
+func (o *Player) GetLong() float32 {
+	if o == nil || o.Long == nil {
+		var ret float32
+		return ret
+	}
+	return *o.Long
+}
+
+// GetLongOk returns a tuple with the Long field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetLongOk() (*float32, bool) {
+	if o == nil || o.Long == nil {
+		return nil, false
+	}
+	return o.Long, true
+}
+
+// HasLong returns a boolean if a field has been set.
+func (o *Player) HasLong() bool {
+	if o != nil && o.Long != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLong gets a reference to the given float32 and assigns it to the Long field.
+func (o *Player) SetLong(v float32) {
+	o.Long = &v
+}
+
+// GetLat returns the Lat field value if set, zero value otherwise.
+func (o *Player) GetLat() float32 {
+	if o == nil || o.Lat == nil {
+		var ret float32
+		return ret
+	}
+	return *o.Lat
+}
+
+// GetLatOk returns a tuple with the Lat field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetLatOk() (*float32, bool) {
+	if o == nil || o.Lat == nil {
+		return nil, false
+	}
+	return o.Lat, true
+}
+
+// HasLat returns a boolean if a field has been set.
+func (o *Player) HasLat() bool {
+	if o != nil && o.Lat != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLat gets a reference to the given float32 and assigns it to the Lat field.
+func (o *Player) SetLat(v float32) {
+	o.Lat = &v
+}
+
+// GetCountry returns the Country field value if set, zero value otherwise.
+func (o *Player) GetCountry() string {
+	if o == nil || o.Country == nil {
+		var ret string
+		return ret
+	}
+	return *o.Country
+}
+
+// GetCountryOk returns a tuple with the Country field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Player) GetCountryOk() (*string, bool) {
+	if o == nil || o.Country == nil {
+		return nil, false
+	}
+	return o.Country, true
+}
+
+// HasCountry returns a boolean if a field has been set.
+func (o *Player) HasCountry() bool {
+	if o != nil && o.Country != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCountry gets a reference to the given string and assigns it to the Country field.
+func (o *Player) SetCountry(v string) {
+	o.Country = &v
+}
+
+func (o Player) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["id"] = o.Id
+	}
+	if o.InvalidIdentifier != nil {
+		toSerialize["invalid_identifier"] = o.InvalidIdentifier
+	}
+	if true {
+		toSerialize["app_id"] = o.AppId
+	}
+	if true {
+		toSerialize["device_type"] = o.DeviceType
+	}
+	if o.ExternalUserId != nil {
+		toSerialize["external_user_id"] = o.ExternalUserId
+	}
+	if o.ExternalUserIdAuthHash != nil {
+		toSerialize["external_user_id_auth_hash"] = o.ExternalUserIdAuthHash
+	}
+	if o.EmailAuthHash != nil {
+		toSerialize["email_auth_hash"] = o.EmailAuthHash
+	}
+	if o.Identifier != nil {
+		toSerialize["identifier"] = o.Identifier
+	}
+	if o.Language != nil {
+		toSerialize["language"] = o.Language
+	}
+	if o.Timezone != nil {
+		toSerialize["timezone"] = o.Timezone
+	}
+	if o.GameVersion != nil {
+		toSerialize["game_version"] = o.GameVersion
+	}
+	if o.DeviceModel != nil {
+		toSerialize["device_model"] = o.DeviceModel
+	}
+	if o.DeviceOs != nil {
+		toSerialize["device_os"] = o.DeviceOs
+	}
+	if o.AdId != nil {
+		toSerialize["ad_id"] = o.AdId
+	}
+	if o.Sdk != nil {
+		toSerialize["sdk"] = o.Sdk
+	}
+	if o.SessionCount != nil {
+		toSerialize["session_count"] = o.SessionCount
+	}
+	if o.Tags != nil {
+		toSerialize["tags"] = o.Tags
+	}
+	if o.AmountSpent != nil {
+		toSerialize["amount_spent"] = o.AmountSpent
+	}
+	if o.CreatedAt != nil {
+		toSerialize["created_at"] = o.CreatedAt
+	}
+	if o.Playtime != nil {
+		toSerialize["playtime"] = o.Playtime
+	}
+	if o.BadgeCount != nil {
+		toSerialize["badge_count"] = o.BadgeCount
+	}
+	if o.LastActive != nil {
+		toSerialize["last_active"] = o.LastActive
+	}
+	if o.NotificationTypes != nil {
+		toSerialize["notification_types"] = o.NotificationTypes
+	}
+	if o.TestType != nil {
+		toSerialize["test_type"] = o.TestType
+	}
+	if o.Long != nil {
+		toSerialize["long"] = o.Long
+	}
+	if o.Lat != nil {
+		toSerialize["lat"] = o.Lat
+	}
+	if o.Country != nil {
+		toSerialize["country"] = o.Country
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Player) UnmarshalJSON(bytes []byte) (err error) {
+	varPlayer := _Player{}
+
+	if err = json.Unmarshal(bytes, &varPlayer); err == nil {
+		*o = Player(varPlayer)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "invalid_identifier")
+		delete(additionalProperties, "app_id")
+		delete(additionalProperties, "device_type")
+		delete(additionalProperties, "external_user_id")
+		delete(additionalProperties, "external_user_id_auth_hash")
+		delete(additionalProperties, "email_auth_hash")
+		delete(additionalProperties, "identifier")
+		delete(additionalProperties, "language")
+		delete(additionalProperties, "timezone")
+		delete(additionalProperties, "game_version")
+		delete(additionalProperties, "device_model")
+		delete(additionalProperties, "device_os")
+		delete(additionalProperties, "ad_id")
+		delete(additionalProperties, "sdk")
+		delete(additionalProperties, "session_count")
+		delete(additionalProperties, "tags")
+		delete(additionalProperties, "amount_spent")
+		delete(additionalProperties, "created_at")
+		delete(additionalProperties, "playtime")
+		delete(additionalProperties, "badge_count")
+		delete(additionalProperties, "last_active")
+		delete(additionalProperties, "notification_types")
+		delete(additionalProperties, "test_type")
+		delete(additionalProperties, "long")
+		delete(additionalProperties, "lat")
+		delete(additionalProperties, "country")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullablePlayer struct {
+	value *Player
+	isSet bool
+}
+
+func (v NullablePlayer) Get() *Player {
+	return v.value
+}
+
+func (v *NullablePlayer) Set(val *Player) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullablePlayer) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullablePlayer) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullablePlayer(val *Player) *NullablePlayer {
+	return &NullablePlayer{value: val, isSet: true}
+}
+
+func (v NullablePlayer) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullablePlayer) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_player_notification_target.go b/model_player_notification_target.go
new file mode 100644
index 0000000..42a145d
--- /dev/null
+++ b/model_player_notification_target.go
@@ -0,0 +1,484 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// PlayerNotificationTarget struct for PlayerNotificationTarget
+type PlayerNotificationTarget struct {
+	// Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call 
+	IncludePlayerIds []string `json:"include_player_ids,omitempty"`
+	// Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\"custom-id-assigned-by-api\"] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms. 
+	IncludeExternalUserIds []string `json:"include_external_user_ids,omitempty"`
+	// Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call 
+	IncludeEmailTokens []string `json:"include_email_tokens,omitempty"`
+	// Recommended for Sending SMS - Target specific phone numbers. The phone number should be in the E.164 format. Phone number should be an existing subscriber on OneSignal. Refer our docs to learn how to add phone numbers to OneSignal. Example phone number: +1999999999 Limit of 2,000 entries per REST API call 
+	IncludePhoneNumbers []string `json:"include_phone_numbers,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using iOS device tokens. Warning: Only works with Production tokens. All non-alphanumeric characters must be removed from each token. If a token does not correspond to an existing user, a new user will be created. Example: ce777617da7f548fe7a9ab6febb56cf39fba6d38203... Limit of 2,000 entries per REST API call 
+	IncludeIosTokens []string `json:"include_ios_tokens,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Windows URIs. If a token does not correspond to an existing user, a new user will be created. Example: http://s.notify.live.net/u/1/bn1/HmQAAACPaLDr-... Limit of 2,000 entries per REST API call 
+	IncludeWpWnsUris []string `json:"include_wp_wns_uris,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Amazon ADM registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: amzn1.adm-registration.v1.XpvSSUk0Rc3hTVVV... Limit of 2,000 entries per REST API call 
+	IncludeAmazonRegIds []string `json:"include_amazon_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome App registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeChromeRegIds []string `json:"include_chrome_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Chrome Web Push registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeChromeWebRegIds []string `json:"include_chrome_web_reg_ids,omitempty"`
+	// Not Recommended: Please consider using include_player_ids or include_external_user_ids instead. Target using Android device registration IDs. If a token does not correspond to an existing user, a new user will be created. Example: APA91bEeiUeSukAAUdnw3O2RB45FWlSpgJ7Ji_... Limit of 2,000 entries per REST API call 
+	IncludeAndroidRegIds []string `json:"include_android_reg_ids,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _PlayerNotificationTarget PlayerNotificationTarget
+
+// NewPlayerNotificationTarget instantiates a new PlayerNotificationTarget object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewPlayerNotificationTarget() *PlayerNotificationTarget {
+	this := PlayerNotificationTarget{}
+	return &this
+}
+
+// NewPlayerNotificationTargetWithDefaults instantiates a new PlayerNotificationTarget object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewPlayerNotificationTargetWithDefaults() *PlayerNotificationTarget {
+	this := PlayerNotificationTarget{}
+	return &this
+}
+
+// GetIncludePlayerIds returns the IncludePlayerIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludePlayerIds() []string {
+	if o == nil || o.IncludePlayerIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludePlayerIds
+}
+
+// GetIncludePlayerIdsOk returns a tuple with the IncludePlayerIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludePlayerIdsOk() ([]string, bool) {
+	if o == nil || o.IncludePlayerIds == nil {
+		return nil, false
+	}
+	return o.IncludePlayerIds, true
+}
+
+// HasIncludePlayerIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludePlayerIds() bool {
+	if o != nil && o.IncludePlayerIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludePlayerIds gets a reference to the given []string and assigns it to the IncludePlayerIds field.
+func (o *PlayerNotificationTarget) SetIncludePlayerIds(v []string) {
+	o.IncludePlayerIds = v
+}
+
+// GetIncludeExternalUserIds returns the IncludeExternalUserIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeExternalUserIds() []string {
+	if o == nil || o.IncludeExternalUserIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeExternalUserIds
+}
+
+// GetIncludeExternalUserIdsOk returns a tuple with the IncludeExternalUserIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeExternalUserIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeExternalUserIds == nil {
+		return nil, false
+	}
+	return o.IncludeExternalUserIds, true
+}
+
+// HasIncludeExternalUserIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeExternalUserIds() bool {
+	if o != nil && o.IncludeExternalUserIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeExternalUserIds gets a reference to the given []string and assigns it to the IncludeExternalUserIds field.
+func (o *PlayerNotificationTarget) SetIncludeExternalUserIds(v []string) {
+	o.IncludeExternalUserIds = v
+}
+
+// GetIncludeEmailTokens returns the IncludeEmailTokens field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeEmailTokens() []string {
+	if o == nil || o.IncludeEmailTokens == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeEmailTokens
+}
+
+// GetIncludeEmailTokensOk returns a tuple with the IncludeEmailTokens field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeEmailTokensOk() ([]string, bool) {
+	if o == nil || o.IncludeEmailTokens == nil {
+		return nil, false
+	}
+	return o.IncludeEmailTokens, true
+}
+
+// HasIncludeEmailTokens returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeEmailTokens() bool {
+	if o != nil && o.IncludeEmailTokens != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeEmailTokens gets a reference to the given []string and assigns it to the IncludeEmailTokens field.
+func (o *PlayerNotificationTarget) SetIncludeEmailTokens(v []string) {
+	o.IncludeEmailTokens = v
+}
+
+// GetIncludePhoneNumbers returns the IncludePhoneNumbers field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludePhoneNumbers() []string {
+	if o == nil || o.IncludePhoneNumbers == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludePhoneNumbers
+}
+
+// GetIncludePhoneNumbersOk returns a tuple with the IncludePhoneNumbers field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludePhoneNumbersOk() ([]string, bool) {
+	if o == nil || o.IncludePhoneNumbers == nil {
+		return nil, false
+	}
+	return o.IncludePhoneNumbers, true
+}
+
+// HasIncludePhoneNumbers returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludePhoneNumbers() bool {
+	if o != nil && o.IncludePhoneNumbers != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludePhoneNumbers gets a reference to the given []string and assigns it to the IncludePhoneNumbers field.
+func (o *PlayerNotificationTarget) SetIncludePhoneNumbers(v []string) {
+	o.IncludePhoneNumbers = v
+}
+
+// GetIncludeIosTokens returns the IncludeIosTokens field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeIosTokens() []string {
+	if o == nil || o.IncludeIosTokens == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeIosTokens
+}
+
+// GetIncludeIosTokensOk returns a tuple with the IncludeIosTokens field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeIosTokensOk() ([]string, bool) {
+	if o == nil || o.IncludeIosTokens == nil {
+		return nil, false
+	}
+	return o.IncludeIosTokens, true
+}
+
+// HasIncludeIosTokens returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeIosTokens() bool {
+	if o != nil && o.IncludeIosTokens != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeIosTokens gets a reference to the given []string and assigns it to the IncludeIosTokens field.
+func (o *PlayerNotificationTarget) SetIncludeIosTokens(v []string) {
+	o.IncludeIosTokens = v
+}
+
+// GetIncludeWpWnsUris returns the IncludeWpWnsUris field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeWpWnsUris() []string {
+	if o == nil || o.IncludeWpWnsUris == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeWpWnsUris
+}
+
+// GetIncludeWpWnsUrisOk returns a tuple with the IncludeWpWnsUris field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeWpWnsUrisOk() ([]string, bool) {
+	if o == nil || o.IncludeWpWnsUris == nil {
+		return nil, false
+	}
+	return o.IncludeWpWnsUris, true
+}
+
+// HasIncludeWpWnsUris returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeWpWnsUris() bool {
+	if o != nil && o.IncludeWpWnsUris != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeWpWnsUris gets a reference to the given []string and assigns it to the IncludeWpWnsUris field.
+func (o *PlayerNotificationTarget) SetIncludeWpWnsUris(v []string) {
+	o.IncludeWpWnsUris = v
+}
+
+// GetIncludeAmazonRegIds returns the IncludeAmazonRegIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeAmazonRegIds() []string {
+	if o == nil || o.IncludeAmazonRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeAmazonRegIds
+}
+
+// GetIncludeAmazonRegIdsOk returns a tuple with the IncludeAmazonRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeAmazonRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeAmazonRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeAmazonRegIds, true
+}
+
+// HasIncludeAmazonRegIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeAmazonRegIds() bool {
+	if o != nil && o.IncludeAmazonRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeAmazonRegIds gets a reference to the given []string and assigns it to the IncludeAmazonRegIds field.
+func (o *PlayerNotificationTarget) SetIncludeAmazonRegIds(v []string) {
+	o.IncludeAmazonRegIds = v
+}
+
+// GetIncludeChromeRegIds returns the IncludeChromeRegIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeChromeRegIds() []string {
+	if o == nil || o.IncludeChromeRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeChromeRegIds
+}
+
+// GetIncludeChromeRegIdsOk returns a tuple with the IncludeChromeRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeChromeRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeChromeRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeChromeRegIds, true
+}
+
+// HasIncludeChromeRegIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeChromeRegIds() bool {
+	if o != nil && o.IncludeChromeRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeChromeRegIds gets a reference to the given []string and assigns it to the IncludeChromeRegIds field.
+func (o *PlayerNotificationTarget) SetIncludeChromeRegIds(v []string) {
+	o.IncludeChromeRegIds = v
+}
+
+// GetIncludeChromeWebRegIds returns the IncludeChromeWebRegIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeChromeWebRegIds() []string {
+	if o == nil || o.IncludeChromeWebRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeChromeWebRegIds
+}
+
+// GetIncludeChromeWebRegIdsOk returns a tuple with the IncludeChromeWebRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeChromeWebRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeChromeWebRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeChromeWebRegIds, true
+}
+
+// HasIncludeChromeWebRegIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeChromeWebRegIds() bool {
+	if o != nil && o.IncludeChromeWebRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeChromeWebRegIds gets a reference to the given []string and assigns it to the IncludeChromeWebRegIds field.
+func (o *PlayerNotificationTarget) SetIncludeChromeWebRegIds(v []string) {
+	o.IncludeChromeWebRegIds = v
+}
+
+// GetIncludeAndroidRegIds returns the IncludeAndroidRegIds field value if set, zero value otherwise.
+func (o *PlayerNotificationTarget) GetIncludeAndroidRegIds() []string {
+	if o == nil || o.IncludeAndroidRegIds == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludeAndroidRegIds
+}
+
+// GetIncludeAndroidRegIdsOk returns a tuple with the IncludeAndroidRegIds field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerNotificationTarget) GetIncludeAndroidRegIdsOk() ([]string, bool) {
+	if o == nil || o.IncludeAndroidRegIds == nil {
+		return nil, false
+	}
+	return o.IncludeAndroidRegIds, true
+}
+
+// HasIncludeAndroidRegIds returns a boolean if a field has been set.
+func (o *PlayerNotificationTarget) HasIncludeAndroidRegIds() bool {
+	if o != nil && o.IncludeAndroidRegIds != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludeAndroidRegIds gets a reference to the given []string and assigns it to the IncludeAndroidRegIds field.
+func (o *PlayerNotificationTarget) SetIncludeAndroidRegIds(v []string) {
+	o.IncludeAndroidRegIds = v
+}
+
+func (o PlayerNotificationTarget) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.IncludePlayerIds != nil {
+		toSerialize["include_player_ids"] = o.IncludePlayerIds
+	}
+	if o.IncludeExternalUserIds != nil {
+		toSerialize["include_external_user_ids"] = o.IncludeExternalUserIds
+	}
+	if o.IncludeEmailTokens != nil {
+		toSerialize["include_email_tokens"] = o.IncludeEmailTokens
+	}
+	if o.IncludePhoneNumbers != nil {
+		toSerialize["include_phone_numbers"] = o.IncludePhoneNumbers
+	}
+	if o.IncludeIosTokens != nil {
+		toSerialize["include_ios_tokens"] = o.IncludeIosTokens
+	}
+	if o.IncludeWpWnsUris != nil {
+		toSerialize["include_wp_wns_uris"] = o.IncludeWpWnsUris
+	}
+	if o.IncludeAmazonRegIds != nil {
+		toSerialize["include_amazon_reg_ids"] = o.IncludeAmazonRegIds
+	}
+	if o.IncludeChromeRegIds != nil {
+		toSerialize["include_chrome_reg_ids"] = o.IncludeChromeRegIds
+	}
+	if o.IncludeChromeWebRegIds != nil {
+		toSerialize["include_chrome_web_reg_ids"] = o.IncludeChromeWebRegIds
+	}
+	if o.IncludeAndroidRegIds != nil {
+		toSerialize["include_android_reg_ids"] = o.IncludeAndroidRegIds
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *PlayerNotificationTarget) UnmarshalJSON(bytes []byte) (err error) {
+	varPlayerNotificationTarget := _PlayerNotificationTarget{}
+
+	if err = json.Unmarshal(bytes, &varPlayerNotificationTarget); err == nil {
+		*o = PlayerNotificationTarget(varPlayerNotificationTarget)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "include_player_ids")
+		delete(additionalProperties, "include_external_user_ids")
+		delete(additionalProperties, "include_email_tokens")
+		delete(additionalProperties, "include_phone_numbers")
+		delete(additionalProperties, "include_ios_tokens")
+		delete(additionalProperties, "include_wp_wns_uris")
+		delete(additionalProperties, "include_amazon_reg_ids")
+		delete(additionalProperties, "include_chrome_reg_ids")
+		delete(additionalProperties, "include_chrome_web_reg_ids")
+		delete(additionalProperties, "include_android_reg_ids")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullablePlayerNotificationTarget struct {
+	value *PlayerNotificationTarget
+	isSet bool
+}
+
+func (v NullablePlayerNotificationTarget) Get() *PlayerNotificationTarget {
+	return v.value
+}
+
+func (v *NullablePlayerNotificationTarget) Set(val *PlayerNotificationTarget) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullablePlayerNotificationTarget) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullablePlayerNotificationTarget) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullablePlayerNotificationTarget(val *PlayerNotificationTarget) *NullablePlayerNotificationTarget {
+	return &NullablePlayerNotificationTarget{value: val, isSet: true}
+}
+
+func (v NullablePlayerNotificationTarget) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullablePlayerNotificationTarget) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_player_slice.go b/model_player_slice.go
new file mode 100644
index 0000000..cc43d67
--- /dev/null
+++ b/model_player_slice.go
@@ -0,0 +1,252 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// PlayerSlice struct for PlayerSlice
+type PlayerSlice struct {
+	TotalCount *int32 `json:"total_count,omitempty"`
+	Offset *int32 `json:"offset,omitempty"`
+	Limit *int32 `json:"limit,omitempty"`
+	Players []Player `json:"players,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _PlayerSlice PlayerSlice
+
+// NewPlayerSlice instantiates a new PlayerSlice object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewPlayerSlice() *PlayerSlice {
+	this := PlayerSlice{}
+	return &this
+}
+
+// NewPlayerSliceWithDefaults instantiates a new PlayerSlice object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewPlayerSliceWithDefaults() *PlayerSlice {
+	this := PlayerSlice{}
+	return &this
+}
+
+// GetTotalCount returns the TotalCount field value if set, zero value otherwise.
+func (o *PlayerSlice) GetTotalCount() int32 {
+	if o == nil || o.TotalCount == nil {
+		var ret int32
+		return ret
+	}
+	return *o.TotalCount
+}
+
+// GetTotalCountOk returns a tuple with the TotalCount field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerSlice) GetTotalCountOk() (*int32, bool) {
+	if o == nil || o.TotalCount == nil {
+		return nil, false
+	}
+	return o.TotalCount, true
+}
+
+// HasTotalCount returns a boolean if a field has been set.
+func (o *PlayerSlice) HasTotalCount() bool {
+	if o != nil && o.TotalCount != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTotalCount gets a reference to the given int32 and assigns it to the TotalCount field.
+func (o *PlayerSlice) SetTotalCount(v int32) {
+	o.TotalCount = &v
+}
+
+// GetOffset returns the Offset field value if set, zero value otherwise.
+func (o *PlayerSlice) GetOffset() int32 {
+	if o == nil || o.Offset == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Offset
+}
+
+// GetOffsetOk returns a tuple with the Offset field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerSlice) GetOffsetOk() (*int32, bool) {
+	if o == nil || o.Offset == nil {
+		return nil, false
+	}
+	return o.Offset, true
+}
+
+// HasOffset returns a boolean if a field has been set.
+func (o *PlayerSlice) HasOffset() bool {
+	if o != nil && o.Offset != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetOffset gets a reference to the given int32 and assigns it to the Offset field.
+func (o *PlayerSlice) SetOffset(v int32) {
+	o.Offset = &v
+}
+
+// GetLimit returns the Limit field value if set, zero value otherwise.
+func (o *PlayerSlice) GetLimit() int32 {
+	if o == nil || o.Limit == nil {
+		var ret int32
+		return ret
+	}
+	return *o.Limit
+}
+
+// GetLimitOk returns a tuple with the Limit field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerSlice) GetLimitOk() (*int32, bool) {
+	if o == nil || o.Limit == nil {
+		return nil, false
+	}
+	return o.Limit, true
+}
+
+// HasLimit returns a boolean if a field has been set.
+func (o *PlayerSlice) HasLimit() bool {
+	if o != nil && o.Limit != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLimit gets a reference to the given int32 and assigns it to the Limit field.
+func (o *PlayerSlice) SetLimit(v int32) {
+	o.Limit = &v
+}
+
+// GetPlayers returns the Players field value if set, zero value otherwise.
+func (o *PlayerSlice) GetPlayers() []Player {
+	if o == nil || o.Players == nil {
+		var ret []Player
+		return ret
+	}
+	return o.Players
+}
+
+// GetPlayersOk returns a tuple with the Players field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *PlayerSlice) GetPlayersOk() ([]Player, bool) {
+	if o == nil || o.Players == nil {
+		return nil, false
+	}
+	return o.Players, true
+}
+
+// HasPlayers returns a boolean if a field has been set.
+func (o *PlayerSlice) HasPlayers() bool {
+	if o != nil && o.Players != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPlayers gets a reference to the given []Player and assigns it to the Players field.
+func (o *PlayerSlice) SetPlayers(v []Player) {
+	o.Players = v
+}
+
+func (o PlayerSlice) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.TotalCount != nil {
+		toSerialize["total_count"] = o.TotalCount
+	}
+	if o.Offset != nil {
+		toSerialize["offset"] = o.Offset
+	}
+	if o.Limit != nil {
+		toSerialize["limit"] = o.Limit
+	}
+	if o.Players != nil {
+		toSerialize["players"] = o.Players
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *PlayerSlice) UnmarshalJSON(bytes []byte) (err error) {
+	varPlayerSlice := _PlayerSlice{}
+
+	if err = json.Unmarshal(bytes, &varPlayerSlice); err == nil {
+		*o = PlayerSlice(varPlayerSlice)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "total_count")
+		delete(additionalProperties, "offset")
+		delete(additionalProperties, "limit")
+		delete(additionalProperties, "players")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullablePlayerSlice struct {
+	value *PlayerSlice
+	isSet bool
+}
+
+func (v NullablePlayerSlice) Get() *PlayerSlice {
+	return v.value
+}
+
+func (v *NullablePlayerSlice) Set(val *PlayerSlice) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullablePlayerSlice) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullablePlayerSlice) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullablePlayerSlice(val *PlayerSlice) *NullablePlayerSlice {
+	return &NullablePlayerSlice{value: val, isSet: true}
+}
+
+func (v NullablePlayerSlice) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullablePlayerSlice) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_purchase.go b/model_purchase.go
new file mode 100644
index 0000000..61d9dfc
--- /dev/null
+++ b/model_purchase.go
@@ -0,0 +1,197 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Purchase struct for Purchase
+type Purchase struct {
+	// The unique identifier of the purchased item.
+	Sku string `json:"sku"`
+	// The amount, in USD, spent purchasing the item.
+	Amount float32 `json:"amount"`
+	// The 3-letter ISO 4217 currency code. Required for correct storage and conversion of amount.
+	Iso string `json:"iso"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Purchase Purchase
+
+// NewPurchase instantiates a new Purchase object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewPurchase(sku string, amount float32, iso string) *Purchase {
+	this := Purchase{}
+	this.Sku = sku
+	this.Amount = amount
+	this.Iso = iso
+	return &this
+}
+
+// NewPurchaseWithDefaults instantiates a new Purchase object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewPurchaseWithDefaults() *Purchase {
+	this := Purchase{}
+	return &this
+}
+
+// GetSku returns the Sku field value
+func (o *Purchase) GetSku() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Sku
+}
+
+// GetSkuOk returns a tuple with the Sku field value
+// and a boolean to check if the value has been set.
+func (o *Purchase) GetSkuOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Sku, true
+}
+
+// SetSku sets field value
+func (o *Purchase) SetSku(v string) {
+	o.Sku = v
+}
+
+// GetAmount returns the Amount field value
+func (o *Purchase) GetAmount() float32 {
+	if o == nil {
+		var ret float32
+		return ret
+	}
+
+	return o.Amount
+}
+
+// GetAmountOk returns a tuple with the Amount field value
+// and a boolean to check if the value has been set.
+func (o *Purchase) GetAmountOk() (*float32, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Amount, true
+}
+
+// SetAmount sets field value
+func (o *Purchase) SetAmount(v float32) {
+	o.Amount = v
+}
+
+// GetIso returns the Iso field value
+func (o *Purchase) GetIso() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Iso
+}
+
+// GetIsoOk returns a tuple with the Iso field value
+// and a boolean to check if the value has been set.
+func (o *Purchase) GetIsoOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Iso, true
+}
+
+// SetIso sets field value
+func (o *Purchase) SetIso(v string) {
+	o.Iso = v
+}
+
+func (o Purchase) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["sku"] = o.Sku
+	}
+	if true {
+		toSerialize["amount"] = o.Amount
+	}
+	if true {
+		toSerialize["iso"] = o.Iso
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Purchase) UnmarshalJSON(bytes []byte) (err error) {
+	varPurchase := _Purchase{}
+
+	if err = json.Unmarshal(bytes, &varPurchase); err == nil {
+		*o = Purchase(varPurchase)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "sku")
+		delete(additionalProperties, "amount")
+		delete(additionalProperties, "iso")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullablePurchase struct {
+	value *Purchase
+	isSet bool
+}
+
+func (v NullablePurchase) Get() *Purchase {
+	return v.value
+}
+
+func (v *NullablePurchase) Set(val *Purchase) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullablePurchase) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullablePurchase) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullablePurchase(val *Purchase) *NullablePurchase {
+	return &NullablePurchase{value: val, isSet: true}
+}
+
+func (v NullablePurchase) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullablePurchase) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_segment.go b/model_segment.go
new file mode 100644
index 0000000..d0eebb7
--- /dev/null
+++ b/model_segment.go
@@ -0,0 +1,204 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// Segment struct for Segment
+type Segment struct {
+	// UUID of the segment.  If left empty, it will be assigned automaticaly.
+	Id *string `json:"id,omitempty"`
+	// Name of the segment.  You'll see this name on the Web UI.
+	Name string `json:"name"`
+	// Filter or operators the segment will have.  For a list of available filters with details, please see Send to Users Based on Filters.
+	Filters []FilterExpressions `json:"filters"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _Segment Segment
+
+// NewSegment instantiates a new Segment object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewSegment(name string, filters []FilterExpressions) *Segment {
+	this := Segment{}
+	this.Name = name
+	this.Filters = filters
+	return &this
+}
+
+// NewSegmentWithDefaults instantiates a new Segment object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewSegmentWithDefaults() *Segment {
+	this := Segment{}
+	return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *Segment) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *Segment) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *Segment) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *Segment) SetId(v string) {
+	o.Id = &v
+}
+
+// GetName returns the Name field value
+func (o *Segment) GetName() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value
+// and a boolean to check if the value has been set.
+func (o *Segment) GetNameOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.Name, true
+}
+
+// SetName sets field value
+func (o *Segment) SetName(v string) {
+	o.Name = v
+}
+
+// GetFilters returns the Filters field value
+func (o *Segment) GetFilters() []FilterExpressions {
+	if o == nil {
+		var ret []FilterExpressions
+		return ret
+	}
+
+	return o.Filters
+}
+
+// GetFiltersOk returns a tuple with the Filters field value
+// and a boolean to check if the value has been set.
+func (o *Segment) GetFiltersOk() ([]FilterExpressions, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return o.Filters, true
+}
+
+// SetFilters sets field value
+func (o *Segment) SetFilters(v []FilterExpressions) {
+	o.Filters = v
+}
+
+func (o Segment) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if true {
+		toSerialize["name"] = o.Name
+	}
+	if true {
+		toSerialize["filters"] = o.Filters
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *Segment) UnmarshalJSON(bytes []byte) (err error) {
+	varSegment := _Segment{}
+
+	if err = json.Unmarshal(bytes, &varSegment); err == nil {
+		*o = Segment(varSegment)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "name")
+		delete(additionalProperties, "filters")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableSegment struct {
+	value *Segment
+	isSet bool
+}
+
+func (v NullableSegment) Get() *Segment {
+	return v.value
+}
+
+func (v *NullableSegment) Set(val *Segment) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableSegment) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableSegment) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableSegment(val *Segment) *NullableSegment {
+	return &NullableSegment{value: val, isSet: true}
+}
+
+func (v NullableSegment) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableSegment) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_segment_notification_target.go b/model_segment_notification_target.go
new file mode 100644
index 0000000..6e5f321
--- /dev/null
+++ b/model_segment_notification_target.go
@@ -0,0 +1,180 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// SegmentNotificationTarget struct for SegmentNotificationTarget
+type SegmentNotificationTarget struct {
+	// The segment names you want to target. Users in these segments will receive a notification. This targeting parameter is only compatible with excluded_segments. Example: [\"Active Users\", \"Inactive Users\"] 
+	IncludedSegments []string `json:"included_segments,omitempty"`
+	// Segment that will be excluded when sending. Users in these segments will not receive a notification, even if they were included in included_segments. This targeting parameter is only compatible with included_segments. Example: [\"Active Users\", \"Inactive Users\"] 
+	ExcludedSegments []string `json:"excluded_segments,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _SegmentNotificationTarget SegmentNotificationTarget
+
+// NewSegmentNotificationTarget instantiates a new SegmentNotificationTarget object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewSegmentNotificationTarget() *SegmentNotificationTarget {
+	this := SegmentNotificationTarget{}
+	return &this
+}
+
+// NewSegmentNotificationTargetWithDefaults instantiates a new SegmentNotificationTarget object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewSegmentNotificationTargetWithDefaults() *SegmentNotificationTarget {
+	this := SegmentNotificationTarget{}
+	return &this
+}
+
+// GetIncludedSegments returns the IncludedSegments field value if set, zero value otherwise.
+func (o *SegmentNotificationTarget) GetIncludedSegments() []string {
+	if o == nil || o.IncludedSegments == nil {
+		var ret []string
+		return ret
+	}
+	return o.IncludedSegments
+}
+
+// GetIncludedSegmentsOk returns a tuple with the IncludedSegments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *SegmentNotificationTarget) GetIncludedSegmentsOk() ([]string, bool) {
+	if o == nil || o.IncludedSegments == nil {
+		return nil, false
+	}
+	return o.IncludedSegments, true
+}
+
+// HasIncludedSegments returns a boolean if a field has been set.
+func (o *SegmentNotificationTarget) HasIncludedSegments() bool {
+	if o != nil && o.IncludedSegments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIncludedSegments gets a reference to the given []string and assigns it to the IncludedSegments field.
+func (o *SegmentNotificationTarget) SetIncludedSegments(v []string) {
+	o.IncludedSegments = v
+}
+
+// GetExcludedSegments returns the ExcludedSegments field value if set, zero value otherwise.
+func (o *SegmentNotificationTarget) GetExcludedSegments() []string {
+	if o == nil || o.ExcludedSegments == nil {
+		var ret []string
+		return ret
+	}
+	return o.ExcludedSegments
+}
+
+// GetExcludedSegmentsOk returns a tuple with the ExcludedSegments field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *SegmentNotificationTarget) GetExcludedSegmentsOk() ([]string, bool) {
+	if o == nil || o.ExcludedSegments == nil {
+		return nil, false
+	}
+	return o.ExcludedSegments, true
+}
+
+// HasExcludedSegments returns a boolean if a field has been set.
+func (o *SegmentNotificationTarget) HasExcludedSegments() bool {
+	if o != nil && o.ExcludedSegments != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetExcludedSegments gets a reference to the given []string and assigns it to the ExcludedSegments field.
+func (o *SegmentNotificationTarget) SetExcludedSegments(v []string) {
+	o.ExcludedSegments = v
+}
+
+func (o SegmentNotificationTarget) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.IncludedSegments != nil {
+		toSerialize["included_segments"] = o.IncludedSegments
+	}
+	if o.ExcludedSegments != nil {
+		toSerialize["excluded_segments"] = o.ExcludedSegments
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *SegmentNotificationTarget) UnmarshalJSON(bytes []byte) (err error) {
+	varSegmentNotificationTarget := _SegmentNotificationTarget{}
+
+	if err = json.Unmarshal(bytes, &varSegmentNotificationTarget); err == nil {
+		*o = SegmentNotificationTarget(varSegmentNotificationTarget)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "included_segments")
+		delete(additionalProperties, "excluded_segments")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableSegmentNotificationTarget struct {
+	value *SegmentNotificationTarget
+	isSet bool
+}
+
+func (v NullableSegmentNotificationTarget) Get() *SegmentNotificationTarget {
+	return v.value
+}
+
+func (v *NullableSegmentNotificationTarget) Set(val *SegmentNotificationTarget) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableSegmentNotificationTarget) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableSegmentNotificationTarget) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableSegmentNotificationTarget(val *SegmentNotificationTarget) *NullableSegmentNotificationTarget {
+	return &NullableSegmentNotificationTarget{value: val, isSet: true}
+}
+
+func (v NullableSegmentNotificationTarget) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableSegmentNotificationTarget) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_string_map.go b/model_string_map.go
new file mode 100644
index 0000000..5c5ff5c
--- /dev/null
+++ b/model_string_map.go
@@ -0,0 +1,1731 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// StringMap struct for StringMap
+type StringMap struct {
+	// Text in English.  Will be used as a fallback
+	En string `json:"en"`
+	// Text in Arabic.
+	Ar *string `json:"ar,omitempty"`
+	// Text in Bosnian.
+	Bs *string `json:"bs,omitempty"`
+	// Text in Bulgarian.
+	Bg *string `json:"bg,omitempty"`
+	// Text in Catalan.
+	Ca *string `json:"ca,omitempty"`
+	// Text in Chinese (Simplified).
+	ZhHans *string `json:"zh-Hans,omitempty"`
+	// Text in Chinese (Traditional).
+	ZhHant *string `json:"zh-Hant,omitempty"`
+	// Alias for zh-Hans.
+	Zh *string `json:"zh,omitempty"`
+	// Text in Croatian.
+	Hr *string `json:"hr,omitempty"`
+	// Text in Czech.
+	Cs *string `json:"cs,omitempty"`
+	// Text in Danish.
+	Da *string `json:"da,omitempty"`
+	// Text in Dutch.
+	Nl *string `json:"nl,omitempty"`
+	// Text in Estonian.
+	Et *string `json:"et,omitempty"`
+	// Text in Finnish.
+	Fi *string `json:"fi,omitempty"`
+	// Text in French.
+	Fr *string `json:"fr,omitempty"`
+	// Text in Georgian.
+	Ka *string `json:"ka,omitempty"`
+	// Text in German.
+	De *string `json:"de,omitempty"`
+	// Text in Greek.
+	El *string `json:"el,omitempty"`
+	// Text in Hindi.
+	Hi *string `json:"hi,omitempty"`
+	// Text in Hebrew.
+	He *string `json:"he,omitempty"`
+	// Text in Hungarian.
+	Hu *string `json:"hu,omitempty"`
+	// Text in Indonesian.
+	Id *string `json:"id,omitempty"`
+	// Text in Italian.
+	It *string `json:"it,omitempty"`
+	// Text in Japanese.
+	Ja *string `json:"ja,omitempty"`
+	// Text in Korean.
+	Ko *string `json:"ko,omitempty"`
+	// Text in Latvian.
+	Lv *string `json:"lv,omitempty"`
+	// Text in Lithuanian.
+	Lt *string `json:"lt,omitempty"`
+	// Text in Malay.
+	Ms *string `json:"ms,omitempty"`
+	// Text in Norwegian.
+	Nb *string `json:"nb,omitempty"`
+	// Text in Polish.
+	Pl *string `json:"pl,omitempty"`
+	// Text in Persian.
+	Fa *string `json:"fa,omitempty"`
+	// Text in Portugese.
+	Pt *string `json:"pt,omitempty"`
+	// Text in Punjabi.
+	Pa *string `json:"pa,omitempty"`
+	// Text in Romanian.
+	Ro *string `json:"ro,omitempty"`
+	// Text in Russian.
+	Ru *string `json:"ru,omitempty"`
+	// Text in Serbian.
+	Sr *string `json:"sr,omitempty"`
+	// Text in Slovak.
+	Sk *string `json:"sk,omitempty"`
+	// Text in Spanish.
+	Es *string `json:"es,omitempty"`
+	// Text in Swedish.
+	Sv *string `json:"sv,omitempty"`
+	// Text in Thai.
+	Th *string `json:"th,omitempty"`
+	// Text in Turkish.
+	Tr *string `json:"tr,omitempty"`
+	// Text in Ukrainian.
+	Uk *string `json:"uk,omitempty"`
+	// Text in Vietnamese.
+	Vi *string `json:"vi,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _StringMap StringMap
+
+// NewStringMap instantiates a new StringMap object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewStringMap(en string) *StringMap {
+	this := StringMap{}
+	this.En = en
+	return &this
+}
+
+// NewStringMapWithDefaults instantiates a new StringMap object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewStringMapWithDefaults() *StringMap {
+	this := StringMap{}
+	return &this
+}
+
+// GetEn returns the En field value
+func (o *StringMap) GetEn() string {
+	if o == nil {
+		var ret string
+		return ret
+	}
+
+	return o.En
+}
+
+// GetEnOk returns a tuple with the En field value
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetEnOk() (*string, bool) {
+	if o == nil {
+		return nil, false
+	}
+	return &o.En, true
+}
+
+// SetEn sets field value
+func (o *StringMap) SetEn(v string) {
+	o.En = v
+}
+
+// GetAr returns the Ar field value if set, zero value otherwise.
+func (o *StringMap) GetAr() string {
+	if o == nil || o.Ar == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ar
+}
+
+// GetArOk returns a tuple with the Ar field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetArOk() (*string, bool) {
+	if o == nil || o.Ar == nil {
+		return nil, false
+	}
+	return o.Ar, true
+}
+
+// HasAr returns a boolean if a field has been set.
+func (o *StringMap) HasAr() bool {
+	if o != nil && o.Ar != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetAr gets a reference to the given string and assigns it to the Ar field.
+func (o *StringMap) SetAr(v string) {
+	o.Ar = &v
+}
+
+// GetBs returns the Bs field value if set, zero value otherwise.
+func (o *StringMap) GetBs() string {
+	if o == nil || o.Bs == nil {
+		var ret string
+		return ret
+	}
+	return *o.Bs
+}
+
+// GetBsOk returns a tuple with the Bs field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetBsOk() (*string, bool) {
+	if o == nil || o.Bs == nil {
+		return nil, false
+	}
+	return o.Bs, true
+}
+
+// HasBs returns a boolean if a field has been set.
+func (o *StringMap) HasBs() bool {
+	if o != nil && o.Bs != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBs gets a reference to the given string and assigns it to the Bs field.
+func (o *StringMap) SetBs(v string) {
+	o.Bs = &v
+}
+
+// GetBg returns the Bg field value if set, zero value otherwise.
+func (o *StringMap) GetBg() string {
+	if o == nil || o.Bg == nil {
+		var ret string
+		return ret
+	}
+	return *o.Bg
+}
+
+// GetBgOk returns a tuple with the Bg field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetBgOk() (*string, bool) {
+	if o == nil || o.Bg == nil {
+		return nil, false
+	}
+	return o.Bg, true
+}
+
+// HasBg returns a boolean if a field has been set.
+func (o *StringMap) HasBg() bool {
+	if o != nil && o.Bg != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetBg gets a reference to the given string and assigns it to the Bg field.
+func (o *StringMap) SetBg(v string) {
+	o.Bg = &v
+}
+
+// GetCa returns the Ca field value if set, zero value otherwise.
+func (o *StringMap) GetCa() string {
+	if o == nil || o.Ca == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ca
+}
+
+// GetCaOk returns a tuple with the Ca field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetCaOk() (*string, bool) {
+	if o == nil || o.Ca == nil {
+		return nil, false
+	}
+	return o.Ca, true
+}
+
+// HasCa returns a boolean if a field has been set.
+func (o *StringMap) HasCa() bool {
+	if o != nil && o.Ca != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCa gets a reference to the given string and assigns it to the Ca field.
+func (o *StringMap) SetCa(v string) {
+	o.Ca = &v
+}
+
+// GetZhHans returns the ZhHans field value if set, zero value otherwise.
+func (o *StringMap) GetZhHans() string {
+	if o == nil || o.ZhHans == nil {
+		var ret string
+		return ret
+	}
+	return *o.ZhHans
+}
+
+// GetZhHansOk returns a tuple with the ZhHans field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetZhHansOk() (*string, bool) {
+	if o == nil || o.ZhHans == nil {
+		return nil, false
+	}
+	return o.ZhHans, true
+}
+
+// HasZhHans returns a boolean if a field has been set.
+func (o *StringMap) HasZhHans() bool {
+	if o != nil && o.ZhHans != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetZhHans gets a reference to the given string and assigns it to the ZhHans field.
+func (o *StringMap) SetZhHans(v string) {
+	o.ZhHans = &v
+}
+
+// GetZhHant returns the ZhHant field value if set, zero value otherwise.
+func (o *StringMap) GetZhHant() string {
+	if o == nil || o.ZhHant == nil {
+		var ret string
+		return ret
+	}
+	return *o.ZhHant
+}
+
+// GetZhHantOk returns a tuple with the ZhHant field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetZhHantOk() (*string, bool) {
+	if o == nil || o.ZhHant == nil {
+		return nil, false
+	}
+	return o.ZhHant, true
+}
+
+// HasZhHant returns a boolean if a field has been set.
+func (o *StringMap) HasZhHant() bool {
+	if o != nil && o.ZhHant != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetZhHant gets a reference to the given string and assigns it to the ZhHant field.
+func (o *StringMap) SetZhHant(v string) {
+	o.ZhHant = &v
+}
+
+// GetZh returns the Zh field value if set, zero value otherwise.
+func (o *StringMap) GetZh() string {
+	if o == nil || o.Zh == nil {
+		var ret string
+		return ret
+	}
+	return *o.Zh
+}
+
+// GetZhOk returns a tuple with the Zh field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetZhOk() (*string, bool) {
+	if o == nil || o.Zh == nil {
+		return nil, false
+	}
+	return o.Zh, true
+}
+
+// HasZh returns a boolean if a field has been set.
+func (o *StringMap) HasZh() bool {
+	if o != nil && o.Zh != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetZh gets a reference to the given string and assigns it to the Zh field.
+func (o *StringMap) SetZh(v string) {
+	o.Zh = &v
+}
+
+// GetHr returns the Hr field value if set, zero value otherwise.
+func (o *StringMap) GetHr() string {
+	if o == nil || o.Hr == nil {
+		var ret string
+		return ret
+	}
+	return *o.Hr
+}
+
+// GetHrOk returns a tuple with the Hr field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetHrOk() (*string, bool) {
+	if o == nil || o.Hr == nil {
+		return nil, false
+	}
+	return o.Hr, true
+}
+
+// HasHr returns a boolean if a field has been set.
+func (o *StringMap) HasHr() bool {
+	if o != nil && o.Hr != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHr gets a reference to the given string and assigns it to the Hr field.
+func (o *StringMap) SetHr(v string) {
+	o.Hr = &v
+}
+
+// GetCs returns the Cs field value if set, zero value otherwise.
+func (o *StringMap) GetCs() string {
+	if o == nil || o.Cs == nil {
+		var ret string
+		return ret
+	}
+	return *o.Cs
+}
+
+// GetCsOk returns a tuple with the Cs field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetCsOk() (*string, bool) {
+	if o == nil || o.Cs == nil {
+		return nil, false
+	}
+	return o.Cs, true
+}
+
+// HasCs returns a boolean if a field has been set.
+func (o *StringMap) HasCs() bool {
+	if o != nil && o.Cs != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetCs gets a reference to the given string and assigns it to the Cs field.
+func (o *StringMap) SetCs(v string) {
+	o.Cs = &v
+}
+
+// GetDa returns the Da field value if set, zero value otherwise.
+func (o *StringMap) GetDa() string {
+	if o == nil || o.Da == nil {
+		var ret string
+		return ret
+	}
+	return *o.Da
+}
+
+// GetDaOk returns a tuple with the Da field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetDaOk() (*string, bool) {
+	if o == nil || o.Da == nil {
+		return nil, false
+	}
+	return o.Da, true
+}
+
+// HasDa returns a boolean if a field has been set.
+func (o *StringMap) HasDa() bool {
+	if o != nil && o.Da != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDa gets a reference to the given string and assigns it to the Da field.
+func (o *StringMap) SetDa(v string) {
+	o.Da = &v
+}
+
+// GetNl returns the Nl field value if set, zero value otherwise.
+func (o *StringMap) GetNl() string {
+	if o == nil || o.Nl == nil {
+		var ret string
+		return ret
+	}
+	return *o.Nl
+}
+
+// GetNlOk returns a tuple with the Nl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetNlOk() (*string, bool) {
+	if o == nil || o.Nl == nil {
+		return nil, false
+	}
+	return o.Nl, true
+}
+
+// HasNl returns a boolean if a field has been set.
+func (o *StringMap) HasNl() bool {
+	if o != nil && o.Nl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNl gets a reference to the given string and assigns it to the Nl field.
+func (o *StringMap) SetNl(v string) {
+	o.Nl = &v
+}
+
+// GetEt returns the Et field value if set, zero value otherwise.
+func (o *StringMap) GetEt() string {
+	if o == nil || o.Et == nil {
+		var ret string
+		return ret
+	}
+	return *o.Et
+}
+
+// GetEtOk returns a tuple with the Et field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetEtOk() (*string, bool) {
+	if o == nil || o.Et == nil {
+		return nil, false
+	}
+	return o.Et, true
+}
+
+// HasEt returns a boolean if a field has been set.
+func (o *StringMap) HasEt() bool {
+	if o != nil && o.Et != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEt gets a reference to the given string and assigns it to the Et field.
+func (o *StringMap) SetEt(v string) {
+	o.Et = &v
+}
+
+// GetFi returns the Fi field value if set, zero value otherwise.
+func (o *StringMap) GetFi() string {
+	if o == nil || o.Fi == nil {
+		var ret string
+		return ret
+	}
+	return *o.Fi
+}
+
+// GetFiOk returns a tuple with the Fi field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetFiOk() (*string, bool) {
+	if o == nil || o.Fi == nil {
+		return nil, false
+	}
+	return o.Fi, true
+}
+
+// HasFi returns a boolean if a field has been set.
+func (o *StringMap) HasFi() bool {
+	if o != nil && o.Fi != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFi gets a reference to the given string and assigns it to the Fi field.
+func (o *StringMap) SetFi(v string) {
+	o.Fi = &v
+}
+
+// GetFr returns the Fr field value if set, zero value otherwise.
+func (o *StringMap) GetFr() string {
+	if o == nil || o.Fr == nil {
+		var ret string
+		return ret
+	}
+	return *o.Fr
+}
+
+// GetFrOk returns a tuple with the Fr field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetFrOk() (*string, bool) {
+	if o == nil || o.Fr == nil {
+		return nil, false
+	}
+	return o.Fr, true
+}
+
+// HasFr returns a boolean if a field has been set.
+func (o *StringMap) HasFr() bool {
+	if o != nil && o.Fr != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFr gets a reference to the given string and assigns it to the Fr field.
+func (o *StringMap) SetFr(v string) {
+	o.Fr = &v
+}
+
+// GetKa returns the Ka field value if set, zero value otherwise.
+func (o *StringMap) GetKa() string {
+	if o == nil || o.Ka == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ka
+}
+
+// GetKaOk returns a tuple with the Ka field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetKaOk() (*string, bool) {
+	if o == nil || o.Ka == nil {
+		return nil, false
+	}
+	return o.Ka, true
+}
+
+// HasKa returns a boolean if a field has been set.
+func (o *StringMap) HasKa() bool {
+	if o != nil && o.Ka != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetKa gets a reference to the given string and assigns it to the Ka field.
+func (o *StringMap) SetKa(v string) {
+	o.Ka = &v
+}
+
+// GetDe returns the De field value if set, zero value otherwise.
+func (o *StringMap) GetDe() string {
+	if o == nil || o.De == nil {
+		var ret string
+		return ret
+	}
+	return *o.De
+}
+
+// GetDeOk returns a tuple with the De field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetDeOk() (*string, bool) {
+	if o == nil || o.De == nil {
+		return nil, false
+	}
+	return o.De, true
+}
+
+// HasDe returns a boolean if a field has been set.
+func (o *StringMap) HasDe() bool {
+	if o != nil && o.De != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetDe gets a reference to the given string and assigns it to the De field.
+func (o *StringMap) SetDe(v string) {
+	o.De = &v
+}
+
+// GetEl returns the El field value if set, zero value otherwise.
+func (o *StringMap) GetEl() string {
+	if o == nil || o.El == nil {
+		var ret string
+		return ret
+	}
+	return *o.El
+}
+
+// GetElOk returns a tuple with the El field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetElOk() (*string, bool) {
+	if o == nil || o.El == nil {
+		return nil, false
+	}
+	return o.El, true
+}
+
+// HasEl returns a boolean if a field has been set.
+func (o *StringMap) HasEl() bool {
+	if o != nil && o.El != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEl gets a reference to the given string and assigns it to the El field.
+func (o *StringMap) SetEl(v string) {
+	o.El = &v
+}
+
+// GetHi returns the Hi field value if set, zero value otherwise.
+func (o *StringMap) GetHi() string {
+	if o == nil || o.Hi == nil {
+		var ret string
+		return ret
+	}
+	return *o.Hi
+}
+
+// GetHiOk returns a tuple with the Hi field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetHiOk() (*string, bool) {
+	if o == nil || o.Hi == nil {
+		return nil, false
+	}
+	return o.Hi, true
+}
+
+// HasHi returns a boolean if a field has been set.
+func (o *StringMap) HasHi() bool {
+	if o != nil && o.Hi != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHi gets a reference to the given string and assigns it to the Hi field.
+func (o *StringMap) SetHi(v string) {
+	o.Hi = &v
+}
+
+// GetHe returns the He field value if set, zero value otherwise.
+func (o *StringMap) GetHe() string {
+	if o == nil || o.He == nil {
+		var ret string
+		return ret
+	}
+	return *o.He
+}
+
+// GetHeOk returns a tuple with the He field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetHeOk() (*string, bool) {
+	if o == nil || o.He == nil {
+		return nil, false
+	}
+	return o.He, true
+}
+
+// HasHe returns a boolean if a field has been set.
+func (o *StringMap) HasHe() bool {
+	if o != nil && o.He != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHe gets a reference to the given string and assigns it to the He field.
+func (o *StringMap) SetHe(v string) {
+	o.He = &v
+}
+
+// GetHu returns the Hu field value if set, zero value otherwise.
+func (o *StringMap) GetHu() string {
+	if o == nil || o.Hu == nil {
+		var ret string
+		return ret
+	}
+	return *o.Hu
+}
+
+// GetHuOk returns a tuple with the Hu field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetHuOk() (*string, bool) {
+	if o == nil || o.Hu == nil {
+		return nil, false
+	}
+	return o.Hu, true
+}
+
+// HasHu returns a boolean if a field has been set.
+func (o *StringMap) HasHu() bool {
+	if o != nil && o.Hu != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetHu gets a reference to the given string and assigns it to the Hu field.
+func (o *StringMap) SetHu(v string) {
+	o.Hu = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *StringMap) GetId() string {
+	if o == nil || o.Id == nil {
+		var ret string
+		return ret
+	}
+	return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetIdOk() (*string, bool) {
+	if o == nil || o.Id == nil {
+		return nil, false
+	}
+	return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *StringMap) HasId() bool {
+	if o != nil && o.Id != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *StringMap) SetId(v string) {
+	o.Id = &v
+}
+
+// GetIt returns the It field value if set, zero value otherwise.
+func (o *StringMap) GetIt() string {
+	if o == nil || o.It == nil {
+		var ret string
+		return ret
+	}
+	return *o.It
+}
+
+// GetItOk returns a tuple with the It field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetItOk() (*string, bool) {
+	if o == nil || o.It == nil {
+		return nil, false
+	}
+	return o.It, true
+}
+
+// HasIt returns a boolean if a field has been set.
+func (o *StringMap) HasIt() bool {
+	if o != nil && o.It != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetIt gets a reference to the given string and assigns it to the It field.
+func (o *StringMap) SetIt(v string) {
+	o.It = &v
+}
+
+// GetJa returns the Ja field value if set, zero value otherwise.
+func (o *StringMap) GetJa() string {
+	if o == nil || o.Ja == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ja
+}
+
+// GetJaOk returns a tuple with the Ja field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetJaOk() (*string, bool) {
+	if o == nil || o.Ja == nil {
+		return nil, false
+	}
+	return o.Ja, true
+}
+
+// HasJa returns a boolean if a field has been set.
+func (o *StringMap) HasJa() bool {
+	if o != nil && o.Ja != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetJa gets a reference to the given string and assigns it to the Ja field.
+func (o *StringMap) SetJa(v string) {
+	o.Ja = &v
+}
+
+// GetKo returns the Ko field value if set, zero value otherwise.
+func (o *StringMap) GetKo() string {
+	if o == nil || o.Ko == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ko
+}
+
+// GetKoOk returns a tuple with the Ko field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetKoOk() (*string, bool) {
+	if o == nil || o.Ko == nil {
+		return nil, false
+	}
+	return o.Ko, true
+}
+
+// HasKo returns a boolean if a field has been set.
+func (o *StringMap) HasKo() bool {
+	if o != nil && o.Ko != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetKo gets a reference to the given string and assigns it to the Ko field.
+func (o *StringMap) SetKo(v string) {
+	o.Ko = &v
+}
+
+// GetLv returns the Lv field value if set, zero value otherwise.
+func (o *StringMap) GetLv() string {
+	if o == nil || o.Lv == nil {
+		var ret string
+		return ret
+	}
+	return *o.Lv
+}
+
+// GetLvOk returns a tuple with the Lv field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetLvOk() (*string, bool) {
+	if o == nil || o.Lv == nil {
+		return nil, false
+	}
+	return o.Lv, true
+}
+
+// HasLv returns a boolean if a field has been set.
+func (o *StringMap) HasLv() bool {
+	if o != nil && o.Lv != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLv gets a reference to the given string and assigns it to the Lv field.
+func (o *StringMap) SetLv(v string) {
+	o.Lv = &v
+}
+
+// GetLt returns the Lt field value if set, zero value otherwise.
+func (o *StringMap) GetLt() string {
+	if o == nil || o.Lt == nil {
+		var ret string
+		return ret
+	}
+	return *o.Lt
+}
+
+// GetLtOk returns a tuple with the Lt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetLtOk() (*string, bool) {
+	if o == nil || o.Lt == nil {
+		return nil, false
+	}
+	return o.Lt, true
+}
+
+// HasLt returns a boolean if a field has been set.
+func (o *StringMap) HasLt() bool {
+	if o != nil && o.Lt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetLt gets a reference to the given string and assigns it to the Lt field.
+func (o *StringMap) SetLt(v string) {
+	o.Lt = &v
+}
+
+// GetMs returns the Ms field value if set, zero value otherwise.
+func (o *StringMap) GetMs() string {
+	if o == nil || o.Ms == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ms
+}
+
+// GetMsOk returns a tuple with the Ms field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetMsOk() (*string, bool) {
+	if o == nil || o.Ms == nil {
+		return nil, false
+	}
+	return o.Ms, true
+}
+
+// HasMs returns a boolean if a field has been set.
+func (o *StringMap) HasMs() bool {
+	if o != nil && o.Ms != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetMs gets a reference to the given string and assigns it to the Ms field.
+func (o *StringMap) SetMs(v string) {
+	o.Ms = &v
+}
+
+// GetNb returns the Nb field value if set, zero value otherwise.
+func (o *StringMap) GetNb() string {
+	if o == nil || o.Nb == nil {
+		var ret string
+		return ret
+	}
+	return *o.Nb
+}
+
+// GetNbOk returns a tuple with the Nb field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetNbOk() (*string, bool) {
+	if o == nil || o.Nb == nil {
+		return nil, false
+	}
+	return o.Nb, true
+}
+
+// HasNb returns a boolean if a field has been set.
+func (o *StringMap) HasNb() bool {
+	if o != nil && o.Nb != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetNb gets a reference to the given string and assigns it to the Nb field.
+func (o *StringMap) SetNb(v string) {
+	o.Nb = &v
+}
+
+// GetPl returns the Pl field value if set, zero value otherwise.
+func (o *StringMap) GetPl() string {
+	if o == nil || o.Pl == nil {
+		var ret string
+		return ret
+	}
+	return *o.Pl
+}
+
+// GetPlOk returns a tuple with the Pl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetPlOk() (*string, bool) {
+	if o == nil || o.Pl == nil {
+		return nil, false
+	}
+	return o.Pl, true
+}
+
+// HasPl returns a boolean if a field has been set.
+func (o *StringMap) HasPl() bool {
+	if o != nil && o.Pl != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPl gets a reference to the given string and assigns it to the Pl field.
+func (o *StringMap) SetPl(v string) {
+	o.Pl = &v
+}
+
+// GetFa returns the Fa field value if set, zero value otherwise.
+func (o *StringMap) GetFa() string {
+	if o == nil || o.Fa == nil {
+		var ret string
+		return ret
+	}
+	return *o.Fa
+}
+
+// GetFaOk returns a tuple with the Fa field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetFaOk() (*string, bool) {
+	if o == nil || o.Fa == nil {
+		return nil, false
+	}
+	return o.Fa, true
+}
+
+// HasFa returns a boolean if a field has been set.
+func (o *StringMap) HasFa() bool {
+	if o != nil && o.Fa != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetFa gets a reference to the given string and assigns it to the Fa field.
+func (o *StringMap) SetFa(v string) {
+	o.Fa = &v
+}
+
+// GetPt returns the Pt field value if set, zero value otherwise.
+func (o *StringMap) GetPt() string {
+	if o == nil || o.Pt == nil {
+		var ret string
+		return ret
+	}
+	return *o.Pt
+}
+
+// GetPtOk returns a tuple with the Pt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetPtOk() (*string, bool) {
+	if o == nil || o.Pt == nil {
+		return nil, false
+	}
+	return o.Pt, true
+}
+
+// HasPt returns a boolean if a field has been set.
+func (o *StringMap) HasPt() bool {
+	if o != nil && o.Pt != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPt gets a reference to the given string and assigns it to the Pt field.
+func (o *StringMap) SetPt(v string) {
+	o.Pt = &v
+}
+
+// GetPa returns the Pa field value if set, zero value otherwise.
+func (o *StringMap) GetPa() string {
+	if o == nil || o.Pa == nil {
+		var ret string
+		return ret
+	}
+	return *o.Pa
+}
+
+// GetPaOk returns a tuple with the Pa field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetPaOk() (*string, bool) {
+	if o == nil || o.Pa == nil {
+		return nil, false
+	}
+	return o.Pa, true
+}
+
+// HasPa returns a boolean if a field has been set.
+func (o *StringMap) HasPa() bool {
+	if o != nil && o.Pa != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetPa gets a reference to the given string and assigns it to the Pa field.
+func (o *StringMap) SetPa(v string) {
+	o.Pa = &v
+}
+
+// GetRo returns the Ro field value if set, zero value otherwise.
+func (o *StringMap) GetRo() string {
+	if o == nil || o.Ro == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ro
+}
+
+// GetRoOk returns a tuple with the Ro field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetRoOk() (*string, bool) {
+	if o == nil || o.Ro == nil {
+		return nil, false
+	}
+	return o.Ro, true
+}
+
+// HasRo returns a boolean if a field has been set.
+func (o *StringMap) HasRo() bool {
+	if o != nil && o.Ro != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetRo gets a reference to the given string and assigns it to the Ro field.
+func (o *StringMap) SetRo(v string) {
+	o.Ro = &v
+}
+
+// GetRu returns the Ru field value if set, zero value otherwise.
+func (o *StringMap) GetRu() string {
+	if o == nil || o.Ru == nil {
+		var ret string
+		return ret
+	}
+	return *o.Ru
+}
+
+// GetRuOk returns a tuple with the Ru field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetRuOk() (*string, bool) {
+	if o == nil || o.Ru == nil {
+		return nil, false
+	}
+	return o.Ru, true
+}
+
+// HasRu returns a boolean if a field has been set.
+func (o *StringMap) HasRu() bool {
+	if o != nil && o.Ru != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetRu gets a reference to the given string and assigns it to the Ru field.
+func (o *StringMap) SetRu(v string) {
+	o.Ru = &v
+}
+
+// GetSr returns the Sr field value if set, zero value otherwise.
+func (o *StringMap) GetSr() string {
+	if o == nil || o.Sr == nil {
+		var ret string
+		return ret
+	}
+	return *o.Sr
+}
+
+// GetSrOk returns a tuple with the Sr field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetSrOk() (*string, bool) {
+	if o == nil || o.Sr == nil {
+		return nil, false
+	}
+	return o.Sr, true
+}
+
+// HasSr returns a boolean if a field has been set.
+func (o *StringMap) HasSr() bool {
+	if o != nil && o.Sr != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSr gets a reference to the given string and assigns it to the Sr field.
+func (o *StringMap) SetSr(v string) {
+	o.Sr = &v
+}
+
+// GetSk returns the Sk field value if set, zero value otherwise.
+func (o *StringMap) GetSk() string {
+	if o == nil || o.Sk == nil {
+		var ret string
+		return ret
+	}
+	return *o.Sk
+}
+
+// GetSkOk returns a tuple with the Sk field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetSkOk() (*string, bool) {
+	if o == nil || o.Sk == nil {
+		return nil, false
+	}
+	return o.Sk, true
+}
+
+// HasSk returns a boolean if a field has been set.
+func (o *StringMap) HasSk() bool {
+	if o != nil && o.Sk != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSk gets a reference to the given string and assigns it to the Sk field.
+func (o *StringMap) SetSk(v string) {
+	o.Sk = &v
+}
+
+// GetEs returns the Es field value if set, zero value otherwise.
+func (o *StringMap) GetEs() string {
+	if o == nil || o.Es == nil {
+		var ret string
+		return ret
+	}
+	return *o.Es
+}
+
+// GetEsOk returns a tuple with the Es field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetEsOk() (*string, bool) {
+	if o == nil || o.Es == nil {
+		return nil, false
+	}
+	return o.Es, true
+}
+
+// HasEs returns a boolean if a field has been set.
+func (o *StringMap) HasEs() bool {
+	if o != nil && o.Es != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetEs gets a reference to the given string and assigns it to the Es field.
+func (o *StringMap) SetEs(v string) {
+	o.Es = &v
+}
+
+// GetSv returns the Sv field value if set, zero value otherwise.
+func (o *StringMap) GetSv() string {
+	if o == nil || o.Sv == nil {
+		var ret string
+		return ret
+	}
+	return *o.Sv
+}
+
+// GetSvOk returns a tuple with the Sv field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetSvOk() (*string, bool) {
+	if o == nil || o.Sv == nil {
+		return nil, false
+	}
+	return o.Sv, true
+}
+
+// HasSv returns a boolean if a field has been set.
+func (o *StringMap) HasSv() bool {
+	if o != nil && o.Sv != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetSv gets a reference to the given string and assigns it to the Sv field.
+func (o *StringMap) SetSv(v string) {
+	o.Sv = &v
+}
+
+// GetTh returns the Th field value if set, zero value otherwise.
+func (o *StringMap) GetTh() string {
+	if o == nil || o.Th == nil {
+		var ret string
+		return ret
+	}
+	return *o.Th
+}
+
+// GetThOk returns a tuple with the Th field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetThOk() (*string, bool) {
+	if o == nil || o.Th == nil {
+		return nil, false
+	}
+	return o.Th, true
+}
+
+// HasTh returns a boolean if a field has been set.
+func (o *StringMap) HasTh() bool {
+	if o != nil && o.Th != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTh gets a reference to the given string and assigns it to the Th field.
+func (o *StringMap) SetTh(v string) {
+	o.Th = &v
+}
+
+// GetTr returns the Tr field value if set, zero value otherwise.
+func (o *StringMap) GetTr() string {
+	if o == nil || o.Tr == nil {
+		var ret string
+		return ret
+	}
+	return *o.Tr
+}
+
+// GetTrOk returns a tuple with the Tr field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetTrOk() (*string, bool) {
+	if o == nil || o.Tr == nil {
+		return nil, false
+	}
+	return o.Tr, true
+}
+
+// HasTr returns a boolean if a field has been set.
+func (o *StringMap) HasTr() bool {
+	if o != nil && o.Tr != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTr gets a reference to the given string and assigns it to the Tr field.
+func (o *StringMap) SetTr(v string) {
+	o.Tr = &v
+}
+
+// GetUk returns the Uk field value if set, zero value otherwise.
+func (o *StringMap) GetUk() string {
+	if o == nil || o.Uk == nil {
+		var ret string
+		return ret
+	}
+	return *o.Uk
+}
+
+// GetUkOk returns a tuple with the Uk field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetUkOk() (*string, bool) {
+	if o == nil || o.Uk == nil {
+		return nil, false
+	}
+	return o.Uk, true
+}
+
+// HasUk returns a boolean if a field has been set.
+func (o *StringMap) HasUk() bool {
+	if o != nil && o.Uk != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetUk gets a reference to the given string and assigns it to the Uk field.
+func (o *StringMap) SetUk(v string) {
+	o.Uk = &v
+}
+
+// GetVi returns the Vi field value if set, zero value otherwise.
+func (o *StringMap) GetVi() string {
+	if o == nil || o.Vi == nil {
+		var ret string
+		return ret
+	}
+	return *o.Vi
+}
+
+// GetViOk returns a tuple with the Vi field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *StringMap) GetViOk() (*string, bool) {
+	if o == nil || o.Vi == nil {
+		return nil, false
+	}
+	return o.Vi, true
+}
+
+// HasVi returns a boolean if a field has been set.
+func (o *StringMap) HasVi() bool {
+	if o != nil && o.Vi != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetVi gets a reference to the given string and assigns it to the Vi field.
+func (o *StringMap) SetVi(v string) {
+	o.Vi = &v
+}
+
+func (o StringMap) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if true {
+		toSerialize["en"] = o.En
+	}
+	if o.Ar != nil {
+		toSerialize["ar"] = o.Ar
+	}
+	if o.Bs != nil {
+		toSerialize["bs"] = o.Bs
+	}
+	if o.Bg != nil {
+		toSerialize["bg"] = o.Bg
+	}
+	if o.Ca != nil {
+		toSerialize["ca"] = o.Ca
+	}
+	if o.ZhHans != nil {
+		toSerialize["zh-Hans"] = o.ZhHans
+	}
+	if o.ZhHant != nil {
+		toSerialize["zh-Hant"] = o.ZhHant
+	}
+	if o.Zh != nil {
+		toSerialize["zh"] = o.Zh
+	}
+	if o.Hr != nil {
+		toSerialize["hr"] = o.Hr
+	}
+	if o.Cs != nil {
+		toSerialize["cs"] = o.Cs
+	}
+	if o.Da != nil {
+		toSerialize["da"] = o.Da
+	}
+	if o.Nl != nil {
+		toSerialize["nl"] = o.Nl
+	}
+	if o.Et != nil {
+		toSerialize["et"] = o.Et
+	}
+	if o.Fi != nil {
+		toSerialize["fi"] = o.Fi
+	}
+	if o.Fr != nil {
+		toSerialize["fr"] = o.Fr
+	}
+	if o.Ka != nil {
+		toSerialize["ka"] = o.Ka
+	}
+	if o.De != nil {
+		toSerialize["de"] = o.De
+	}
+	if o.El != nil {
+		toSerialize["el"] = o.El
+	}
+	if o.Hi != nil {
+		toSerialize["hi"] = o.Hi
+	}
+	if o.He != nil {
+		toSerialize["he"] = o.He
+	}
+	if o.Hu != nil {
+		toSerialize["hu"] = o.Hu
+	}
+	if o.Id != nil {
+		toSerialize["id"] = o.Id
+	}
+	if o.It != nil {
+		toSerialize["it"] = o.It
+	}
+	if o.Ja != nil {
+		toSerialize["ja"] = o.Ja
+	}
+	if o.Ko != nil {
+		toSerialize["ko"] = o.Ko
+	}
+	if o.Lv != nil {
+		toSerialize["lv"] = o.Lv
+	}
+	if o.Lt != nil {
+		toSerialize["lt"] = o.Lt
+	}
+	if o.Ms != nil {
+		toSerialize["ms"] = o.Ms
+	}
+	if o.Nb != nil {
+		toSerialize["nb"] = o.Nb
+	}
+	if o.Pl != nil {
+		toSerialize["pl"] = o.Pl
+	}
+	if o.Fa != nil {
+		toSerialize["fa"] = o.Fa
+	}
+	if o.Pt != nil {
+		toSerialize["pt"] = o.Pt
+	}
+	if o.Pa != nil {
+		toSerialize["pa"] = o.Pa
+	}
+	if o.Ro != nil {
+		toSerialize["ro"] = o.Ro
+	}
+	if o.Ru != nil {
+		toSerialize["ru"] = o.Ru
+	}
+	if o.Sr != nil {
+		toSerialize["sr"] = o.Sr
+	}
+	if o.Sk != nil {
+		toSerialize["sk"] = o.Sk
+	}
+	if o.Es != nil {
+		toSerialize["es"] = o.Es
+	}
+	if o.Sv != nil {
+		toSerialize["sv"] = o.Sv
+	}
+	if o.Th != nil {
+		toSerialize["th"] = o.Th
+	}
+	if o.Tr != nil {
+		toSerialize["tr"] = o.Tr
+	}
+	if o.Uk != nil {
+		toSerialize["uk"] = o.Uk
+	}
+	if o.Vi != nil {
+		toSerialize["vi"] = o.Vi
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *StringMap) UnmarshalJSON(bytes []byte) (err error) {
+	varStringMap := _StringMap{}
+
+	if err = json.Unmarshal(bytes, &varStringMap); err == nil {
+		*o = StringMap(varStringMap)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "en")
+		delete(additionalProperties, "ar")
+		delete(additionalProperties, "bs")
+		delete(additionalProperties, "bg")
+		delete(additionalProperties, "ca")
+		delete(additionalProperties, "zh-Hans")
+		delete(additionalProperties, "zh-Hant")
+		delete(additionalProperties, "zh")
+		delete(additionalProperties, "hr")
+		delete(additionalProperties, "cs")
+		delete(additionalProperties, "da")
+		delete(additionalProperties, "nl")
+		delete(additionalProperties, "et")
+		delete(additionalProperties, "fi")
+		delete(additionalProperties, "fr")
+		delete(additionalProperties, "ka")
+		delete(additionalProperties, "de")
+		delete(additionalProperties, "el")
+		delete(additionalProperties, "hi")
+		delete(additionalProperties, "he")
+		delete(additionalProperties, "hu")
+		delete(additionalProperties, "id")
+		delete(additionalProperties, "it")
+		delete(additionalProperties, "ja")
+		delete(additionalProperties, "ko")
+		delete(additionalProperties, "lv")
+		delete(additionalProperties, "lt")
+		delete(additionalProperties, "ms")
+		delete(additionalProperties, "nb")
+		delete(additionalProperties, "pl")
+		delete(additionalProperties, "fa")
+		delete(additionalProperties, "pt")
+		delete(additionalProperties, "pa")
+		delete(additionalProperties, "ro")
+		delete(additionalProperties, "ru")
+		delete(additionalProperties, "sr")
+		delete(additionalProperties, "sk")
+		delete(additionalProperties, "es")
+		delete(additionalProperties, "sv")
+		delete(additionalProperties, "th")
+		delete(additionalProperties, "tr")
+		delete(additionalProperties, "uk")
+		delete(additionalProperties, "vi")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableStringMap struct {
+	value *StringMap
+	isSet bool
+}
+
+func (v NullableStringMap) Get() *StringMap {
+	return v.value
+}
+
+func (v *NullableStringMap) Set(val *StringMap) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableStringMap) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableStringMap) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableStringMap(val *StringMap) *NullableStringMap {
+	return &NullableStringMap{value: val, isSet: true}
+}
+
+func (v NullableStringMap) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableStringMap) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/model_update_player_tags_request_body.go b/model_update_player_tags_request_body.go
new file mode 100644
index 0000000..12d0186
--- /dev/null
+++ b/model_update_player_tags_request_body.go
@@ -0,0 +1,142 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+)
+
+// UpdatePlayerTagsRequestBody struct for UpdatePlayerTagsRequestBody
+type UpdatePlayerTagsRequestBody struct {
+	// Custom tags for the device record.  Only support string key value pairs.  Does not support arrays or other nested objects.  Example `{\"foo\":\"bar\",\"this\":\"that\"}`. Limitations: - 100 tags per call - Android SDK users: tags cannot be removed or changed via API if set through SDK sendTag methods. Recommended to only tag devices with 1 kilobyte of ata Please consider using your own Database to save more than 1 kilobyte of data.  See: Internal Database & CRM 
+	Tags map[string]interface{} `json:"tags,omitempty"`
+	AdditionalProperties map[string]interface{}
+}
+
+type _UpdatePlayerTagsRequestBody UpdatePlayerTagsRequestBody
+
+// NewUpdatePlayerTagsRequestBody instantiates a new UpdatePlayerTagsRequestBody object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewUpdatePlayerTagsRequestBody() *UpdatePlayerTagsRequestBody {
+	this := UpdatePlayerTagsRequestBody{}
+	return &this
+}
+
+// NewUpdatePlayerTagsRequestBodyWithDefaults instantiates a new UpdatePlayerTagsRequestBody object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewUpdatePlayerTagsRequestBodyWithDefaults() *UpdatePlayerTagsRequestBody {
+	this := UpdatePlayerTagsRequestBody{}
+	return &this
+}
+
+// GetTags returns the Tags field value if set, zero value otherwise.
+func (o *UpdatePlayerTagsRequestBody) GetTags() map[string]interface{} {
+	if o == nil || o.Tags == nil {
+		var ret map[string]interface{}
+		return ret
+	}
+	return o.Tags
+}
+
+// GetTagsOk returns a tuple with the Tags field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *UpdatePlayerTagsRequestBody) GetTagsOk() (map[string]interface{}, bool) {
+	if o == nil || o.Tags == nil {
+		return nil, false
+	}
+	return o.Tags, true
+}
+
+// HasTags returns a boolean if a field has been set.
+func (o *UpdatePlayerTagsRequestBody) HasTags() bool {
+	if o != nil && o.Tags != nil {
+		return true
+	}
+
+	return false
+}
+
+// SetTags gets a reference to the given map[string]interface{} and assigns it to the Tags field.
+func (o *UpdatePlayerTagsRequestBody) SetTags(v map[string]interface{}) {
+	o.Tags = v
+}
+
+func (o UpdatePlayerTagsRequestBody) MarshalJSON() ([]byte, error) {
+	toSerialize := map[string]interface{}{}
+	if o.Tags != nil {
+		toSerialize["tags"] = o.Tags
+	}
+
+	for key, value := range o.AdditionalProperties {
+		toSerialize[key] = value
+	}
+
+	return json.Marshal(toSerialize)
+}
+
+func (o *UpdatePlayerTagsRequestBody) UnmarshalJSON(bytes []byte) (err error) {
+	varUpdatePlayerTagsRequestBody := _UpdatePlayerTagsRequestBody{}
+
+	if err = json.Unmarshal(bytes, &varUpdatePlayerTagsRequestBody); err == nil {
+		*o = UpdatePlayerTagsRequestBody(varUpdatePlayerTagsRequestBody)
+	}
+
+	additionalProperties := make(map[string]interface{})
+
+	if err = json.Unmarshal(bytes, &additionalProperties); err == nil {
+		delete(additionalProperties, "tags")
+		o.AdditionalProperties = additionalProperties
+	}
+
+	return err
+}
+
+type NullableUpdatePlayerTagsRequestBody struct {
+	value *UpdatePlayerTagsRequestBody
+	isSet bool
+}
+
+func (v NullableUpdatePlayerTagsRequestBody) Get() *UpdatePlayerTagsRequestBody {
+	return v.value
+}
+
+func (v *NullableUpdatePlayerTagsRequestBody) Set(val *UpdatePlayerTagsRequestBody) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableUpdatePlayerTagsRequestBody) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableUpdatePlayerTagsRequestBody) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableUpdatePlayerTagsRequestBody(val *UpdatePlayerTagsRequestBody) *NullableUpdatePlayerTagsRequestBody {
+	return &NullableUpdatePlayerTagsRequestBody{value: val, isSet: true}
+}
+
+func (v NullableUpdatePlayerTagsRequestBody) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableUpdatePlayerTagsRequestBody) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+
diff --git a/response.go b/response.go
new file mode 100644
index 0000000..177064e
--- /dev/null
+++ b/response.go
@@ -0,0 +1,48 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"net/http"
+)
+
+// APIResponse stores the API response returned by the server.
+type APIResponse struct {
+	*http.Response `json:"-"`
+	Message        string `json:"message,omitempty"`
+	// Operation is the name of the OpenAPI operation.
+	Operation string `json:"operation,omitempty"`
+	// RequestURL is the request URL. This value is always available, even if the
+	// embedded *http.Response is nil.
+	RequestURL string `json:"url,omitempty"`
+	// Method is the HTTP method used for the request.  This value is always
+	// available, even if the embedded *http.Response is nil.
+	Method string `json:"method,omitempty"`
+	// Payload holds the contents of the response body (which may be nil or empty).
+	// This is provided here as the raw response.Body() reader will have already
+	// been drained.
+	Payload []byte `json:"-"`
+}
+
+// NewAPIResponse returns a new APIResponse object.
+func NewAPIResponse(r *http.Response) *APIResponse {
+
+	response := &APIResponse{Response: r}
+	return response
+}
+
+// NewAPIResponseWithError returns a new APIResponse object with the provided error message.
+func NewAPIResponseWithError(errorMessage string) *APIResponse {
+
+	response := &APIResponse{Message: errorMessage}
+	return response
+}
diff --git a/utils.go b/utils.go
new file mode 100644
index 0000000..e2d2240
--- /dev/null
+++ b/utils.go
@@ -0,0 +1,329 @@
+/*
+OneSignal
+
+A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
+
+API version: 1.0.2
+Contact: devrel@onesignal.com
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package onesignal
+
+import (
+	"encoding/json"
+	"time"
+)
+
+// PtrBool is a helper routine that returns a pointer to given boolean value.
+func PtrBool(v bool) *bool { return &v }
+
+// PtrInt is a helper routine that returns a pointer to given integer value.
+func PtrInt(v int) *int { return &v }
+
+// PtrInt32 is a helper routine that returns a pointer to given integer value.
+func PtrInt32(v int32) *int32 { return &v }
+
+// PtrInt64 is a helper routine that returns a pointer to given integer value.
+func PtrInt64(v int64) *int64 { return &v }
+
+// PtrFloat32 is a helper routine that returns a pointer to given float value.
+func PtrFloat32(v float32) *float32 { return &v }
+
+// PtrFloat64 is a helper routine that returns a pointer to given float value.
+func PtrFloat64(v float64) *float64 { return &v }
+
+// PtrString is a helper routine that returns a pointer to given string value.
+func PtrString(v string) *string { return &v }
+
+// PtrTime is helper routine that returns a pointer to given Time value.
+func PtrTime(v time.Time) *time.Time { return &v }
+
+type NullableBool struct {
+	value *bool
+	isSet bool
+}
+
+func (v NullableBool) Get() *bool {
+	return v.value
+}
+
+func (v *NullableBool) Set(val *bool) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableBool) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableBool) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableBool(val *bool) *NullableBool {
+	return &NullableBool{value: val, isSet: true}
+}
+
+func (v NullableBool) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableBool) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt struct {
+	value *int
+	isSet bool
+}
+
+func (v NullableInt) Get() *int {
+	return v.value
+}
+
+func (v *NullableInt) Set(val *int) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInt) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInt) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInt(val *int) *NullableInt {
+	return &NullableInt{value: val, isSet: true}
+}
+
+func (v NullableInt) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInt) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt32 struct {
+	value *int32
+	isSet bool
+}
+
+func (v NullableInt32) Get() *int32 {
+	return v.value
+}
+
+func (v *NullableInt32) Set(val *int32) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInt32) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInt32) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInt32(val *int32) *NullableInt32 {
+	return &NullableInt32{value: val, isSet: true}
+}
+
+func (v NullableInt32) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInt32) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt64 struct {
+	value *int64
+	isSet bool
+}
+
+func (v NullableInt64) Get() *int64 {
+	return v.value
+}
+
+func (v *NullableInt64) Set(val *int64) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableInt64) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableInt64) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableInt64(val *int64) *NullableInt64 {
+	return &NullableInt64{value: val, isSet: true}
+}
+
+func (v NullableInt64) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableInt64) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableFloat32 struct {
+	value *float32
+	isSet bool
+}
+
+func (v NullableFloat32) Get() *float32 {
+	return v.value
+}
+
+func (v *NullableFloat32) Set(val *float32) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableFloat32) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableFloat32) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableFloat32(val *float32) *NullableFloat32 {
+	return &NullableFloat32{value: val, isSet: true}
+}
+
+func (v NullableFloat32) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableFloat32) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableFloat64 struct {
+	value *float64
+	isSet bool
+}
+
+func (v NullableFloat64) Get() *float64 {
+	return v.value
+}
+
+func (v *NullableFloat64) Set(val *float64) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableFloat64) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableFloat64) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableFloat64(val *float64) *NullableFloat64 {
+	return &NullableFloat64{value: val, isSet: true}
+}
+
+func (v NullableFloat64) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableFloat64) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableString struct {
+	value *string
+	isSet bool
+}
+
+func (v NullableString) Get() *string {
+	return v.value
+}
+
+func (v *NullableString) Set(val *string) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableString) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableString) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableString(val *string) *NullableString {
+	return &NullableString{value: val, isSet: true}
+}
+
+func (v NullableString) MarshalJSON() ([]byte, error) {
+	return json.Marshal(v.value)
+}
+
+func (v *NullableString) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}
+
+type NullableTime struct {
+	value *time.Time
+	isSet bool
+}
+
+func (v NullableTime) Get() *time.Time {
+	return v.value
+}
+
+func (v *NullableTime) Set(val *time.Time) {
+	v.value = val
+	v.isSet = true
+}
+
+func (v NullableTime) IsSet() bool {
+	return v.isSet
+}
+
+func (v *NullableTime) Unset() {
+	v.value = nil
+	v.isSet = false
+}
+
+func NewNullableTime(val *time.Time) *NullableTime {
+	return &NullableTime{value: val, isSet: true}
+}
+
+func (v NullableTime) MarshalJSON() ([]byte, error) {
+	return v.value.MarshalJSON()
+}
+
+func (v *NullableTime) UnmarshalJSON(src []byte) error {
+	v.isSet = true
+	return json.Unmarshal(src, &v.value)
+}