Delivery Gateway for Push REST API

The DeliveryGateway/Push endpoint allows creating and managing Out-of-band (OOB) push delivery gateways.

The HID Authentication Service provides a set of default gateway adapters:

  • AzureAndroid

  • AzureApple

  • AzureWindows

Important: These default adapters are safeguarded against certain modifications and deletion to guarantee system stability.
Note: The API version supported by HID Authentication Service is 10.2.0.

To use the version-specific parameters/attributes, you must add api-version=N to the query parameter.

Previous versions of the API are also supported with the corresponding functionality. For details of the version updates, see SCIM API Revision History.

Method Details

HTTPS Method Entity Action Request URI Description

GET

Read

/configuration/{tenant}/v2/DeliveryGateway/Push

Retrieve the list of all Push Delivery Gateways

GET

Read

/configuration/{tenant}/v2/DeliveryGateway/Push/{uid}

Retrieve a Push Delivery Gateway

POST

Create

/configuration/{tenant}/v2/DeliveryGateway/Push

Create a Push Delivery Gateway

PUT

Replace

/configuration/{tenant}/v2/DeliveryGateway/Push/{uid}

Replace a Push Delivery Gateway

DELETE

Delete

/configuration/{tenant}/v2/DeliveryGateway/Push/{uid}

Delete a Push Delivery Gateway

Required Permissions

Function Required Permissions

GET ALL

  • Read reference data

GET

  • Read reference data

CREATE

  • Read reference data

  • Manage OOB Adapter Configuration

REPLACE

  • Read reference data

  • Manage OOB Adapter Configuration

DELETE

  • Read reference data

  • Manage OOB Adapter Configuration

Get All Push Delivery Gateways

GET /DeliveryGateway/Push

Copy

Sample Request URI

GET /configuration/{tenant}/v2/DeliveryGateway/Push
Copy

Sample Response

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 4,
    "resources": [
        {
            "schemas": [
                "urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"
            ],
            "id": "11053",
            "meta": {
                "resourceType": "Push Delivery Gateway",
                "location": "https://[base-server-url]/configuration/tenant/v2/DeliveryGateway/Push/11053",
                "version": "1"
            },
            "type": "AZURE_WNS_PUSH",
            "name": "Azure Windows Push Gateway",
            "hub": "my hub",
            "notificationTimeToLive": "180",
            "supportedOperatingSystems": [
                "WINDOWS"
            ],
            "appId": "appId",
            "messageTemplates": {
                "credential": {
                    "title": "Activation",
                    "msg": "Touch to activate"
                },
                "challenge": {
                    "title": "Transaction",
                    "msg": "Validate transaction"
                }
            }
        },
        {
            "schemas": [
                "urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"
            ],
            "id": "11054",
            "meta": {
                "resourceType": "Push Delivery Gateway",
                "location": "https://[base-server-url]/configuration/tenant/v2/DeliveryGateway/Push/11054",
                "version": "1"
            },
            "type": "AZURE_GCM_PUSH",
            "name": "Azure Android Push Gateway",
            "hub": "my hub",
            "notificationTimeToLive": "180",
            "supportedOperatingSystems": [
                "Android"
            ],
            "appId": "appId",
            "messageTemplates": {
                "credential": {
                    "title": "Activation",
                    "msg": "Touch to activate"
                 },
                "challenge": {
                    "title": "Transaction",
                    "msg": "Validate transaction"
                }
            }
        },
        <--- truncated output --->
    ]
}
Note: For API versions earlier than 8, the connectionString parameter is not returned. For API versions 8 and later, the parameter is only returned for custom delivery adapters.

Get a Push Delivery Gateway

GET /DeliveryGateway/Push/{uid}

Where {uid} is the adapter id.

Copy

Sample Request URI

GET /configuration/{tenant}/v2/DeliveryGateway/Push/85480
Copy

Sample Response

