PingOne Platform APIs

Update Application (PingID App)

PUT {{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}

This example uses PUT {{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}} to update the settings for the PingID application.

When you update the settings, any optional parameters left out result in the clearing of the corresponding settings. To prevent unintentional changes, always run GET {{apiPath}}/v1/environments/{{envID}}/applications/{{pingAppID}} before updating the application settings, and use the response as the basis for the body of the PUT request.

Prerequisites

See Application Operations for important overview information.

Request Model
Property Type Required?

description

String

Optional

enabled

Boolean

Required

mobile.allowAuthenticationDeviceLocked.enabled

Boolean

Optional

mobile.allowUnPairAndChangeDeviceFromApp.enabled

Boolean

Optional

mobile.bundleId

String

Required

mobile.mobileAppSecurityPinRequire.enabled

Boolean

Optional

mobile.mobileAppSecurityPinRequire.requireForAllDevices

Boolean

Optional

mobile.mobileAppSecurityPinRequire.securityPinDigit

String

Optional

mobile.mobileDeviceBiometricsSetting.devicePasscodeFallbackEnabled

Boolean

Optional

mobile.mobileDeviceBiometricsSetting.faceIdConsentEnabled

Boolean

Optional

mobile.mobileDeviceBiometricsSetting.notificationActionsEnabled

Boolean

Optional

mobile.mobileDeviceBiometricsSetting.required

Boolean

Optional

mobile.notifyOptionalMobileVersionUpdates.enabled

Boolean

Optional

mobile.notifyOptionalMobileVersionUpdates.android

String

Optional

mobile.notifyOptionalMobileVersionUpdates.ios

String

Optional

mobile.notifyRequireMobileVersionUpdates.enabled

Boolean

Optional

mobile.notifyRequireMobileVersionUpdates.android

String

Optional

mobile.notifyRequireMobileVersionUpdates.ios

String

Optional

mobile.otpPushNotificationEnabled.enabled

Boolean

Optional

mobile.packageName

String

Required

mobile.pingIDSettings

Boolean

Required

mobile.push.numberMatching.type

String

Optional

mobile.showAuthenticationInformation.enabled

Boolean

Optional

name

String

Required

protocol

String

Required

refreshTokenDuration

Integer

Required

refreshTokenRollingDuration

Integer

Required

type

String

Required

See PingID mobile app configuration data model for complete descriptions.

Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

Body

raw ( application/json )

{
    "name": "PingID Mobile",
    "description":"The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
        "pingIDSettings": true,
        "bundleId": "com.pingidentity.pingid.prod",
        "packageName": "prod.com.pingidentity.pingid",
        "otpPushNotificationEnabled": {
            "enabled": true
        },
        "allowUnPairAndChangeDeviceFromApp": {
            "enabled": true
        },
        "mobileAppSecurityPinRequire": {
            "requireForAllDevices": true,
            "securityPinDigit": "FOUR_DIGIT",
            "enabled": true
        },
        "allowAuthenticationDeviceLocked": {
            "enabled": true
        },
        "showAuthenticationInformation": {
            "enabled": true
        },
        "push":{
            "numberMatching":{
                "type":"SELECT_NUMBER"
            }
        },
        "mobileDeviceBiometricsSetting": {
            "enabled": false,
            "required": true,
            "faceIdConsentEnabled": true,
            "notificationActionsEnabled": true,
            "devicePasscodeFallbackEnabled":true
        },
        "notifyRequireMobileVersionUpdates": {
            "enabled": true,
            "android": "1.36.0",
            "ios": "1.35.0"
        },
        "notifyOptionalMobileVersionUpdates": {
            "enabled": true,
            "android": "1.38.0",
            "ios": "latest"
        }
    }
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff --request PUT '{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
    "name": "PingID Mobile",
    "description":"The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
        "pingIDSettings": true,
        "bundleId": "com.pingidentity.pingid.prod",
        "packageName": "prod.com.pingidentity.pingid",
        "otpPushNotificationEnabled": {
            "enabled": true
        },
        "allowUnPairAndChangeDeviceFromApp": {
            "enabled": true
        },
        "mobileAppSecurityPinRequire": {
            "requireForAllDevices": true,
            "securityPinDigit": "FOUR_DIGIT",
            "enabled": true
        },
        "allowAuthenticationDeviceLocked": {
            "enabled": true
        },
        "showAuthenticationInformation": {
            "enabled": true
        },
        "push":{
            "numberMatching":{
                "type":"SELECT_NUMBER"
            }
        },
        "mobileDeviceBiometricsSetting": {
            "enabled": false,
            "required": true,
            "faceIdConsentEnabled": true,
            "notificationActionsEnabled": true,
            "devicePasscodeFallbackEnabled":true
        },
        "notifyRequireMobileVersionUpdates": {
            "enabled": true,
            "android": "1.36.0",
            "ios": "1.35.0"
        },
        "notifyOptionalMobileVersionUpdates": {
            "enabled": true,
            "android": "1.38.0",
            "ios": "latest"
        }
    }
}'
var options = new RestClientOptions("{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@"    ""name"": ""PingID Mobile""," + "\n" +
@"    ""description"":""The PingID mobile application can be used for multi-factor authentication and user verification use cases.""," + "\n" +
@"    ""protocol"": ""OPENID_CONNECT""," + "\n" +
@"    ""type"": ""NATIVE_APP""," + "\n" +
@"    ""enabled"": true," + "\n" +
@"    ""refreshTokenDuration"": 2592000," + "\n" +
@"    ""refreshTokenRollingDuration"": 15552000," + "\n" +
@"    ""mobile"": {" + "\n" +
@"        ""pingIDSettings"": true," + "\n" +
@"        ""bundleId"": ""com.pingidentity.pingid.prod""," + "\n" +
@"        ""packageName"": ""prod.com.pingidentity.pingid""," + "\n" +
@"        ""otpPushNotificationEnabled"": {" + "\n" +
@"            ""enabled"": true" + "\n" +
@"        }," + "\n" +
@"        ""allowUnPairAndChangeDeviceFromApp"": {" + "\n" +
@"            ""enabled"": true" + "\n" +
@"        }," + "\n" +
@"        ""mobileAppSecurityPinRequire"": {" + "\n" +
@"            ""requireForAllDevices"": true," + "\n" +
@"            ""securityPinDigit"": ""FOUR_DIGIT""," + "\n" +
@"            ""enabled"": true" + "\n" +
@"        }," + "\n" +
@"        ""allowAuthenticationDeviceLocked"": {" + "\n" +
@"            ""enabled"": true" + "\n" +
@"        }," + "\n" +
@"        ""showAuthenticationInformation"": {" + "\n" +
@"            ""enabled"": true" + "\n" +
@"        }," + "\n" +
@"        ""push"":{" + "\n" +
@"            ""numberMatching"":{" + "\n" +
@"                ""type"":""SELECT_NUMBER""" + "\n" +
@"            }" + "\n" +
@"        }," + "\n" +
@"        ""mobileDeviceBiometricsSetting"": {" + "\n" +
@"            ""enabled"": false," + "\n" +
@"            ""required"": true," + "\n" +
@"            ""faceIdConsentEnabled"": true," + "\n" +
@"            ""notificationActionsEnabled"": true," + "\n" +
@"            ""devicePasscodeFallbackEnabled"":true" + "\n" +
@"        }," + "\n" +
@"        ""notifyRequireMobileVersionUpdates"": {" + "\n" +
@"            ""enabled"": true," + "\n" +
@"            ""android"": ""1.36.0""," + "\n" +
@"            ""ios"": ""1.35.0""" + "\n" +
@"        }," + "\n" +
@"        ""notifyOptionalMobileVersionUpdates"": {" + "\n" +
@"            ""enabled"": true," + "\n" +
@"            ""android"": ""1.38.0""," + "\n" +
@"            ""ios"": ""latest""" + "\n" +
@"        }" + "\n" +
@"    }" + "\n" +
@"}" + "\n" +
@"";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}"
  method := "PUT"

  payload := strings.NewReader(`{
    "name": "PingID Mobile",
    "description":"The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
        "pingIDSettings": true,
        "bundleId": "com.pingidentity.pingid.prod",
        "packageName": "prod.com.pingidentity.pingid",
        "otpPushNotificationEnabled": {
            "enabled": true
        },
        "allowUnPairAndChangeDeviceFromApp": {
            "enabled": true
        },
        "mobileAppSecurityPinRequire": {
            "requireForAllDevices": true,
            "securityPinDigit": "FOUR_DIGIT",
            "enabled": true
        },
        "allowAuthenticationDeviceLocked": {
            "enabled": true
        },
        "showAuthenticationInformation": {
            "enabled": true
        },
        "push":{
            "numberMatching":{
                "type":"SELECT_NUMBER"
            }
        },
        "mobileDeviceBiometricsSetting": {
            "enabled": false,
            "required": true,
            "faceIdConsentEnabled": true,
            "notificationActionsEnabled": true,
            "devicePasscodeFallbackEnabled":true
        },
        "notifyRequireMobileVersionUpdates": {
            "enabled": true,
            "android": "1.36.0",
            "ios": "1.35.0"
        },
        "notifyOptionalMobileVersionUpdates": {
            "enabled": true,
            "android": "1.38.0",
            "ios": "latest"
        }
    }
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
PUT /v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}} HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
    "name": "PingID Mobile",
    "description":"The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
        "pingIDSettings": true,
        "bundleId": "com.pingidentity.pingid.prod",
        "packageName": "prod.com.pingidentity.pingid",
        "otpPushNotificationEnabled": {
            "enabled": true
        },
        "allowUnPairAndChangeDeviceFromApp": {
            "enabled": true
        },
        "mobileAppSecurityPinRequire": {
            "requireForAllDevices": true,
            "securityPinDigit": "FOUR_DIGIT",
            "enabled": true
        },
        "allowAuthenticationDeviceLocked": {
            "enabled": true
        },
        "showAuthenticationInformation": {
            "enabled": true
        },
        "push":{
            "numberMatching":{
                "type":"SELECT_NUMBER"
            }
        },
        "mobileDeviceBiometricsSetting": {
            "enabled": false,
            "required": true,
            "faceIdConsentEnabled": true,
            "notificationActionsEnabled": true,
            "devicePasscodeFallbackEnabled":true
        },
        "notifyRequireMobileVersionUpdates": {
            "enabled": true,
            "android": "1.36.0",
            "ios": "1.35.0"
        },
        "notifyOptionalMobileVersionUpdates": {
            "enabled": true,
            "android": "1.38.0",
            "ios": "latest"
        }
    }
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"PingID Mobile\",\n    \"description\":\"The PingID mobile application can be used for multi-factor authentication and user verification use cases.\",\n    \"protocol\": \"OPENID_CONNECT\",\n    \"type\": \"NATIVE_APP\",\n    \"enabled\": true,\n    \"refreshTokenDuration\": 2592000,\n    \"refreshTokenRollingDuration\": 15552000,\n    \"mobile\": {\n        \"pingIDSettings\": true,\n        \"bundleId\": \"com.pingidentity.pingid.prod\",\n        \"packageName\": \"prod.com.pingidentity.pingid\",\n        \"otpPushNotificationEnabled\": {\n            \"enabled\": true\n        },\n        \"allowUnPairAndChangeDeviceFromApp\": {\n            \"enabled\": true\n        },\n        \"mobileAppSecurityPinRequire\": {\n            \"requireForAllDevices\": true,\n            \"securityPinDigit\": \"FOUR_DIGIT\",\n            \"enabled\": true\n        },\n        \"allowAuthenticationDeviceLocked\": {\n            \"enabled\": true\n        },\n        \"showAuthenticationInformation\": {\n            \"enabled\": true\n        },\n        \"push\":{\n            \"numberMatching\":{\n                \"type\":\"SELECT_NUMBER\"\n            }\n        },\n        \"mobileDeviceBiometricsSetting\": {\n            \"enabled\": false,\n            \"required\": true,\n            \"faceIdConsentEnabled\": true,\n            \"notificationActionsEnabled\": true,\n            \"devicePasscodeFallbackEnabled\":true\n        },\n        \"notifyRequireMobileVersionUpdates\": {\n            \"enabled\": true,\n            \"android\": \"1.36.0\",\n            \"ios\": \"1.35.0\"\n        },\n        \"notifyOptionalMobileVersionUpdates\": {\n            \"enabled\": true,\n            \"android\": \"1.38.0\",\n            \"ios\": \"latest\"\n        }\n    }\n}\n");
Request request = new Request.Builder()
  .url("{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "name": "PingID Mobile",
    "description": "The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
      "pingIDSettings": true,
      "bundleId": "com.pingidentity.pingid.prod",
      "packageName": "prod.com.pingidentity.pingid",
      "otpPushNotificationEnabled": {
        "enabled": true
      },
      "allowUnPairAndChangeDeviceFromApp": {
        "enabled": true
      },
      "mobileAppSecurityPinRequire": {
        "requireForAllDevices": true,
        "securityPinDigit": "FOUR_DIGIT",
        "enabled": true
      },
      "allowAuthenticationDeviceLocked": {
        "enabled": true
      },
      "showAuthenticationInformation": {
        "enabled": true
      },
      "push": {
        "numberMatching": {
          "type": "SELECT_NUMBER"
        }
      },
      "mobileDeviceBiometricsSetting": {
        "enabled": false,
        "required": true,
        "faceIdConsentEnabled": true,
        "notificationActionsEnabled": true,
        "devicePasscodeFallbackEnabled": true
      },
      "notifyRequireMobileVersionUpdates": {
        "enabled": true,
        "android": "1.36.0",
        "ios": "1.35.0"
      },
      "notifyOptionalMobileVersionUpdates": {
        "enabled": true,
        "android": "1.38.0",
        "ios": "latest"
      }
    }
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'PUT',
  'url': '{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "name": "PingID Mobile",
    "description": "The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "protocol": "OPENID_CONNECT",
    "type": "NATIVE_APP",
    "enabled": true,
    "refreshTokenDuration": 2592000,
    "refreshTokenRollingDuration": 15552000,
    "mobile": {
      "pingIDSettings": true,
      "bundleId": "com.pingidentity.pingid.prod",
      "packageName": "prod.com.pingidentity.pingid",
      "otpPushNotificationEnabled": {
        "enabled": true
      },
      "allowUnPairAndChangeDeviceFromApp": {
        "enabled": true
      },
      "mobileAppSecurityPinRequire": {
        "requireForAllDevices": true,
        "securityPinDigit": "FOUR_DIGIT",
        "enabled": true
      },
      "allowAuthenticationDeviceLocked": {
        "enabled": true
      },
      "showAuthenticationInformation": {
        "enabled": true
      },
      "push": {
        "numberMatching": {
          "type": "SELECT_NUMBER"
        }
      },
      "mobileDeviceBiometricsSetting": {
        "enabled": false,
        "required": true,
        "faceIdConsentEnabled": true,
        "notificationActionsEnabled": true,
        "devicePasscodeFallbackEnabled": true
      },
      "notifyRequireMobileVersionUpdates": {
        "enabled": true,
        "android": "1.36.0",
        "ios": "1.35.0"
      },
      "notifyOptionalMobileVersionUpdates": {
        "enabled": true,
        "android": "1.38.0",
        "ios": "latest"
      }
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}"

payload = json.dumps({
  "name": "PingID Mobile",
  "description": "The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
  "protocol": "OPENID_CONNECT",
  "type": "NATIVE_APP",
  "enabled": True,
  "refreshTokenDuration": 2592000,
  "refreshTokenRollingDuration": 15552000,
  "mobile": {
    "pingIDSettings": True,
    "bundleId": "com.pingidentity.pingid.prod",
    "packageName": "prod.com.pingidentity.pingid",
    "otpPushNotificationEnabled": {
      "enabled": True
    },
    "allowUnPairAndChangeDeviceFromApp": {
      "enabled": True
    },
    "mobileAppSecurityPinRequire": {
      "requireForAllDevices": True,
      "securityPinDigit": "FOUR_DIGIT",
      "enabled": True
    },
    "allowAuthenticationDeviceLocked": {
      "enabled": True
    },
    "showAuthenticationInformation": {
      "enabled": True
    },
    "push": {
      "numberMatching": {
        "type": "SELECT_NUMBER"
      }
    },
    "mobileDeviceBiometricsSetting": {
      "enabled": False,
      "required": True,
      "faceIdConsentEnabled": True,
      "notificationActionsEnabled": True,
      "devicePasscodeFallbackEnabled": True
    },
    "notifyRequireMobileVersionUpdates": {
      "enabled": True,
      "android": "1.36.0",
      "ios": "1.35.0"
    },
    "notifyOptionalMobileVersionUpdates": {
      "enabled": True,
      "android": "1.38.0",
      "ios": "latest"
    }
  }
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n    "name": "PingID Mobile",\n    "description":"The PingID mobile application can be used for multi-factor authentication and user verification use cases.",\n    "protocol": "OPENID_CONNECT",\n    "type": "NATIVE_APP",\n    "enabled": true,\n    "refreshTokenDuration": 2592000,\n    "refreshTokenRollingDuration": 15552000,\n    "mobile": {\n        "pingIDSettings": true,\n        "bundleId": "com.pingidentity.pingid.prod",\n        "packageName": "prod.com.pingidentity.pingid",\n        "otpPushNotificationEnabled": {\n            "enabled": true\n        },\n        "allowUnPairAndChangeDeviceFromApp": {\n            "enabled": true\n        },\n        "mobileAppSecurityPinRequire": {\n            "requireForAllDevices": true,\n            "securityPinDigit": "FOUR_DIGIT",\n            "enabled": true\n        },\n        "allowAuthenticationDeviceLocked": {\n            "enabled": true\n        },\n        "showAuthenticationInformation": {\n            "enabled": true\n        },\n        "push":{\n            "numberMatching":{\n                "type":"SELECT_NUMBER"\n            }\n        },\n        "mobileDeviceBiometricsSetting": {\n            "enabled": false,\n            "required": true,\n            "faceIdConsentEnabled": true,\n            "notificationActionsEnabled": true,\n            "devicePasscodeFallbackEnabled":true\n        },\n        "notifyRequireMobileVersionUpdates": {\n            "enabled": true,\n            "android": "1.36.0",\n            "ios": "1.35.0"\n        },\n        "notifyOptionalMobileVersionUpdates": {\n            "enabled": true,\n            "android": "1.38.0",\n            "ios": "latest"\n        }\n    }\n}');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"

url = URI("{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
  "name": "PingID Mobile",
  "description": "The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
  "protocol": "OPENID_CONNECT",
  "type": "NATIVE_APP",
  "enabled": true,
  "refreshTokenDuration": 2592000,
  "refreshTokenRollingDuration": 15552000,
  "mobile": {
    "pingIDSettings": true,
    "bundleId": "com.pingidentity.pingid.prod",
    "packageName": "prod.com.pingidentity.pingid",
    "otpPushNotificationEnabled": {
      "enabled": true
    },
    "allowUnPairAndChangeDeviceFromApp": {
      "enabled": true
    },
    "mobileAppSecurityPinRequire": {
      "requireForAllDevices": true,
      "securityPinDigit": "FOUR_DIGIT",
      "enabled": true
    },
    "allowAuthenticationDeviceLocked": {
      "enabled": true
    },
    "showAuthenticationInformation": {
      "enabled": true
    },
    "push": {
      "numberMatching": {
        "type": "SELECT_NUMBER"
      }
    },
    "mobileDeviceBiometricsSetting": {
      "enabled": false,
      "required": true,
      "faceIdConsentEnabled": true,
      "notificationActionsEnabled": true,
      "devicePasscodeFallbackEnabled": true
    },
    "notifyRequireMobileVersionUpdates": {
      "enabled": true,
      "android": "1.36.0",
      "ios": "1.35.0"
    },
    "notifyOptionalMobileVersionUpdates": {
      "enabled": true,
      "android": "1.38.0",
      "ios": "latest"
    }
  }
})

response = http.request(request)
puts response.read_body
let parameters = "{\n    \"name\": \"PingID Mobile\",\n    \"description\":\"The PingID mobile application can be used for multi-factor authentication and user verification use cases.\",\n    \"protocol\": \"OPENID_CONNECT\",\n    \"type\": \"NATIVE_APP\",\n    \"enabled\": true,\n    \"refreshTokenDuration\": 2592000,\n    \"refreshTokenRollingDuration\": 15552000,\n    \"mobile\": {\n        \"pingIDSettings\": true,\n        \"bundleId\": \"com.pingidentity.pingid.prod\",\n        \"packageName\": \"prod.com.pingidentity.pingid\",\n        \"otpPushNotificationEnabled\": {\n            \"enabled\": true\n        },\n        \"allowUnPairAndChangeDeviceFromApp\": {\n            \"enabled\": true\n        },\n        \"mobileAppSecurityPinRequire\": {\n            \"requireForAllDevices\": true,\n            \"securityPinDigit\": \"FOUR_DIGIT\",\n            \"enabled\": true\n        },\n        \"allowAuthenticationDeviceLocked\": {\n            \"enabled\": true\n        },\n        \"showAuthenticationInformation\": {\n            \"enabled\": true\n        },\n        \"push\":{\n            \"numberMatching\":{\n                \"type\":\"SELECT_NUMBER\"\n            }\n        },\n        \"mobileDeviceBiometricsSetting\": {\n            \"enabled\": false,\n            \"required\": true,\n            \"faceIdConsentEnabled\": true,\n            \"notificationActionsEnabled\": true,\n            \"devicePasscodeFallbackEnabled\":true\n        },\n        \"notifyRequireMobileVersionUpdates\": {\n            \"enabled\": true,\n            \"android\": \"1.36.0\",\n            \"ios\": \"1.35.0\"\n        },\n        \"notifyOptionalMobileVersionUpdates\": {\n            \"enabled\": true,\n            \"android\": \"1.38.0\",\n            \"ios\": \"latest\"\n        }\n    }\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/v1/environments/{{EnvIDConverged}}/applications/{{pingAppID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "PUT"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

200 OK

{
    "_links": {
        "self": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/cd4b4ff5-6972-464a-b853-6655077cd85f"
        },
        "environment": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        },
        "attributes": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/cd4b4ff5-6972-464a-b853-6655077cd85f/attributes"
        },
        "pushCredentials": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/cd4b4ff5-6972-464a-b853-6655077cd85f/pushCredentials"
        },
        "secret": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/cd4b4ff5-6972-464a-b853-6655077cd85f/secret"
        },
        "grants": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/cd4b4ff5-6972-464a-b853-6655077cd85f/grants"
        }
    },
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "id": "cd4b4ff5-6972-464a-b853-6655077cd85f",
    "name": "PingID Mobile",
    "description": "The PingID mobile application can be used for multi-factor authentication and user verification use cases.",
    "enabled": true,
    "type": "NATIVE_APP",
    "protocol": "OPENID_CONNECT",
    "createdAt": "2026-05-14T12:01:06.970Z",
    "updatedAt": "2026-05-17T14:30:43.934Z",
    "clientId": "cd4b4ff5-6972-464a-b853-6655077cd85f",
    "assignActorRoles": false,
    "mobile": {
        "bundleId": "com.pingidentity.pingid.prod",
        "packageName": "prod.com.pingidentity.pingid",
        "integrityDetection": {
            "mode": "DISABLED"
        },
        "push": {
            "numberMatching": {
                "type": "SELECT_NUMBER"
            }
        },
        "passcodeRefreshDuration": {
            "duration": 30,
            "timeUnit": "SECONDS"
        },
        "passcodeGracePeriod": 5,
        "allowUnPairAndChangeDeviceFromApp": {
            "enabled": true
        },
        "allowAuthenticationDeviceLocked": {
            "enabled": true
        },
        "mobileAppSecurityPinRequire": {
            "requireForAllDevices": true,
            "securityPinDigit": "FOUR_DIGIT",
            "enabled": true
        },
        "notifyRequireMobileVersionUpdates": {
            "enabled": true,
            "android": "1.36.0",
            "ios": "1.35.0"
        },
        "notifyOptionalMobileVersionUpdates": {
            "enabled": true,
            "android": "1.38.0",
            "ios": "latest"
        },
        "mobileDeviceBiometricsSetting": {
            "enabled": false,
            "required": true,
            "faceIdConsentEnabled": true,
            "notificationActionsEnabled": true,
            "devicePasscodeFallbackEnabled": true
        },
        "showAuthenticationInformation": {
            "enabled": true
        },
        "otpPushNotificationEnabled": {
            "enabled": true
        },
        "pingIDSettings": true
    },
    "bundleId": "com.pingidentity.pingid.prod",
    "packageName": "prod.com.pingidentity.pingid",
    "refreshTokenDuration": 2592000,
    "p1ApiAccessTokenValiditySeconds": 3600,
    "pkceEnforcement": "OPTIONAL",
    "tokenEndpointAuthMethod": "NONE",
    "refreshTokenRollingDuration": 15552000,
    "requestScopesForMultipleResourcesEnabled": false,
    "parRequirement": "OPTIONAL",
    "devicePollingInterval": 5,
    "parTimeout": 60,
    "deviceTimeout": 600
}