Application API


Use this API to manage PingID SDK applications.

PingID SDK Applications can also be managed in the admin web console. See Manage PingID SDK applications.

All requests require authorization of the server. See Signatures in PingID SDK.

Application representation

Parameter Name Type Description
id String The application ID.
  • Required. Must be provided during application creation.
  • Only a valid UUID is allowed.
  • Case insensitive.
    Note: The Application API always returns the application ID in lowercase.
  • Must be unique per account.
name String The application name.
  • Required.
  • Must be unique per account (case-insensitive).
  • Applications that were created in the admin web console:
    The application name is Base64 decoded, and has the _base64Format_ prefix.
    For example, an application that was created in the admin web console with the name Application1 is returned as _base64Format_QXBwbGljYXRpb24x, where QXBwbGljYXRpb24x is the Base64 encoding for Application1.
    appEnabled Boolean Whether the application is enabled.
    The default is false.
    sharedBetweenAccounts Boolean Whether the application is shared between accounts.
    If the application ID already exists in another account in the same data center region (North America, Europe or Australia), the value is true.
    The value is returned from the server and is read-only.
    fcmSenderId String The FCM sender ID, used to identify each sender that can send messages to the client app.
    Optional.
    fcmServerKey String The FCM server key, that authorizes the app server for access to Google services, including sending messages via the Firebase Cloud Messaging legacy protocols.
    Optional.
    googleServiceAccountCredentials String The contents of the JSON file that represents your Service Account Credentials. This is the JSON file with your Google Services Account Key that you created in Firebase or the Google Cloud console.
    The FCM legacy APIs were deprecated in June 2023 and are planned for removal in June 2024. So you should use this parameter to update the credentials for all your applications.

    REST operations

    HTTP Method Description
    POST Create an application.
    GET Retrieve an application or all the applications in the account.
    PUT Update an application.

    Create an application (POST)

    Relative Path

    /accounts/{accountId}/applications

    Request Body Structure

    For legacy FCM:

    {
      "id": "<application UUID>",
      "name": "<application name>",
      "appEnabled": <true or false. default: false>,
      "fcmSenderId": "<FCM sender ID. optional>",
      "fcmServerKey": "<FCM server key. optional>"
    }

    For FCM HTTP v1:

    {
      "id": "<application UUID>",
      "name": "<application name>",
      "appEnabled": <true or false. default: false>,
      "googleServiceAccountCredentials": "{ \"type\": \"service_account\", \"project_id\": ... \"universe_domain\": \"googleapis.com\"}"
    }

    Create application request example

    curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
       "id": "cb869bc1-b136-4698-afce-5e6775333bbc", \ 
       "name": "Moderno Application", \ 
       "appEnabled": true \ 
     }' 'https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications'

    Create application response example

    {
      "self": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc"
      },
      "account": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2"
      },
      "id": "cb869bc1-b136-4698-afce-5e6775333bbc",
      "name": "Moderno Application",
      "appEnabled": true,
      "sharedBetweenAccounts": false
    }

    Update an application (PUT)

    Relative Path

    /accounts/{accountId}/applications/{applicationId}

    Update application request example

    curl --location --request PUT 'https://sdk.pingid.com/pingid/v1/accounts/46addcf3-535e-4b2b-a6fc-78c399212037/applications/60da9403-1190-419a-905d-c9db770c5426' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    "id" : "60da9403-1190-419a-905d-c9db770c5426",
    "name":"push_prod_app",
    "appEnabled": "true",
    "sharedBetweenAccounts": "true",
    "googleServiceAccountCredentials":"{ \"type\": \"service_account\", \"project_id\": ... \"universe_domain\": \"googleapis.com\"}"
    }'

    Update application response example

    {
      "self": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc"
      },
      "attributes": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc/attributes"
      },
      "account": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2"
      },
      "id": "cb869bc1-b136-4698-afce-5e6775333bbc",
      "name": "Moderno Application - changed",
      "appEnabled": true,
      "sharedBetweenAccounts": false
    }

    Get bulk applications (GET)

    Get all the applications in the account.

    Relative Path

    /accounts/{accountId}/applications

    Get applications request example

    curl -X GET --header 'Accept: application/json' 'https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications'

    Get applications response example

    {
      "applications": [
        {
          "id": "cb869bc1-b136-4698-afce-5e6775333bbc",
          "name": "Moderno Application",
          "appEnabled": true,
          "sharedBetweenAccounts": false
        }
      ]
    }

    Get an application (GET)

    Get a specific application in the account.

    Relative Path

    /accounts/{accountId}/applications/{applicationId}

    Get an application request example

    curl -X GET --header 'Accept: application/json' 'https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc'

    Get an application response example

    {
      "certificates": {
        "href": "https://test-sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc/certificates"
      },
      "self": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc"
      },
      "attributes": {
        "href": "https://sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2/applications/cb869bc1-b136-4698-afce-5e6775333bbc/attributes"
      },
      "account": {
        "href": "https://test-sdk.pingid.com/pingid/v1/accounts/f851a4da-1239-4008-9456-8b93279558f2"
      },
      "id": "cb869bc1-b136-4698-afce-5e6775333bbc",
      "name": "Moderno Application",
      "appEnabled": true,
      "sharedBetweenAccounts": false
    }