---
title: Application MFA Push Credentials
description: Push credentials are required for the purpose of sending push notifications to a native application. Push credentials must be defined for the application.
component: pingone-api
page_id: pingone-api:platform:applications/application-mfa-push-credentials
canonical_url: https://developer.pingidentity.com/pingone-api/platform/applications/application-mfa-push-credentials.html
section_ids:
  mfa-push-credentials-data-model: MFA push credentials data model
  response-codes: Response codes
---

# Application MFA Push Credentials

Push credentials are required for the purpose of sending push notifications to a native application. Push credentials must be defined for the application.

The push credentials endpoint implements functions to create, read, update and delete the push credentials associated with native application resources.

There are three types of push credentials:

* `APNS` (Apple)

* `FCM_HTTP_V1` (Google)

* `HMS` (Huawei)

The `FCM` type, used previously for Google Play-based applications, is no longer supported. Use `FCM_HTTP_V1` instead.

|   |                                                                                                           |
| - | --------------------------------------------------------------------------------------------------------- |
|   | The request bodies, their mandatory properties, and responses vary according to the push credential type. |

## MFA push credentials data model

| Property                        | Type   | Required? | Mutable?  | Description                                                                                                                                                                        |
| ------------------------------- | ------ | --------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type                            | String | Required  | Immutable | Specifies the push credential type. Valid values:\* `APNS` (for Apple)\* `FCM_HTTP_V1` (for Google)\* `HMS` (for Huawei)\* `FCM` (no longer supported, used previously for Google) |
| clientId                        | String | Required  | Immutable | Used only if `type` is set to `HMS`. OAuth 2.0 Client ID from the Huawei Developers API console.                                                                                   |
| clientSecret                    | String | Required  | Immutable | Used only if `type` is set to `HMS`. The client secret associated with the OAuth 2.0 Client ID.                                                                                    |
| googleServiceAccountCredentials | String | Required  | Immutable | Used when `type` is set to `FCM_HTTP_V1`. The value should be the contents of the JSON file that represents your Service Account Credentials (the Firebase Admin SDK private key). |
| key                             | String | Required  | Immutable | Used when `type` is set to `APNS`. The value should be the key ID. Before the deprecation of the `FCM` type, this was also used for the server key.                                |
| teamId                          | String | Required  | Immutable | Used only if `type` is set to `APNS`. Used to identify teams.                                                                                                                      |
| token                           | String | Required  | Immutable | Used only if `type` is set to `APNS`. Used as the authentication token signing key to securely connect to APNS. This is a p8 file with a private key format.                       |

## Response codes

| Code | Message                                                               |
| ---- | --------------------------------------------------------------------- |
| 200  | Successful operation.                                                 |
| 201  | Successfully created.                                                 |
| 204  | Successfully removed. No content.                                     |
| 400  | The request could not be completed.                                   |
| 401  | You do not have access to this resource.                              |
| 403  | You do not have permissions or are not licensed to make this request. |
| 404  | The requested resource was not found.                                 |
| 500  | Unexpected server error.                                              |
