---
updatedAt: 2026-09-04T07:06:33.000Z
agentTools:
  projectIndex: https://documentation.indigitall.com/llms.txt
---

# Securely send a notification

Securely send a notification to a specific device. Data in securedData filed is encrypted before sending.

The device field can be refered by its deviceId or externalId, this can be set with idType parameter, which is deviceId by default.

If externalId is used, it will be sent to all enabled devices sharing the same externalId.

---

* Example with deviceId
```
{
  "idType": "deviceId",
  "device" : "deviceId1"
}
``` 

* Example with externalId
```
{
  "idType": "externalId",
  "device" : "externalId1"
}
``` 
---


# OpenAPI definition

````json
{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0.0",
    "title": "Indigitall Push Secure Sending API",
    "description": "Endpoints for Push Secure Sending API"
  },
  "servers": [
    {
      "url": "/v1"
    }
  ],
  "tags": [
    {
      "name": "notification",
      "description": "Notification endpoints"
    }
  ],
  "security": [
    {
      "ServerKey": []
    }
  ],
  "paths": {
    "/notification/send/one": {
      "post": {
        "summary": "Securely send a notification",
        "description": "Securely send a notification to a specific device. Data in securedData filed is encrypted before sending.\n\nThe device field can be refered by its deviceId or externalId, this can be set with idType parameter, which is deviceId by default.\n\nIf externalId is used, it will be sent to all enabled devices sharing the same externalId.\n\n---\n\n* Example with deviceId\n```\n{\n  \"idType\": \"deviceId\",\n  \"device\" : \"deviceId1\"\n}\n``` \n\n* Example with externalId\n```\n{\n  \"idType\": \"externalId\",\n  \"device\" : \"externalId1\"\n}\n``` \n---\n",
        "operationId": "sendNotificationOne",
        "tags": [
          "notification"
        ],
        "parameters": [
          {
            "name": "encrypted",
            "in": "query",
            "description": "choose if the message is encrypted, by default it will be true",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "sendEventAck",
            "in": "query",
            "description": "choose if the received push event is registered, by default it will take the value from the application configuration",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSend"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ResponseDefault"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/NotificationSendResultV2"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error 5XX, 4XX",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ServerKey": {
        "type": "apiKey",
        "in": "header",
        "name": "authorization",
        "description": "Server Key for authorizing requests"
      }
    },
    "schemas": {
      "ResponseDefault": {
        "required": [
          "statusCode",
          "message"
        ],
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "Response code"
          },
          "message": {
            "type": "string",
            "description": "Response message, usually OK"
          }
        }
      },
      "NotificationSend": {
        "required": [
          "idType",
          "device"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Notification title"
          },
          "body": {
            "type": "string",
            "description": "Notificaion body"
          },
          "data": {
            "type": "string",
            "description": "Other data"
          },
          "securedData": {
            "type": "string",
            "description": "Other data to send encrypted to device"
          },
          "idType": {
            "type": "string",
            "enum": [
              "deviceId",
              "externalId"
            ],
            "default": "deviceId",
            "description": "Set de the id type for the device field. It can be deviceId or externalId"
          },
          "device": {
            "type": "string",
            "description": "device reference, can be deviceId or externalId, depending on the idType property value."
          },
          "action": {
            "$ref": "#/components/schemas/ActionObject"
          },
          "buttons": {
            "type": "array",
            "description": "Array of push buttons",
            "items": {
              "$ref": "#/components/schemas/PushButtonObject"
            }
          },
          "isDisposable": {
            "type": "boolean",
            "default": true,
            "description": "Indicates if the notification can be disponsabled by the user"
          },
          "timeToLive": {
            "type": "integer",
            "default": 86400,
            "description": "Notification’s time to live. This is the time during which the sending will be attempted.\n\nThe unit of measurement is seconds.\n"
          },
          "interruptionLevel": {
            "type": "string",
            "enum": [
              "active",
              "critical",
              "passive",
              "timeSensitive"
            ],
            "description": "Only for iOS devices. Indicate the importance and delivery timing of a notification. Default value is `active`.\n\n[Apple Developer Documentation](https://developer.apple.com/documentation/usernotifications/unnotificationinterruptionlevel)"
          },
          "silent": {
            "type": "boolean",
            "default": false,
            "description": "Indicate if it is a silent delivery. Only available for android, ios and harmony."
          }
        }
      },
      "ActionObject": {
        "type": "object",
        "description": "Device action",
        "required": [
          "type"
        ],
        "properties": {
          "topics": {
            "type": "array",
            "description": "If topics exist in action, suscribe to the specified",
            "items": {
              "type": "string",
              "description": "Topic code"
            }
          },
          "destroy": {
            "type": "boolean",
            "description": "If push is going to be deleted from the screen"
          },
          "type": {
            "type": "string",
            "enum": [
              "app",
              "url",
              "call",
              "market",
              "share",
              "no_action",
              "wallet",
              "webview"
            ],
            "description": "Action's type\n  \n  - app: Deeplinking\n  - url: Open url\n  - call: Call to phone number\n  - market: Open apps market\n  - share: Share content\n  - no_action: No action\n  - wallet: Download\n  - webview: Web view\n"
          },
          "app": {
            "type": "string",
            "description": "If action's type is app, indicates the deeplink"
          },
          "url": {
            "type": "string",
            "description": "If action's type is url, indicates the url to open"
          },
          "call": {
            "type": "string",
            "description": "If action's type is call, indicates the phone number to call"
          },
          "market": {
            "type": "string",
            "description": "If action's type is market, indicates the package to open in market"
          },
          "share": {
            "type": "string",
            "description": "If action's type is share, indicates the content to share"
          },
          "wallet": {
            "type": "string",
            "description": "If action's type is wallet, URL to download the wallet file (pkpass)"
          },
          "webview": {
            "type": "string",
            "description": "If action's type is webview, indicates the webview to open"
          }
        }
      },
      "NotificationSendResultV2": {
        "properties": {
          "sendResult": {
            "type": "array",
            "description": "List of send responses",
            "items": {
              "type": "object",
              "properties": {
                "notificationId": {
                  "type": "number",
                  "description": "Internal identification for notification sending\nCan be null if, for example, an error occurred during message generation / encryption\n"
                },
                "deviceId": {
                  "type": "string",
                  "description": "deviceId of the device for this response"
                },
                "externalId": {
                  "type": "string",
                  "description": "externalId of the device for this response",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "ok",
                    "error"
                  ],
                  "description": "Indicates the status of a send"
                },
                "error": {
                  "type": "string",
                  "description": "If an error has occurred during sending this field contains additional information about the error."
                }
              }
            }
          }
        }
      },
      "PushButtonObject": {
        "type": "object",
        "description": "Push button",
        "required": [
          "label",
          "action"
        ],
        "properties": {
          "label": {
            "type": "string",
            "description": "Button's label"
          },
          "action": {
            "$ref": "#/components/schemas/ActionObject"
          }
        }
      },
      "ErrorResponse": {
        "required": [
          "statusCode",
          "message"
        ],
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "Response code"
          },
          "message": {
            "type": "string",
            "description": "Error message"
          }
        }
      }
    }
  }
}
````