{
    "schemas": ["urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"],
    "id": "85480",
    "meta": {
        "resourceType": "Push Delivery Gateway",
        "location": "https://[base-server-url]/configuration/tenant/v2/DeliveryGateway/Push/85480",
        "version": "1"
    },
    "name": "Custom Azure iOS Gateway",
    "type": "AZURE_APNS_PUSH",
    "connectionString": "Custom APNS Connection String",
    "hub": "hubPathApns",
    "supportedOperatingSystems": [
        "iOS12",
        "iOS13"
    ],
    "appId": "hidapprove"
    "messageTemplates": {
        "credential": {"msg": "Activation"},
        "challenge": {"msg": "New Transaction"}
    }
}
Note: For API versions earlier than 8, the connectionString parameter is not returned. For API versions 8 and later, the parameter is only returned for custom delivery adapters.

Create a Push Delivery Gateway

POST /DeliveryGateway/Push

To bind a delivery gateway to an authenticator policy, see Add a Delivery Gateways Binding.

Copy

Sample Request URI

POST /configuration/{tenant}/v2/DeliveryGateway/Push
Copy

Sample Request

{
   "schemas": ["urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"],
   "type": "AZURE_WNS_PUSH",
   "name": "Custom Windows Push Gateway",
   "connectionString": "Custom Connection String",
   "hub": "Custom Hub",
   "supportedOperatingSystems": ["WINDOWS"],
   "messageTemplates":    {
      "credential":       {
         "title": "Activation",
         "msg": "Touch to activate"
      },
      "challenge":       {
         "title": "New Transaction",
         "msg": "Validate transaction"
      }
   }
}
Copy

Sample Response

{
   "schemas": ["urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"],
   "id": "85839",
   "meta":    {
      "resourceType": "Push Delivery Gateway",
      "location": "https://[base-server-url]/configuration/tenant/v2/DeliveryGateway/Push/85839",
      "version": "1"
   },
   "name": "Custom Windows Push Gateway",
   "type": "AZURE_WNS_PUSH",
   "connectionString": "Custom Connection String",
   "hub": "Custom Hub",
   "supportedOperatingSystems": ["WINDOWS"],
   "messageTemplates":    {
      "credential":       {
         "title": "Activation",
         "msg": "Touch to activate"
      },
      "challenge":       {
         "title": "New Transaction",
         "msg": "Validate transaction"
      }
   }
}

Replace a Push Delivery Gateway

PUT /DeliveryGateway/Push/{uid}

Where {uid} is the adapter ID.

Note: As a best practice, use GET to retrieve the current data for the resource before using PUT.
Note: For the default adapters, you cannot edit the following parameters:
  • name

  • connectionString

  • hubPath

  • supportedOperatingSystems

  • appID

Copy

Sample Request URI

PUT /configuration/{tenant}/v2/DeliveryGateway/Push/85839
Copy

Sample request where notes are added and the connectionString and supportedOperatingSystems parameters are changed

{
   "schemas": ["urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"],
   "name": "Windows Push Gateway",
   "notes": "Updated notes",
   "connectionString": "Updated connection String",
   "hub": "myHub",
   "supportedOperatingSystems": [ "WINDOWS10" , "WINDOWS11" ]
}
Copy

Sample Response

{
    "schemas": ["urn:hid:scim:api:idp:2.0:DeliveryGateway:Push"],
    "id": "85839",
    "meta":    {
        "resourceType": "Push Delivery Gateway",
        "location": "https://[base-server-url]/configuration/tenant/v2/DeliveryGateway/Push/85839",
        "version": "1"
    },
    "name": "Windows Push Gateway",
    "type": "AZURE_WNS_PUSH",
    "notes": "Updated notes",
    "connectionString": "Updated Connection String",
    "hub": "myHub",
    "supportedOperatingSystems":    [
        "WINDOWS10",
        "WINDOWS11"
    ],
    "messageTemplates":    {
        "credential":       {
            "title": "Activation",
            "msg": "Touch to activate"
        },
        "challenge":       {
            "title": "New Transaction",
            "msg": "Validate transaction"
        }
    }
}

Delete a Push Delivery Gateway

DELETE /DeliveryGateway/Push/{uid}

Where {uid} is the adapter ID.

Copy

Sample Request URI

DELETE /configuration/{tenant}/v2/DeliveryGateway/Push/85839
Copy

Sample Response

HTTP 204 No Content