OneSignal Templates API
The Templates API from OneSignal — 3 operation(s) for templates.
The Templates API from OneSignal — 3 operation(s) for templates.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/onesignal-templates-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Onesignal Templates API
version: '1.0'
description: 'Operations tagged Templates across 2 of this provider''s published API definitions: onesignal-api-openapi.json, onesignal-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.onesignal.com
tags:
- name: Templates
paths:
/templates/{template_id}?app_id={app_id}:
get:
summary: View template
description: Retrieve the details of a specific message template in your OneSignal app using its template ID. This API returns the template content, target channel, and timestamps for creation and last update.
operationId: view-template
x-codeSamples:
- lang: typescript
label: Node.js SDK
source: "import Onesignal from '@onesignal/node-onesignal';\n\nconst configuration = Onesignal.createConfiguration({\n restApiKey: 'YOUR_REST_API_KEY',\n});\nconst apiInstance = new Onesignal.DefaultApi(configuration);\n\n// string\nconst templateId: string = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\";\n// string\nconst appId: string = \"YOUR_APP_ID\";\n\ntry {\n const response = await apiInstance.viewTemplate(templateId, appId);\n console.log(response);\n} catch (e) {\n if (e instanceof Onesignal.ApiException) {\n // `e.errorMessages` flattens any error-envelope shape to a `string[]`;\n // the raw parsed body remains on `e.body`.\n console.error(\"viewTemplate failed: HTTP \" + e.code, e.errorMessages);\n } else {\n throw e;\n }\n}"
- lang: python
label: Python SDK
source: "import onesignal\nfrom onesignal.api import default_api\nfrom onesignal.models import *\nfrom pprint import pprint\n\n# See configuration.py for a list of all supported configuration parameters.\n# Some of the OneSignal endpoints require ORGANIZATION_API_KEY token for authorization, while others require REST_API_KEY.\n# We recommend adding both of them in the configuration page so that you will not need to figure it out yourself.\nconfiguration = onesignal.Configuration(\n rest_api_key = \"YOUR_REST_API_KEY\", # App REST API key required for most endpoints\n organization_api_key = \"YOUR_ORGANIZATION_API_KEY\" # Organization key is only required for creating new apps and other top-level endpoints\n)\n\n\n# Enter a context with an instance of the API client\nwith onesignal.ApiClient(configuration) as api_client:\n # Create an instance of the API class\n api_instance = default_api.DefaultApi(api_client)\n template_id = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\" \n app_id = \"YOUR_APP_ID\" \n\n try:\n # View template\n api_response = api_instance.view_template(template_id, app_id)\n pprint(api_response)\n except onesignal.ApiException as e:\n print(\"Exception when calling DefaultApi->view_template: %s\\n\" % e)\n print(\"Status Code: %s\" % e.status)\n print(\"Response Body: %s\" % e.body)"
- lang: php
label: PHP SDK
source: "<?php\nrequire_once(__DIR__ . '/vendor/autoload.php');\n\n\n// Configure Bearer authorization: rest_api_key\n$config = onesignal\\client\\Configuration::getDefaultConfiguration()\n ->setRestApiKeyToken('YOUR_REST_API_KEY')\n ->setOrganizationApiKeyToken('YOUR_ORGANIZATION_API_KEY');\n\n\n\n$apiInstance = new onesignal\\client\\Api\\DefaultApi(\n // If you want use custom http client, pass your client which implements `GuzzleHttp\\ClientInterface`.\n // This is optional, `GuzzleHttp\\Client` will be used as default.\n new GuzzleHttp\\Client(),\n $config\n);\n$template_id = 'e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c'; // string\n$app_id = 'YOUR_APP_ID'; // string\n\ntry {\n $result = $apiInstance->viewTemplate($template_id, $app_id);\n print_r($result);\n} catch (\\onesignal\\client\\ApiException $e) {\n echo 'Exception when calling DefaultApi->viewTemplate: ', $e->getMessage(), PHP_EOL;\n echo 'Status Code: ', $e->getCode(), PHP_EOL;\n // getErrorMessages() flattens any error-envelope shape to a string[];\n // the raw body remains on getResponseBody().\n echo 'Error Messages: ', implode(', ', $e->getErrorMessages()), PHP_EOL;\n echo 'Response Body: ', $e->getResponseBody(), PHP_EOL;\n} catch (\\Exception $e) {\n echo 'Exception when calling DefaultApi->viewTemplate: ', $e->getMessage(), PHP_EOL;\n}"
- lang: go
label: Go SDK
source: "package main\n\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n\n \"github.com/OneSignal/onesignal-go-api/v5\"\n)\n\nfunc main() {\n templateId := \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\" // string | \n appId := \"YOUR_APP_ID\" // string | \n\n configuration := onesignal.NewConfiguration()\n apiClient := onesignal.NewAPIClient(configuration)\n\n restAuth := context.WithValue(context.Background(), onesignal.RestApiKey, \"YOUR_REST_API_KEY\") // App REST API key required for most endpoints\n\n resp, r, err := apiClient.DefaultApi.ViewTemplate(restAuth, templateId).AppId(appId).Execute()\n\n if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling `DefaultApi.ViewTemplate``: %v\\n\", err)\n fmt.Fprintf(os.Stderr, \"Full HTTP response: %v\\n\", r)\n if apiErr, ok := err.(*onesignal.GenericOpenAPIError); ok {\n // ErrorMessages() flattens any error-envelope shape to a []string;\n // the raw body remains on Body().\n fmt.Fprintf(os.Stderr, \"Error Messages: %v\\n\", apiErr.ErrorMessages())\n fmt.Fprintf(os.Stderr, \"Response Body: %s\\n\", apiErr.Body())\n }\n }\n // response from `ViewTemplate`: TemplateResource\n fmt.Fprintf(os.Stdout, \"Response from `DefaultApi.ViewTemplate`: %v\\n\", resp)\n}"
- lang: ruby
label: Ruby SDK
source: "require 'onesignal'\n# setup authorization\nOneSignal.configure do |config|\n # Configure Bearer authorization: rest_api_key\n config.rest_api_key = 'YOUR_REST_API_KEY'\n\nend\n\napi_instance = OneSignal::DefaultApi.new\ntemplate_id = 'e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c' # String | \napp_id = 'YOUR_APP_ID' # String | \n\nbegin\n # View template\n result = api_instance.view_template(template_id, app_id)\n p result\nrescue OneSignal::ApiError => e\n puts \"Error when calling DefaultApi->view_template: #{e}\"\n puts \"Status Code: #{e.code}\"\n # `e.error_messages` flattens any error-envelope shape to an Array<String>;\n # the raw body remains on `e.response_body`.\n puts \"Error Messages: #{e.error_messages}\"\n puts \"Response Body: #{e.response_body}\"\nend"
- lang: java
label: Java SDK
source: "// Import classes:\nimport com.onesignal.client.ApiClient;\nimport com.onesignal.client.ApiException;\nimport com.onesignal.client.Configuration;\nimport com.onesignal.client.auth.*;\nimport com.onesignal.client.model.*;\nimport com.onesignal.client.api.DefaultApi;\n\npublic class Example {\n public static void main(String[] args) {\n ApiClient defaultClient = Configuration.getDefaultApiClient();\n defaultClient.setBasePath(\"https://api.onesignal.com\");\n \n // Configure HTTP bearer authorization: rest_api_key\n HttpBearerAuth rest_api_key = (HttpBearerAuth) defaultClient.getAuthentication(\"rest_api_key\");\n rest_api_key.setBearerToken(\"YOUR_REST_API_KEY\");\n\n DefaultApi apiInstance = new DefaultApi(defaultClient);\n String templateId = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\"; // String | \n String appId = \"YOUR_APP_ID\"; // String | \n try {\n TemplateResource result = apiInstance.viewTemplate(templateId, appId);\n System.out.println(result);\n } catch (ApiException e) {\n System.err.println(\"Exception when calling DefaultApi#viewTemplate\");\n System.err.println(\"Status code: \" + e.getCode());\n // getErrorMessages() flattens any error-envelope shape to a List<String>;\n // the raw body remains on getResponseBody().\n System.err.println(\"Error messages: \" + e.getErrorMessages());\n System.err.println(\"Reason: \" + e.getResponseBody());\n System.err.println(\"Response headers: \" + e.getResponseHeaders());\n e.printStackTrace();\n }\n }\n}"
- lang: csharp
label: C# SDK
source: "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing OneSignalApi.Api;\nusing OneSignalApi.Client;\nusing OneSignalApi.Model;\n\nnamespace Example\n{\n public class ViewTemplateExample\n {\n public static void Main()\n {\n Configuration config = new Configuration();\n config.BasePath = \"https://api.onesignal.com\";\n // Configure Bearer token for authorization: rest_api_key\n config.AccessToken = \"YOUR_REST_API_KEY\";\n\n var apiInstance = new DefaultApi(config);\n var templateId = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\"; // string | \n var appId = \"YOUR_APP_ID\"; // string | \n\n try\n {\n // View template\n TemplateResource result = apiInstance.ViewTemplate(templateId, appId);\n Debug.WriteLine(result);\n }\n catch (ApiException e)\n {\n Debug.Print(\"Exception when calling DefaultApi.ViewTemplate: \" + e.Message );\n Debug.Print(\"Status Code: \"+ e.ErrorCode);\n // e.ErrorMessages flattens any error-envelope shape to an IReadOnlyList<string>;\n // the raw body remains on e.ErrorContent.\n Debug.Print(\"Error Messages: \" + string.Join(\", \", e.ErrorMessages));\n Debug.Print(\"Response Body: \" + e.ErrorContent);\n Debug.Print(e.StackTrace);\n }\n }\n }\n}"
- lang: rust
label: Rust SDK
source: "use onesignal_rust_api::apis::configuration::Configuration;\nuse onesignal_rust_api::apis::default_api;\n\n\n#[tokio::main]\nasync fn main() {\n let mut configuration = Configuration::new();\n configuration.rest_api_key_token = Some(\"YOUR_REST_API_KEY\".to_string());\n\n\n // Realistic values are pulled from the spec's `example:` fields where present.\n let template_id: &str = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\";\n let app_id: &str = \"YOUR_APP_ID\";\n\n match default_api::view_template(&configuration, template_id, app_id).await {\n Ok(resp) => println!(\"{:?}\", resp),\n Err(e @ onesignal_rust_api::apis::Error::ResponseError(_)) => {\n // `e.error_messages()` flattens any error-envelope shape to a Vec<String>;\n // the raw response remains on the ResponseError variant.\n eprintln!(\"view_template failed: {:?}\", e.error_messages());\n }\n Err(e) => eprintln!(\"view_template failed: {:?}\", e),\n }\n}"
parameters:
- name: template_id
in: path
description: The template ID in UUID v4 format. See [Templates](/docs/en/templates).
schema:
type: string
default: YOUR_TEMPLATE_ID
required: true
- name: app_id
in: query
description: Your OneSignal App ID in UUID v4 format. See [Keys & IDs](/docs/en/keys-and-ids).
required: true
schema:
type: string
default: YOUR_APP_ID
- name: Authorization
in: header
description: Your App API key with prefix `Key `. See [Keys & IDs](/docs/en/keys-and-ids).
required: true
schema:
type: string
default: Key YOUR_APP_API_KEY
- name: Content-Type
in: header
required: true
schema:
type: string
default: application/json; charset=utf-8
responses:
'200':
description: '200'
content:
application/json:
schema:
oneOf:
- title: 200 OK - Push
type: object
properties:
id:
type: string
description: The template ID in UUID v4 format.
example: Template-ID-in-UUID-v4-format
name:
type: string
description: An internal name you set to help organize and track Templates. Maximum 128 characters.
channel:
type: string
description: 'Options are: `push`, `email`, and `SMS`.'
example: push
created_at:
type: string
description: The date and time the template was created in ISO 8601 format.
example: '2023-07-20T19:16:55Z'
updated_at:
type: string
description: The date and time the template was last updated in ISO 8601 format.
example: '2023-07-20T19:16:55Z'
content:
type: object
description: The template content.
properties:
isAndroid:
type: boolean
description: Template enabled for Android.
isIos:
type: boolean
description: Template enabled for iOS.
isMacOSX:
type: boolean
description: Template enabled for macOS.
isAdm:
type: boolean
description: Template enabled for Amazon.
isWP_WNS:
type: boolean
description: Template enabled for Windows.
isChromeWeb:
type: boolean
description: Template enabled for Chrome Web.
isSafari:
type: boolean
description: Template enabled for Safari.
isFirefox:
type: boolean
description: Template enabled for Firefox.
isEdge:
type: boolean
description: Template enabled for Edge.
headings:
type: object
properties:
en:
type: string
description: The push message title in each set language type. See [Supported Languages](/docs/en/multi-language-messaging#supported-languages).
contents:
type: object
description: The main message body with [language-specific values](/docs/en/multi-language-messaging#supported-languages). Supports [Personalization](/docs/en/message-personalization).
required:
- en
properties:
en:
type: string
description: The required message language type. See [Supported Languages](/docs/en/multi-language-messaging#supported-languages).
global_image: {}
url:
type: string
example: https://example.com
isEmail:
type: boolean
description: Required to be set `true` for email templates.
email_body:
type: string
description: The body of the email in HTML format. Required if `template_id` is not set. Supports [Message Personalization](/docs/message-personalization).
email_subject:
description: The subject of the email. Supports [Message Personalization](/docs/message-personalization).
default: This is your email subject.
email_preheader:
description: The preheader text of the email. Supports [Message Personalization](/docs/message-personalization).
email_from_address:
type: string
description: The full email address shown in the 'From' field of the email (e.g., `promotions@news.example.com`). This is what recipients see as the sender. If not specified, OneSignal uses the default 'Sender Email' set in your Dashboard's Email Settings. See [Senders](/docs/senders).
email_from_name:
description: The name of the sender.
isSMS:
type: boolean
description: Required to be set `true` for SMS templates.
sms_from: {}
sms_media_urls: {}
email_reply_to_address: {}
disable_email_click_tracking: {}
- title: 200 OK - Email
type: object
properties:
id:
type: string
example: 05b5d060-5e07-40ec-953c-4f2b8be0c83e
name:
type: string
example: An internal name you set to help organize and track Templates. Maximum 128 characters.
created_at:
type: string
example: '2022-06-30T23:23:22Z'
updated_at:
type: string
example: '2023-06-29T23:34:07Z'
content:
type: object
properties:
isAndroid: {}
isIos: {}
isMacOSX: {}
isAdm: {}
isAlexa: {}
isWP: {}
isWP_WNS: {}
isChrome: {}
isChromeWeb: {}
isSafari: {}
isFirefox: {}
isEdge: {}
headings:
type: object
properties: {}
subtitle: {}
contents:
type: object
description: The main message body with [language-specific values](/docs/en/multi-language-messaging#supported-languages). Supports [Message Personalization](/docs/message-personalization).
required:
- en
properties:
en:
type: string
description: The required message language type. See [Supported Languages](/docs/en/multi-language-messaging#supported-languages).
global_image: {}
url: {}
isEmail:
type: boolean
description: Required to be set `true` for email templates.
email_body:
type: string
description: The body of the email in HTML format. Required if `template_id` is not set. Supports [Message Personalization](/docs/message-personalization).
email_subject:
type: string
description: The subject of the email. Supports [Message Personalization](/docs/message-personalization).
email_preheader:
type: string
example: ''
isSMS:
type: boolean
description: Required to be set `true` for SMS templates.
sms_from: {}
sms_media_urls: {}
email_reply_to_address:
type: string
example: ''
disable_email_click_tracking:
type: boolean
example: false
default: true
email_from_address:
type: string
example: ''
email_from_name:
type: string
example: ''
email_bcc:
type: array
items:
type: string
format: email
maxItems: 5
description: BCC recipients for the email template. Maximum 5 addresses. Only supported when the email service provider is OneSignal Email.
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/BasicErrorResponse'
example:
errors:
- 'Request is malformed: Failed to parse app_id from request'
'404':
description: '404'
content:
application/json:
schema:
$ref: '#/components/schemas/BasicErrorResponse'
example:
errors:
- template not found
'429':
description: '429'
content:
application/json:
schema:
$ref: '#/components/schemas/StructuredErrorResponse'
example:
errors:
- code: Rate Limit Exceeded
title: Example error title
headers:
Retry-After:
description: Number of seconds to wait before retrying the request. Always emitted on 429 responses.
schema:
type: integer
minimum: 0
'503':
description: Service temporarily unavailable. Retry after a short backoff. The body may be empty or non-JSON in some failure modes.
headers:
Retry-After:
description: Number of seconds to wait before retrying. Optional — may be absent when the response is generated upstream.
schema:
type: integer
minimum: 0
content:
application/json:
schema:
$ref: '#/components/schemas/BasicErrorResponse'
example:
errors:
- Service temporarily unavailable
deprecated: false
security: []
tags:
- Templates
delete:
summary: Delete template
description: Permanently delete a specific message template from your OneSignal app using its template ID. Templates used in Journeys must be removed from those Journeys before deletion.
operationId: delete-template
x-codeSamples:
- lang: typescript
label: Node.js SDK
source: "import Onesignal from '@onesignal/node-onesignal';\n\nconst configuration = Onesignal.createConfiguration({\n restApiKey: 'YOUR_REST_API_KEY',\n});\nconst apiInstance = new Onesignal.DefaultApi(configuration);\n\n// string\nconst templateId: string = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\";\n// string\nconst appId: string = \"YOUR_APP_ID\";\n\ntry {\n const response = await apiInstance.deleteTemplate(templateId, appId);\n console.log(response);\n} catch (e) {\n if (e instanceof Onesignal.ApiException) {\n // `e.errorMessages` flattens any error-envelope shape to a `string[]`;\n // the raw parsed body remains on `e.body`.\n console.error(\"deleteTemplate failed: HTTP \" + e.code, e.errorMessages);\n } else {\n throw e;\n }\n}"
- lang: python
label: Python SDK
source: "import onesignal\nfrom onesignal.api import default_api\nfrom onesignal.models import *\nfrom pprint import pprint\n\n# See configuration.py for a list of all supported configuration parameters.\n# Some of the OneSignal endpoints require ORGANIZATION_API_KEY token for authorization, while others require REST_API_KEY.\n# We recommend adding both of them in the configuration page so that you will not need to figure it out yourself.\nconfiguration = onesignal.Configuration(\n rest_api_key = \"YOUR_REST_API_KEY\", # App REST API key required for most endpoints\n organization_api_key = \"YOUR_ORGANIZATION_API_KEY\" # Organization key is only required for creating new apps and other top-level endpoints\n)\n\n\n# Enter a context with an instance of the API client\nwith onesignal.ApiClient(configuration) as api_client:\n # Create an instance of the API class\n api_instance = default_api.DefaultApi(api_client)\n template_id = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\" \n app_id = \"YOUR_APP_ID\" \n\n try:\n # Delete template\n api_response = api_instance.delete_template(template_id, app_id)\n pprint(api_response)\n except onesignal.ApiException as e:\n print(\"Exception when calling DefaultApi->delete_template: %s\\n\" % e)\n print(\"Status Code: %s\" % e.status)\n print(\"Response Body: %s\" % e.body)"
- lang: php
label: PHP SDK
source: "<?php\nrequire_once(__DIR__ . '/vendor/autoload.php');\n\n\n// Configure Bearer authorization: rest_api_key\n$config = onesignal\\client\\Configuration::getDefaultConfiguration()\n ->setRestApiKeyToken('YOUR_REST_API_KEY')\n ->setOrganizationApiKeyToken('YOUR_ORGANIZATION_API_KEY');\n\n\n\n$apiInstance = new onesignal\\client\\Api\\DefaultApi(\n // If you want use custom http client, pass your client which implements `GuzzleHttp\\ClientInterface`.\n // This is optional, `GuzzleHttp\\Client` will be used as default.\n new GuzzleHttp\\Client(),\n $config\n);\n$template_id = 'e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c'; // string\n$app_id = 'YOUR_APP_ID'; // string\n\ntry {\n $result = $apiInstance->deleteTemplate($template_id, $app_id);\n print_r($result);\n} catch (\\onesignal\\client\\ApiException $e) {\n echo 'Exception when calling DefaultApi->deleteTemplate: ', $e->getMessage(), PHP_EOL;\n echo 'Status Code: ', $e->getCode(), PHP_EOL;\n // getErrorMessages() flattens any error-envelope shape to a string[];\n // the raw body remains on getResponseBody().\n echo 'Error Messages: ', implode(', ', $e->getErrorMessages()), PHP_EOL;\n echo 'Response Body: ', $e->getResponseBody(), PHP_EOL;\n} catch (\\Exception $e) {\n echo 'Exception when calling DefaultApi->deleteTemplate: ', $e->getMessage(), PHP_EOL;\n}"
- lang: go
label: Go SDK
source: "package main\n\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n\n \"github.com/OneSignal/onesignal-go-api/v5\"\n)\n\nfunc main() {\n templateId := \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\" // string | \n appId := \"YOUR_APP_ID\" // string | \n\n configuration := onesignal.NewConfiguration()\n apiClient := onesignal.NewAPIClient(configuration)\n\n restAuth := context.WithValue(context.Background(), onesignal.RestApiKey, \"YOUR_REST_API_KEY\") // App REST API key required for most endpoints\n\n resp, r, err := apiClient.DefaultApi.DeleteTemplate(restAuth, templateId).AppId(appId).Execute()\n\n if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling `DefaultApi.DeleteTemplate``: %v\\n\", err)\n fmt.Fprintf(os.Stderr, \"Full HTTP response: %v\\n\", r)\n if apiErr, ok := err.(*onesignal.GenericOpenAPIError); ok {\n // ErrorMessages() flattens any error-envelope shape to a []string;\n // the raw body remains on Body().\n fmt.Fprintf(os.Stderr, \"Error Messages: %v\\n\", apiErr.ErrorMessages())\n fmt.Fprintf(os.Stderr, \"Response Body: %s\\n\", apiErr.Body())\n }\n }\n // response from `DeleteTemplate`: GenericSuccessBoolResponse\n fmt.Fprintf(os.Stdout, \"Response from `DefaultApi.DeleteTemplate`: %v\\n\", resp)\n}"
- lang: ruby
label: Ruby SDK
source: "require 'onesignal'\n# setup authorization\nOneSignal.configure do |config|\n # Configure Bearer authorization: rest_api_key\n config.rest_api_key = 'YOUR_REST_API_KEY'\n\nend\n\napi_instance = OneSignal::DefaultApi.new\ntemplate_id = 'e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c' # String | \napp_id = 'YOUR_APP_ID' # String | \n\nbegin\n # Delete template\n result = api_instance.delete_template(template_id, app_id)\n p result\nrescue OneSignal::ApiError => e\n puts \"Error when calling DefaultApi->delete_template: #{e}\"\n puts \"Status Code: #{e.code}\"\n # `e.error_messages` flattens any error-envelope shape to an Array<String>;\n # the raw body remains on `e.response_body`.\n puts \"Error Messages: #{e.error_messages}\"\n puts \"Response Body: #{e.response_body}\"\nend"
- lang: java
label: Java SDK
source: "// Import classes:\nimport com.onesignal.client.ApiClient;\nimport com.onesignal.client.ApiException;\nimport com.onesignal.client.Configuration;\nimport com.onesignal.client.auth.*;\nimport com.onesignal.client.model.*;\nimport com.onesignal.client.api.DefaultApi;\n\npublic class Example {\n public static void main(String[] args) {\n ApiClient defaultClient = Configuration.getDefaultApiClient();\n defaultClient.setBasePath(\"https://api.onesignal.com\");\n \n // Configure HTTP bearer authorization: rest_api_key\n HttpBearerAuth rest_api_key = (HttpBearerAuth) defaultClient.getAuthentication(\"rest_api_key\");\n rest_api_key.setBearerToken(\"YOUR_REST_API_KEY\");\n\n DefaultApi apiInstance = new DefaultApi(defaultClient);\n String templateId = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\"; // String | \n String appId = \"YOUR_APP_ID\"; // String | \n try {\n GenericSuccessBoolResponse result = apiInstance.deleteTemplate(templateId, appId);\n System.out.println(result);\n } catch (ApiException e) {\n System.err.println(\"Exception when calling DefaultApi#deleteTemplate\");\n System.err.println(\"Status code: \" + e.getCode());\n // getErrorMessages() flattens any error-envelope shape to a List<String>;\n // the raw body remains on getResponseBody().\n System.err.println(\"Error messages: \" + e.getErrorMessages());\n System.err.println(\"Reason: \" + e.getResponseBody());\n System.err.println(\"Response headers: \" + e.getResponseHeaders());\n e.printStackTrace();\n }\n }\n}"
- lang: csharp
label: C# SDK
source: "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing OneSignalApi.Api;\nusing OneSignalApi.Client;\nusing OneSignalApi.Model;\n\nnamespace Example\n{\n public class DeleteTemplateExample\n {\n public static void Main()\n {\n Configuration config = new Configuration();\n config.BasePath = \"https://api.onesignal.com\";\n // Configure Bearer token for authorization: rest_api_key\n config.AccessToken = \"YOUR_REST_API_KEY\";\n\n var apiInstance = new DefaultApi(config);\n var templateId = \"e4d3c2b1-a09f-4f1e-8d7c-6b5a4f3e2d1c\"; // string | \n var appId = \"YOUR_APP_ID\"; // string | \n\n try\n {\n // Delete template\n GenericSuccessBoolResponse result = apiInstance.DeleteTemplate(templateId, appId);\n Debug.WriteLine(result);\n }\n catch (ApiException e)\n {\n Debug.Print(\"Exception when calling DefaultApi.DeleteTemplate: \" + e.Message );\n Debug.Print(\"Status Code: \"+ e.ErrorCode);\n // e.ErrorMessages flattens any error-envelope shape to an IReadOnlyList<string>;\n // the raw body remains on e.ErrorContent.\n Debug.Print(\"Error Messages: \" + string.Join(\", \", e.ErrorMessages));\n Debug.Print(\"Response Body: \" + e.ErrorContent);\n Debug.Print(e.StackTrace);\n }\n }\n
# --- truncated at 32 KB (129 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onesignal/refs/heads/main/openapi/onesignal-templates-api-openapi.yml