Push API


This API documentation covers submitting push jobs from external services.

URL scheme: https://<customer-id>.push.delivery/push-api/<endpoint>

To use the service you need HTTP basic auth. Data is sent as JSON via POST.

REST Endpoints


Submit a push job. Tags to be addressed can be specified via their id’s or their source id’s. For this endpoint a specific push user is available and can be looked up in the administration UI. Alternatively any user login can also be used to submit a push. If no appId’s are specified, it means all apps that are connected to the specified tags will be addressed, this is the default behavior.

The payload is typically an encoded JSON object, which then is transformed using a template for each platform. See Push templates information.

Table 1. Request Parameter Description
Name Description Example


the IDs of the tags

101, 102


the source IDs of the tags

sport_football_team_fcb_goal, sport_football_team_fca_goal


the IDs of the apps (optional)

110, 111


the payload of the push as string, typically a JSON object (escaped)

{ \'message \' : \'test\' }

if the tag is expired notification will be not delivered.
Example URL
Example POST Request with tag ID (content type: application/json)
    "tagIds": [ <id-number>, <id-number> ... ],
    "payload": "{ \"field1\" : \"value\", \"field2\" : \"value\" ... }"
Example POST Request with tag source ID (content type: application/json)
    "tagSourceIds": ["sport_football_team_fcb_goal", "sport_football_team_fca_goal"],
    "payload": "{ \"field1\" : \"value\", \"field2\" : \"value\" ... }"
Example POST Request with specific app ID (content type: application/json)
    "tagIds": [ <id-number>, <id-number> ... ],
    "payload": "{ \"field1\" : \"value\", \"field2\" : \"value\" ... }",
    "appIds" : [ <id-number> ]
Example Response (content type: text/plain)

The response will be a push job id that can be used for status queries.

In case of an invalid request, the response will be a HTTP 422 code. Invalid requests are missing for example payload, or tag id’s or specify non-existant tag source id’s.


Query the status of a push job. The status response will have an entry for each app addressed in the push job. It also will carry the transformed (by the push template) payload for each app.

Example URL
Example GET Request
Example Response (content type: application/json)
        key: {
            id: "<job-id-string>",
            platformId: <platform-id>,
            appId: <app-id>
        created: <timestamp-long>,
        finished: <timestamp-long>,
        state: "<state-string>",
        totalCount: <count-long>,
        successCount: <count-long>,
        errorCount: <count-long>,
        messages: [ ],
        transformedPayload: "{ \"field1\" : \"value\"}"