{"id":19251022,"url":"https://github.com/onesignal/onesignal-go-api","last_synced_at":"2025-07-08T20:04:45.441Z","repository":{"id":38275133,"uuid":"482058169","full_name":"OneSignal/onesignal-go-api","owner":"OneSignal","description":"The official OneSignal API client for Go","archived":false,"fork":false,"pushed_at":"2024-02-20T18:12:45.000Z","size":532,"stargazers_count":13,"open_issues_count":6,"forks_count":7,"subscribers_count":33,"default_branch":"main","last_synced_at":"2024-11-08T21:17:12.553Z","etag":null,"topics":["api","api-client","email","go","golang","in-app-messaging","notifications","onesignal","push","push-notifications","rest-api","sms"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OneSignal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-04-15T19:03:33.000Z","updated_at":"2024-08-16T07:11:53.000Z","dependencies_parsed_at":"2024-02-20T19:30:45.838Z","dependency_job_id":"918c6ef4-7904-40db-94f6-170643e84334","html_url":"https://github.com/OneSignal/onesignal-go-api","commit_stats":null,"previous_names":["onesignal/onesignal-go","onesignal/onesignal-go-client"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-go-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-go-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-go-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneSignal%2Fonesignal-go-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OneSignal","download_url":"https://codeload.github.com/OneSignal/onesignal-go-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223864863,"owners_count":17216422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","email","go","golang","in-app-messaging","notifications","onesignal","push","push-notifications","rest-api","sms"],"created_at":"2024-11-09T18:19:38.547Z","updated_at":"2025-07-08T20:04:45.433Z","avatar_url":"https://github.com/OneSignal.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWelcome to the official OneSignal Go Client 👋\u003c/h1\u003e\n\nA powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com\n\n## Overview\nThis 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.\n\n- API version: 5.1.0\n- Package version: 5.1.1-beta1\n- Build package: org.openapitools.codegen.languages.GoClientCodegen\nFor more information, please visit [https://onesignal.com](https://onesignal.com)\n\n## Installation\n\n```shell\ngo get github.com/OneSignal/onesignal-go-api\n```\n\nInstall the following dependencies:\n\n```shell\ngo get golang.org/x/oauth2\n```\n\nPut the package under your project folder and add the following in import:\n\n```golang\nimport \"github.com/OneSignal/onesignal-go-api\"\n```\n\nTo use a proxy, set the environment variable `HTTP_PROXY`:\n\n```golang\nos.Setenv(\"HTTP_PROXY\", \"http://proxy_name:proxy_port\")\n```\n\n## Configuration of Server URL\n\nDefault configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.\n\n### Select Server Configuration\n\nFor using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`.\n\n```golang\nctx := context.WithValue(context.Background(), onesignal.ContextServerIndex, 1)\n```\n\n### Templated Server URL\n\nTemplated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`.\n\n```golang\nctx := context.WithValue(context.Background(), onesignal.ContextServerVariables, map[string]string{\n\t\"basePath\": \"v2\",\n})\n```\n\nNote, enum values are always validated and all unused variables are silently ignored.\n\n### URLs Configuration per Operation\n\nEach operation can use different server URL defined using `OperationServers` map in the `Configuration`.\nAn operation is uniquely identified by `\"{classname}Service.{nickname}\"` string.\nSimilar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps.\n\n```\nctx := context.WithValue(context.Background(), onesignal.ContextOperationServerIndices, map[string]int{\n\t\"{classname}Service.{nickname}\": 2,\n})\nctx = context.WithValue(context.Background(), onesignal.ContextOperationServerVariables, map[string]map[string]string{\n\t\"{classname}Service.{nickname}\": {\n\t\t\"port\": \"8443\",\n\t},\n})\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://api.onesignal.com*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*DefaultApi* | [**CancelNotification**](docs/DefaultApi.md#cancelnotification) | **Delete** /notifications/{notification_id} | Stop a scheduled or currently outgoing notification\n*DefaultApi* | [**CreateAlias**](docs/DefaultApi.md#createalias) | **Patch** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity | \n*DefaultApi* | [**CreateAliasBySubscription**](docs/DefaultApi.md#createaliasbysubscription) | **Patch** /apps/{app_id}/subscriptions/{subscription_id}/user/identity | \n*DefaultApi* | [**CreateApp**](docs/DefaultApi.md#createapp) | **Post** /apps | Create an app\n*DefaultApi* | [**CreateNotification**](docs/DefaultApi.md#createnotification) | **Post** /notifications | Create notification\n*DefaultApi* | [**CreateSegment**](docs/DefaultApi.md#createsegment) | **Post** /apps/{app_id}/segments | Create Segment\n*DefaultApi* | [**CreateSubscription**](docs/DefaultApi.md#createsubscription) | **Post** /apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions | \n*DefaultApi* | [**CreateUser**](docs/DefaultApi.md#createuser) | **Post** /apps/{app_id}/users | \n*DefaultApi* | [**DeleteAlias**](docs/DefaultApi.md#deletealias) | **Delete** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete} | \n*DefaultApi* | [**DeleteSegment**](docs/DefaultApi.md#deletesegment) | **Delete** /apps/{app_id}/segments/{segment_id} | Delete Segment\n*DefaultApi* | [**DeleteSubscription**](docs/DefaultApi.md#deletesubscription) | **Delete** /apps/{app_id}/subscriptions/{subscription_id} | \n*DefaultApi* | [**DeleteUser**](docs/DefaultApi.md#deleteuser) | **Delete** /apps/{app_id}/users/by/{alias_label}/{alias_id} | \n*DefaultApi* | [**ExportEvents**](docs/DefaultApi.md#exportevents) | **Post** /notifications/{notification_id}/export_events?app_id\u0026#x3D;{app_id} | Export CSV of Events\n*DefaultApi* | [**ExportSubscriptions**](docs/DefaultApi.md#exportsubscriptions) | **Post** /players/csv_export?app_id\u0026#x3D;{app_id} | Export CSV of Subscriptions\n*DefaultApi* | [**GetAliases**](docs/DefaultApi.md#getaliases) | **Get** /apps/{app_id}/users/by/{alias_label}/{alias_id}/identity | \n*DefaultApi* | [**GetAliasesBySubscription**](docs/DefaultApi.md#getaliasesbysubscription) | **Get** /apps/{app_id}/subscriptions/{subscription_id}/user/identity | \n*DefaultApi* | [**GetApp**](docs/DefaultApi.md#getapp) | **Get** /apps/{app_id} | View an app\n*DefaultApi* | [**GetApps**](docs/DefaultApi.md#getapps) | **Get** /apps | View apps\n*DefaultApi* | [**GetNotification**](docs/DefaultApi.md#getnotification) | **Get** /notifications/{notification_id} | View notification\n*DefaultApi* | [**GetNotificationHistory**](docs/DefaultApi.md#getnotificationhistory) | **Post** /notifications/{notification_id}/history | Notification History\n*DefaultApi* | [**GetNotifications**](docs/DefaultApi.md#getnotifications) | **Get** /notifications | View notifications\n*DefaultApi* | [**GetOutcomes**](docs/DefaultApi.md#getoutcomes) | **Get** /apps/{app_id}/outcomes | View Outcomes\n*DefaultApi* | [**GetSegments**](docs/DefaultApi.md#getsegments) | **Get** /apps/{app_id}/segments | Get Segments\n*DefaultApi* | [**GetUser**](docs/DefaultApi.md#getuser) | **Get** /apps/{app_id}/users/by/{alias_label}/{alias_id} | \n*DefaultApi* | [**TransferSubscription**](docs/DefaultApi.md#transfersubscription) | **Patch** /apps/{app_id}/subscriptions/{subscription_id}/owner | \n*DefaultApi* | [**UnsubscribeEmailWithToken**](docs/DefaultApi.md#unsubscribeemailwithtoken) | **Post** /apps/{app_id}/notifications/{notification_id}/unsubscribe | Unsubscribe with token\n*DefaultApi* | [**UpdateApp**](docs/DefaultApi.md#updateapp) | **Put** /apps/{app_id} | Update an app\n*DefaultApi* | [**UpdateLiveActivity**](docs/DefaultApi.md#updateliveactivity) | **Post** /apps/{app_id}/live_activities/{activity_id}/notifications | Update a Live Activity via Push\n*DefaultApi* | [**UpdateSubscription**](docs/DefaultApi.md#updatesubscription) | **Patch** /apps/{app_id}/subscriptions/{subscription_id} | \n*DefaultApi* | [**UpdateUser**](docs/DefaultApi.md#updateuser) | **Patch** /apps/{app_id}/users/by/{alias_label}/{alias_id} | \n\n\n## Documentation For Models\n\n - [App](docs/App.md)\n - [BasicNotification](docs/BasicNotification.md)\n - [BasicNotificationAllOf](docs/BasicNotificationAllOf.md)\n - [BasicNotificationAllOfAndroidBackgroundLayout](docs/BasicNotificationAllOfAndroidBackgroundLayout.md)\n - [Button](docs/Button.md)\n - [CreateNotificationSuccessResponse](docs/CreateNotificationSuccessResponse.md)\n - [CreateSegmentConflictResponse](docs/CreateSegmentConflictResponse.md)\n - [CreateSegmentSuccessResponse](docs/CreateSegmentSuccessResponse.md)\n - [CreateUserConflictResponse](docs/CreateUserConflictResponse.md)\n - [CreateUserConflictResponseErrorsInner](docs/CreateUserConflictResponseErrorsInner.md)\n - [CreateUserConflictResponseErrorsItemsMeta](docs/CreateUserConflictResponseErrorsItemsMeta.md)\n - [DeliveryData](docs/DeliveryData.md)\n - [ExportEventsSuccessResponse](docs/ExportEventsSuccessResponse.md)\n - [ExportSubscriptionsRequestBody](docs/ExportSubscriptionsRequestBody.md)\n - [ExportSubscriptionsSuccessResponse](docs/ExportSubscriptionsSuccessResponse.md)\n - [Filter](docs/Filter.md)\n - [FilterExpression](docs/FilterExpression.md)\n - [GenericError](docs/GenericError.md)\n - [GenericSuccessBoolResponse](docs/GenericSuccessBoolResponse.md)\n - [GetNotificationHistoryRequestBody](docs/GetNotificationHistoryRequestBody.md)\n - [GetSegmentsSuccessResponse](docs/GetSegmentsSuccessResponse.md)\n - [LanguageStringMap](docs/LanguageStringMap.md)\n - [Notification](docs/Notification.md)\n - [NotificationAllOf](docs/NotificationAllOf.md)\n - [NotificationHistorySuccessResponse](docs/NotificationHistorySuccessResponse.md)\n - [NotificationSlice](docs/NotificationSlice.md)\n - [NotificationTarget](docs/NotificationTarget.md)\n - [NotificationWithMeta](docs/NotificationWithMeta.md)\n - [NotificationWithMetaAllOf](docs/NotificationWithMetaAllOf.md)\n - [Operator](docs/Operator.md)\n - [OutcomeData](docs/OutcomeData.md)\n - [OutcomesData](docs/OutcomesData.md)\n - [PlatformDeliveryData](docs/PlatformDeliveryData.md)\n - [PlatformDeliveryDataEmailAllOf](docs/PlatformDeliveryDataEmailAllOf.md)\n - [PlatformDeliveryDataSmsAllOf](docs/PlatformDeliveryDataSmsAllOf.md)\n - [PropertiesBody](docs/PropertiesBody.md)\n - [PropertiesDeltas](docs/PropertiesDeltas.md)\n - [PropertiesObject](docs/PropertiesObject.md)\n - [Purchase](docs/Purchase.md)\n - [RateLimitError](docs/RateLimitError.md)\n - [Segment](docs/Segment.md)\n - [SegmentData](docs/SegmentData.md)\n - [SegmentNotificationTarget](docs/SegmentNotificationTarget.md)\n - [Subscription](docs/Subscription.md)\n - [SubscriptionBody](docs/SubscriptionBody.md)\n - [SubscriptionNotificationTarget](docs/SubscriptionNotificationTarget.md)\n - [TransferSubscriptionRequestBody](docs/TransferSubscriptionRequestBody.md)\n - [UpdateLiveActivityRequest](docs/UpdateLiveActivityRequest.md)\n - [UpdateLiveActivitySuccessResponse](docs/UpdateLiveActivitySuccessResponse.md)\n - [UpdateUserRequest](docs/UpdateUserRequest.md)\n - [User](docs/User.md)\n - [UserIdentityBody](docs/UserIdentityBody.md)\n - [WebButton](docs/WebButton.md)\n\n\n## Documentation For Authorization\nUse a OneSignal authentication context for each auth type:\n- `RestApiKey` - For app-level REST API operations\n- `OrganizationApiKey` - For organization-level operations\n\n### organization_api_key\n- **Type**: HTTP Bearer token authentication\n\nExample\n\n```golang\norgAuth := context.WithValue(context.Background(), onesignal.OrganizationApiKey, \"YOUR_ORGANIZATION_API_KEY\") // Organization API key is only required for creating new apps and other top-level endpoints\n```\n\n### rest_api_key\n- **Type**: HTTP Bearer token authentication\n\nExample\n\n```golang\nrestAuth := context.WithValue(context.Background(), onesignal.RestApiKey, \"YOUR_REST_API_KEY\") // App REST API key required for most endpoints\n```\n\n\n## Documentation for Utility Methods\n\nDue to the fact that model structure members are all pointers, this package contains\na number of utility functions to easily obtain pointers to values of basic types.\nEach of these functions takes a value of the given basic type and returns a pointer to it:\n\n* `PtrBool`\n* `PtrInt`\n* `PtrInt32`\n* `PtrInt64`\n* `PtrFloat`\n* `PtrFloat32`\n* `PtrFloat64`\n* `PtrString`\n* `PtrTime`\n\n## Author\n\ndevrel@onesignal.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonesignal%2Fonesignal-go-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonesignal%2Fonesignal-go-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonesignal%2Fonesignal-go-api/lists"}