---
title: "Update an app"
method: PUT
path: "/apps/{app_id}"
---

# Update an app

`PUT /apps/{app_id}`

Use to update the name or push platform configuration of an existing app. This guide explains required parameters and platform-specific update rules

## Path parameters

- `app_id` string, required

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- object
  - `name` string — An internal name you set to help organize and track Apps. Maximum 128 characters.
  - `organization_id` string — The [Organization ID](/docs/en/keys-and-ids#organization-id) that the app will be associated with.
  - `chrome_web_origin` string — The HTTPS [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) URL for your website. Required for web push notifications.
  - `site_name` string — The name of your website. Used for web push notification titles when omitted from the notification payload. Required for web push notifications.
  - `safari_site_origin` string — The HTTPS [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) URL for your website. Required for web push notifications for Safari and should be the same as `chrome_web_origin`.
  - `chrome_web_default_notification_icon` string — The full `https` URL to your default icon resource. The icon should be a `256x256px` PNG.
  - `safari_icon_256_256` string — The full `https` URL to your default icon resource. The icon should be a `256x256px` PNG.
  - `safari_apns_p12` string — A Base64 encoded p12 certificate for Safari Push Notifications. If omitted, we will assign one to your app for you.
  - `safari_apns_p12_password` string — The password for the `safari_apns_p12` file if applicable.
  - `fcm_v1_service_account_json` string — Your FCM Service Account JSON file converted to base64 format. See [Android: Firebase Credentials](/docs/android-firebase-credentials). Required for Android mobile push notifications.
  - `apns_p8` string — A Base64 encoded p8 file for iOS mobile Push Notifications. Omit if using `apns_p12`. See [p8 Token-based connection to APNS](/docs/ios-p8-token-based-connection-to-apns).
  - `apns_env` 'production' | 'development' — The [APS Environment Entitlement](https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment) to specify whether this is a `production` or `development` environment. Defaults to `production`. Use with `apns_p8`.
  - `apns_key_id` string — The APNS Key ID. Use with `apns_p8`. See [p8 Token-based connection to APNS](/docs/ios-p8-token-based-connection-to-apns).
  - `apns_team_id` string — The APNS Team ID. Use with `apns_p8`. See [p8 Token-based connection to APNS](/docs/ios-p8-token-based-connection-to-apns).
  - `apns_bundle_id` string — The Bundle ID for your app. Use with `apns_p8`. See [p8 Token-based connection to APNS](/docs/ios-p8-token-based-connection-to-apns).
  - `apns_p12` string — A Base64 encoded p12 certificate for iOS mobile push notifications. Omit if using `apns_p8`. See [p12 APNS Authentication](/docs/ios-p12-generate-certificates).
  - `apns_p12_password` string — The password for the `apns_p12` file if applicable.
  - `additional_data_is_root_payload` boolean — If set to `true`, the `data` paramater in your push notification payload will be added to the root payload of the notification. Helpful for customizations that require access to the data outside of our [OSNotification payload `additionalData` property](/docs/osnotification-payload).

## Response `200`

200

- object
  - `id` string — The OneSignal App ID in UUID v4 format.
  - `name` string — An internal name you set to help organize and track Apps. Maximum 128 characters.
  - `players` integer — The total number of Subscriptions in the app.
  - `messageable_players` integer — The number of Subscriptions eligible to receive messages in the app.
  - `created_at` string — The date and time the app was created.
  - `updated_at` string — The date and time the app was last updated.
  - `organization_id` string — The Organization ID in which the app was created.
  - `fcm_v1_service_account_json` string — Your FCM Service Account JSON file for Android push notifications. See [Android: Firebase Credentials](/docs/android-firebase-credentials).
  - `fcm_sender_id` string — The FCM Sender ID associated with your Firebase project.
  - `chrome_web_key` string — Web push VAPID public key for Chrome web push notifications.
  - `chrome_web_origin` string — The HTTPS origin URL for your website. Required for web push notifications.
  - `chrome_web_gcm_sender_id` string — The GCM Sender ID used for web push notifications.
  - `chrome_web_default_notification_icon` string — The full HTTPS URL to your default notification icon. Should be a 256x256px PNG.
  - `chrome_web_sub_domain` string — The OneSignal subdomain for web push if not using your own origin.
  - `apns_env` string — The APNS environment: `production` or `development`. See [iOS SDK Setup](/docs/ios-sdk-setup).
  - `apns_certificates` string — The APNS p12 certificate for iOS push notifications. See [p12 APNS Authentication](/docs/ios-p12-generate-certificates).
  - `apns_p8` string — The APNS p8 token key for iOS push notifications. See [p8 Token-based connection to APNS](/docs/ios-p8-token-based-connection-to-apns).
  - `apns_team_id` string — The Apple Team ID associated with your APNS credentials.
  - `apns_key_id` string — The APNS Key ID for p8 token-based authentication.
  - `apns_bundle_id` string — The iOS app Bundle ID associated with your APNS credentials.
  - `site_name` string — The name of your website, used for web push notification titles.

## Other responses

- `403` — Forbidden. The Authorization key does not have permission to update this app, or the requested change violates the organization's policy (e.g., transferring an app to another organization).
- `404` — App not found, or the target organization (when transferring) was not found.
- `429` — Rate limit exceeded. Wait the number of seconds in the `Retry-After` header before retrying.
- `503` — Service temporarily unavailable. Retry after a short backoff. The body may be empty or non-JSON in some failure modes.

---

[API](https://skmtc.net/onesignal/apis/api-onesignal-com.md) · [All operations](https://skmtc.net/onesignal/apis/api-onesignal-com/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/onesignal/api-onesignal-com/versions/0fc223f7e338/schema)
