openapi: 3.0.0 info: description: >- This is an official Notificare API that enables access to certain features of our platform specially designed for your mobile and web front-end apps. Its sole purpose is to provide access to strategic endpoints via a front-end application. The API endpoints below are all authenticated with `applicationKey` and `applicationSecret`, if you do not have these yet, you should grab them from your app in Notificare Dashboard under the section Settings > App Keys. Use Basic HTTP Authentication where `applicationKey` should be your username and `applicationSecret` your password. If you intend to use this API from your mobile application, you can access all the endpoints provided here through the Cloud API method available in our SDKs. API calls need to be made with TLSv1.2 This API requires activations before you can use it. To activate or get more information about this API, please [contact us](http://notifica.re/contact). title: Notificare CLOUD API version: '1.132.0' servers: - url: 'https://cloud.notifica.re/api' description: The Notificare Cloud API - securely connect with TLSv1.2 paths: /application/info: get: security: - ApplicationSecret: [] responses: '200': content: application/json: schema: properties: application: $ref: '#/components/schemas/ApplicationInfoModel' description: OK tags: - Application operationId: getApplicationInfo summary: Retrieve information about the application '/asset/forgroup/{name}': get: security: - ApplicationSecret: [] parameters: - description: The name of the asset group. example: MY_GROUP_NAME in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/AssetGroupAssetList' description: OK tags: - Asset description: Get all the assets in a group . operationId: getAssetForGroup summary: Retrieve a group of assets by name '/beacon/forregion/{region}': get: security: - ApplicationSecret: [] parameters: - description: The id of an active region. in: path name: region required: true schema: $ref: '#/components/schemas/ObjectId' responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/BeaconList' description: OK tags: - Beacon description: Get all the beacons for a certain region operationId: getBeaconForRegion summary: List beacons for region '/beacon/forregion/{region}/{minor}': get: security: - ApplicationSecret: [] parameters: - description: The id of an active region. in: path name: region required: true schema: $ref: '#/components/schemas/ObjectId' - description: The minor of a beacon. example: '12345' in: path name: minor required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: properties: beacon: $ref: '#/components/schemas/BeaconModel' description: OK tags: - Beacon description: Get a beacon by its region and minor operationId: getBeaconRegionMinor summary: Get a beacon by its region and minor /device: post: security: - ApplicationSecret: [] responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK '201': content: application/json; charset=utf-8: schema: properties: device: $ref: '#/components/schemas/ResponseCreated' examples: response: value: device: message: device updated description: Created tags: - Device description: >- Register a device, either new or an existing one. If a deviceID changes, send along the old deviceID in oldDeviceID property operationId: postDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceCreate' summary: Register a device '/device/{deviceID}': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK '404': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device not found description: Not Found tags: - Device description: Update an existing device language, location, timeZoneOffset, country or capabilities operationId: putDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceUpdate' summary: Update an existing device delete: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device deactivated description: OK '404': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device not found description: Not Found tags: - Device description: >- Deactivate an existing device. After this call, the device will not appear anymore in lists and will not receive any messages In SDK 2.3 and higher, it will remove any data related to the device as well as the device itself. operationId: deleteDevice summary: Delete an existing device '/device/{deviceID}/tags': get: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: examples: response: value: tags: - one_tag - two_tags description: OK tags: - Device description: Get all the tags for a device operationId: getDeviceTags summary: Get all the tags for a device '/device/{deviceID}/addtag': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: >- Add a tag to a device and update the tag count operationId: putDeviceAddTag requestBody: content: application/json: schema: example: tag: one_tag properties: tag: type: string type: object summary: Add a tag to a device '/device/{deviceID}/removetag': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Remove a tag from a device operationId: putDeviceRemoveTag requestBody: content: application/json: schema: example: tag: one_tag properties: tag: type: string type: object summary: Remove a tag from a device '/device/{deviceID}/addtags': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: >- Add one or more tags to a device and update the tag count operationId: putDeviceAddTags requestBody: content: application/json: schema: example: tags: - one_tag - two_tags properties: tags: items: type: string type: array summary: Add one or more tags to a device '/device/{deviceID}/removetags': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Remove one or more tags from a device operationId: putDeviceRemoveTags requestBody: content: application/json: schema: example: tags: - one_tag - two_tags properties: tags: items: type: string type: array type: object summary: Remove one or more tags from a device '/device/{deviceID}/cleartags': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Clear all tags from a device operationId: putDeviceClearTags summary: Clear all tags from a device '/device/{deviceID}/dnd': get: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: properties: dnd: properties: start: type: string example: '01:00' end: type: string example: '07:00' description: OK tags: - Device description: Get the device's Do Not Disturb period operationId: getDeviceDnd summary: Get the device's Do Not Disturb period put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Update the device's Do Not Disturb period operationId: putDeviceDnd requestBody: content: application/json: schema: properties: start: type: string example: '01:00' end: type: string example: '07:00' summary: Update the device's Do Not Disturb period '/device/{deviceID}/cleardnd': put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Clear the device's Do Not Disturb period operationId: putDeviceClearDnd summary: Clear the device's Do Not Disturb period '/device/{deviceID}/userdata': get: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: properties: userData: additionalProperties: type: string example: firstName: John lastName: Doe description: OK tags: - Device description: Get the device's User Data operationId: getDeviceUserData summary: Get the device's User Data put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: device updated description: OK tags: - Device description: Update the device's User Data operationId: putDeviceUserData requestBody: content: application/json: schema: additionalProperties: type: string example: firstName: John lastName: Doe summary: Update the device's User Data /event: post: security: - ApplicationSecret: [] responses: '202': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: 'event is being processed' description: Accepted tags: - Event description: >- ## Event Types: | type | description | |:---------:|----------------------------------| | re.notifica.event.application.Install | Stored whenever a new device installs the app. | | re.notifica.event.application.Registration | Stored whenever a new device is registered. | | re.notifica.event.application.Uninstall | Stored whenever an app was removed from the device, as reported by APNS, GCM or HMS feedback. | | re.notifica.event.application.Upgrade | Stored whenever we detect a new app version. | | re.notifica.event.application.Open | Stored whenever the application becomes active. | | re.notifica.event.application.Close | Stored whenever the application goes to background. | | re.notifica.event.application.Exception | Stored whenever the application encounters an exception. | | re.notifica.event.notification.Sent | Stored whenever a notification is sent. | | re.notifica.event.notification.Receive | Stored whenever a notification arrives. | | re.notifica.event.notification.Open | Stored whenever a notification is open. | | re.notifica.event.notification.Influenced | Stored whenever a notification is open when app is not active. | | re.notifica.event.push.Registration | Stored whenever a device is registered with an APNS/FCM token (SDK v3 and up). | | re.notifica.event.inappmessage.View | Stored whenever an in-app message is viewed. | | re.notifica.event.inappmessage.Action | Stored whenever an in-app message action is executed. | | re.notifica.event.region.Session | Stored whenever a user enters and leaves a region. | | re.notifica.event.beacon.Session | Stored whenever a user is on the proximity of a beacon. | | re.notifica.event.scannable.Scan | Stored whenever a Scannable tag is scanned. | | re.notifica.event.link.Click | Stored whenever a Link is clicked. | | re.notifica.event.pass.Add | Stored whenever a pass is added to a device's wallet. | | re.notifica.event.pass.Remove | Stored whenever a pass is removed from a device's wallet. | | re.notifica.event.pass.Redeem | Stored whenever a pass is redeemed. | | re.notifica.event.product.Buy | Stored whenever a purchase is done. | | re.notifica.event.product.Buy.{store} | Stored whenever a purchase is done, where store is AppStore or GooglePlay. | | re.notifica.event.product.Buy.{store}.{identifier} | Stored whenever a purchase is done, where store is AppStore or GooglePlay. | | re.notifica.event.asset.Load | Stored whenever an Asset Group is loaded. | | re.notifica.event.custom.{name} | Any other event stored by your application. | operationId: postEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/EventCreate' summary: Register an event '/inappmessage/forcontext/{context}': get: security: - ApplicationSecret: [] parameters: - description: The context (launch or foreground) in: path name: context required: true schema: type: string example: foreground - description: The device ID in: query name: deviceID required: true schema: type: string example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf responses: '200': content: application/json; charset=utf-8: schema: properties: message: $ref: '#/components/schemas/InAppMessageModel' type: object description: OK tags: - In-App Messaging description: >- Get an in-app message for a context operationId: getInAppMessageForContext summary: Get In-App Message For Context '/notification/inbox/fordevice/{deviceID}': get: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string - description: >- A date that we will use to retrieve items. When provided we will only retrieve items since that date. in: query name: since required: false schema: $ref: '#/components/schemas/Date' - description: The maximum number of results to retrieve. example: 10 in: query name: limit required: false schema: default: 100 type: number - description: The number of results to skip. example: 0 in: query name: skip required: false schema: type: number responses: '200': content: application/json: schema: $ref: '#/components/schemas/InboxItemList' description: OK tags: - Notification description: Get a specific device's inbox operationId: getInboxForDevice summary: Get a specific device's inbox put: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '202': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: inbox items are being processed description: Accepted tags: - Notification description: Mark all items in a specific device's inbox as read operationId: putInboxForDevice summary: Mark all items in a specific device's inbox as read delete: security: - ApplicationSecret: [] parameters: - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessageCount' example: count: 0 message: cleared inbox description: OK tags: - Notification description: Clear all items in a specific device's inbox operationId: deleteInboxForDevice summary: Clear all items in a specific device's inbox '/notification/inbox/{id}': delete: security: - ApplicationSecret: [] parameters: - description: The unique identifier for the inbox item. in: path name: id required: true schema: $ref: '#/components/schemas/ObjectId' responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: inbox item removed description: OK tags: - Notification description: Delete inbox item in a specific device's inbox operationId: deleteNotificationInbox summary: Delete inbox item in a specific device's inbox '/notification/userinbox/{id}/fordevice/{deviceID}': get: security: - ApplicationSecret: [] parameters: - description: The inbox item's unique identifier. in: path name: id required: true schema: $ref: '#/components/schemas/ObjectId' - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json: schema: properties: notification: $ref: '#/components/schemas/NotificationModel' description: OK tags: - Notification description: Get a specific notification operationId: getUserInboxByIdForDevice summary: Get a specific user inbox notification delete: security: - ApplicationSecret: [] parameters: - description: The inbox item's unique identifier. in: path name: id required: true schema: $ref: '#/components/schemas/ObjectId' - description: The unique identifier for your device. example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf in: path name: deviceID required: true schema: type: string responses: '200': content: application/json: schema: properties: notification: $ref: '#/components/schemas/ResponseMessage' example: message: inbox item removed description: OK tags: - Notification description: Delete a specific user inbox item operationId: deleteUserInboxByIdForDevice summary: Delete a specific user inbox notification '/notification/{id}': get: security: - ApplicationSecret: [] parameters: - description: The notification's unique identifier. in: path name: id required: true schema: $ref: '#/components/schemas/ObjectId' responses: '200': content: application/json: schema: properties: notification: $ref: '#/components/schemas/NotificationModel' description: OK tags: - Notification description: Get a specific notification operationId: getNotificationById summary: Get a specific notification /pass: post: security: - ApplicationSecret: [] responses: '201': content: application/json; charset=utf-8: schema: properties: pass: $ref: '#/components/schemas/ResponseCreated' description: Created tags: - Pass description: Create a new pass operationId: postPass requestBody: content: application/json: schema: $ref: '#/components/schemas/PassCreate' summary: Create a new pass '/pass/forserial/{serial}': get: security: - ApplicationSecret: [] parameters: - description: The pass serial number. example: 402ab90b-65b5-4b4f-91fa-9823b2972f85 in: path name: serial required: true schema: type: string format: uuid responses: '200': content: application/json; charset=utf-8: schema: properties: pass: $ref: '#/components/schemas/PassModel' description: OK tags: - Pass description: Get a pass with a specific serial operationId: getPassForSerial summary: Get a pass with a specific serial /passbook: get: security: - ApplicationSecret: [] parameters: - description: The maximum number of results to retrieve. example: '10' in: query name: limit required: false schema: default: 100 type: number - description: The number of results to skip. example: '0' in: query name: skip required: false schema: type: number responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/PassbookList' description: OK tags: - Passbook description: Get all pass templates for an application operationId: getPassbook summary: List all pass templates for an application /region: get: security: - ApplicationSecret: [] parameters: - description: The maximum number of results to retrieve. example: '10' in: query name: limit required: false schema: default: 100 type: number - description: The number of results to skip example: '0' in: query name: skip required: false schema: type: number responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/RegionList' description: OK tags: - Region description: Get all regions for this application operationId: getRegion summary: List all regions for this application /region/bylocation/{latitude}/{longitude}: get: security: - ApplicationSecret: [] parameters: - description: The latitude example: 52.18858 in: path name: latitude required: true schema: type: number - description: The longitude example: 4.16646 in: path name: longitude required: true schema: type: number - description: The maximum number of results to retrieve. example: '10' in: query name: limit required: false schema: default: 100 type: number - description: The number of results to skip example: '0' in: query name: skip required: false schema: type: number responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/RegionList' description: OK tags: - Region description: >- Get nearest regions for this device, sorted by distance. Only regions of category `fence` will be listed. operationId: getRegionByLocation summary: List nearest regions for this device /reply: post: security: - ApplicationSecret: [] responses: '202': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: 'reply is being processed' description: Accepted headers: {} tags: - Reply description: Register a reply operationId: postReply requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplyCreate' summary: Register a reply '/scannable/tag/{tag}': get: security: - ApplicationSecret: [] parameters: - description: The scannable tag. in: path name: tag required: true type: string responses: '200': content: application/json: schema: properties: scannable: $ref: '#/components/schemas/ScannableModel' description: OK tags: - Scannable description: Get a specific scannable operationId: getScannableForTag summary: Get a specific scannable /status: get: security: - ApplicationSecret: [] responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseStatus' example: status: ok description: OK tags: - Status description: Get the status of this API operationId: getStatus summary: Get the status of this API '/trigger/{type}': post: security: - ApplicationSecret: [] parameters: - description: The type of trigger being executed. example: re.notifica.trigger.region.Enter in: path name: type required: true schema: type: string responses: '200': content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseMessage' example: message: trigger action completed description: OK tags: - Trigger description: Register a trigger action operationId: postTriggerForType requestBody: content: application/json: schema: properties: deviceID: type: string example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf region: $ref: '#/components/schemas/ObjectId' type: object summary: Register a trigger action '/upload/{type}': post: security: - ApplicationSecret: [] parameters: - description: The type of the file to upload in: path name: type required: true schema: type: string enum: [notification, reply] responses: '201': content: application/json; charset=utf-8: schema: properties: filename: type: string example: /replies/9f.. description: Created headers: {} tags: - Upload description: >- Upload a file to Notificare. The resulting filename is a path inside the notificare storage. This can be used as a reference to the file in further processing or deleting. The contents of the file should be in the body of the request and with the correct MIME type. So, e.g. an image should go with a content-type `image/png`, etc. ### Upload Types *** notification *** reply *** operationId: postUpload requestBody: content: image/png: schema: type: string format: binary image/jpeg: schema: type: string format: binary image/gif: schema: type: string format: binary summary: Upload a file components: securitySchemes: ApplicationSecret: description: >- Only used for calls that originate from the device, e.g., registration, tags. Username is applicationKey, password is applicationSecret. If you do not have these yet, you should grab them from your app in Notificare Dashboard under the section Settings > App Keys. type: http scheme: basic schemas: ApplicationInfoModel: properties: _id: $ref: '#/components/schemas/ObjectId' name: description: Your application's name. type: string example: Your App category: description: Your application's category. type: string example: Other appStoreId: description: Your application's category. type: string example: Other androidPackageName: description: Your application's category. type: string example: Other services: properties: richPush: type: boolean default: true locationServices: type: boolean default: false apns: type: boolean default: true gcm: type: boolean default: true hms: type: boolean default: true websockets: type: boolean default: true triggers: type: boolean default: false passbook: type: boolean default: false inAppPurchase: type: boolean default: false oauth2: type: boolean default: false screens: type: boolean default: false reports: type: boolean default: false appsOnDemand: type: boolean default: false liveApi: type: boolean default: false automation: type: boolean default: false websitePush: type: boolean default: true inbox: type: boolean default: true storage: type: boolean default: true email: type: boolean default: false sms: type: boolean default: false branding: type: boolean default: true userDataFields: type: array items: properties: type: type: string key: type: string label: type: string defaultValue: type: string example: - key: firstName label: First Name type: 'string' - key: lastName label: last Name type: 'string' actionCategories: type: array items: properties: type: type: string example: re.notifica.notification.Alert name: type: string actions: type: array items: properties: type: type: string example: re.notifica.action.Callback label: type: string example: test1 target: type: string camera: type: boolean default: false keyboard: type: boolean default: false destructive: type: boolean default: false inboxConfig: properties: useInbox: type: boolean default: false autoBadge: type: boolean default: false emailConfig: properties: defaultSender: $ref: '#/components/schemas/MessageSender' passbookConfig: properties: info: properties: subject: properties: C: type: string example: NL CN: type: string example: 'Pass Type ID: pass.re.notifica.passbook' OU: type: string example: Y47BY73NFN O: type: string example: Notificare B.V. UID: type: string example: pass.re.notifica.passbook websitePushConfig: properties: info: properties: subject: properties: C: type: string example: NL CN: type: string example: 'Apple Development IOS Push Services: web.re.notifica.webpushtest' OU: type: string example: Y47BY73NFN O: type: string example: Notificare B.V. UID: type: string example: web.re.notifica.webpushtest vapid: properties: publicKey: type: string regionConfig: properties: proximityUUID: type: string format: uuid example: f7826da6-4fa2-4e98-8024-bc5b71e0893e AssetGroupAssetList: properties: assets: type: array items: $ref: '#/components/schemas/AssetGroupAssetModel' AssetGroupAssetModel: allOf: - properties: _id: $ref: '#/components/schemas/ObjectId' application: $ref: '#/components/schemas/ObjectId' metaData: properties: contentLength: type: number example: 59609 contentType: type: string example: image/png originalFileName: type: string example: Screenshot_2016-04-07-13-17-31.png - $ref: '#/components/schemas/AssetGroupAsset' AssetGroupAsset: properties: title: type: string example: "Screen Shot 2016-03-24 at 00.04.49.png" key: type: string example: "3d99d18148e6f3dbcf4ff891c9a026463b0311feccc7b9d0c8c79fee9b4dde19/c76c6363a7e014fae1586fa9b83b1c61faa7b79036fd2670db2840de979cab03" description: type: string example: A screen shot button: properties: label: type: string example: Test button action: type: string example: testAction extra: additionalProperties: type: string example: key1: value1 key2: value2 BeaconList: properties: beacons: description: The list of beacons, paginated type: array items: $ref: '#/components/schemas/BeaconModel' count: description: Total number of beacons in the list type: number example: 1 type: object BeaconModel: allOf: - properties: _id: description: Notificare ID of the beacon type: string example: 1d9e80ef851d212aca82cf23 - $ref: '#/components/schemas/BeaconBase' BeaconBase: properties: batteryLevel: description: An object representing the battery level of this beacon. type: number example: 99 data: description: A free form object that can be assigned to a beacon. additionalProperties: type: string example: key1: value1 key2: value2 type: object latitude: description: An integer representing the beacon's latitude. type: number example: 52.12772 longitude: description: An integer representing the beacon's longitude. type: number example: 4.1662 minor: description: Your beacon's minor identifier (must be unique per major) type: number example: 100 name: description: Your beacon's name type: string example: Test beacon notification: type: string example: 1d9e80ef851d212aca82cf23 description: An Id of a previously created notification. proximity: description: >- Your notification proximity. Accepts one of these: 'immediate', 'near' and 'far'. (deprecated) type: string enum: - immediate - near - far proximityNotifications: description: >- An object containing three previously created message Ids for each proximity level. properties: far: $ref: '#/components/schemas/ObjectId' immediate: $ref: '#/components/schemas/ObjectId' near: $ref: '#/components/schemas/ObjectId' type: object purpose: description: >- An object representing the purpose of the beacon. Accepts one of these: 'general', 'pay', 'info', 'staff', 'admin'. type: string example: Testing purposes triggers: description: >- Set to true if this beacon can be used in triggers. Max. number of beacons that can use triggers is limited to 10. type: boolean default: false type: object Circle: allOf: - $ref: '#/components/schemas/Point' - properties: distance: type: number example: 100 required: - distance type: object Coordinates: items: type: number type: array minItems: 2 maxItems: 2 example: [4.23456, 52.184884] CoordinatesRing: items: $ref: '#/components/schemas/Coordinates' minItems: 3 example: [[4.23456, 52.184884], [5.23456, 50.184884],[4.23456, 52.184884]] type: array Criteria: description: >- Criteria to select an audience properties: locationsCriteria: description: >- Device locations criteria items: $ref: '#/components/schemas/LocationsCriteria' type: array propertiesCriteria: description: >- Device properties criteria items: $ref: '#/components/schemas/PropertiesCriteria' type: array segmentsCriteria: description: >- User segments criteria items: $ref: '#/components/schemas/SegmentsCriteria' type: array tagsCriteria: description: >- Device tags criteria items: $ref: '#/components/schemas/TagsCriteria' type: array type: object Date: type: string format: date-time DeviceCreate: allOf: - properties: oldDeviceID: description: >- The old deviceID, whenever deviceID changes. Inbox will move to the new deviceID. type: string example: 00a9b9bf-c099-45aa-9278-64d6a3f22476 - $ref: '#/components/schemas/DeviceBase' DeviceUpdate: properties: allowedUI: description: Device has visible notifications enabled type: boolean default: false backgroundAppRefresh: description: Device has background refresh enabled (iOS only) type: boolean default: false bluetoothEnabled: description: Device has bluetooth enabled type: boolean default: false locationServicesAuthStatus: description: Device has location permissions granted type: string enum: [none, use, always] locationServicesAccuracyAuth: description: Device has location accuracy granted type: string enum: [full, reduced] language: type: string default: en example: nl location: $ref: '#/components/schemas/Point' locationAccuracy: type: number example: 15.731 altitude: type: number example: 100 course: type: number example: 90 speed: type: number example: 10 timeZoneOffset: type: number default: '0' example: -5 DeviceBase: properties: appVersion: type: string example: '1.0' deviceID: type: string example: 00a9b9bf-c099-45aa-9278-64d6a3f22476 deviceString: type: string example: Chrome 80 | Mac OS X 10.14.6 browserName: type: string example: Chrome browserVersion: type: string example: '80' allowedUI: description: Device has visible notifications enabled type: boolean default: false backgroundAppRefresh: description: Device has background refresh enabled (iOS only) type: boolean default: false bluetoothEnabled: description: Device has bluetooth enabled type: boolean default: false locationServicesAuthStatus: description: Device has location permissions granted type: string enum: [none, use, always] locationServicesAccuracyAuth: description: Device has location accuracy granted type: string enum: [full, reduced] language: type: string default: en example: nl location: $ref: '#/components/schemas/Point' locationAccuracy: type: number example: 15.731 altitude: type: number example: 100 course: type: number example: 90 speed: type: number example: 10 osString: type: string example: Mac OS X 10.9.2 osVersion: type: string example: 10.9.2 platform: type: string example: Web enum: [iOS, tvOS, Android, Web, Email, SMS] sdkVersion: type: string example: 2.1.1 timeZoneOffset: type: number default: '0' example: -5 transport: type: string default: Notificare enum: [APNS, GCM, HMS, WebPush, WebsitePush, Email, SMS, Notificare] userID: description: The app-defined user identifier type: string example: 188720716616 type: object EventCreate: properties: type: description: A reverse domain style namespace that identifies the type of event. type: string example: re.notifica.event.application.Open deviceID: description: The unique identifier for your device corresponding to the APNS, FCM or Webpush token. type: string example: APA91bEpai_9PbfvVie3xvVnM2VXZEjQ1ZZIFiRzXf sessionID: description: The session identifier that allows to cross reference events. type: string example: 1627576d6d6d66d676627 userID: description: The app-defined user identifier that you can use to send messages to this user. type: string example: '1234567890' notification: $ref: '#/components/schemas/ObjectId' data: description: A free form object that allows you to store any type of data for an event. additionalProperties: true example: campaignID: '12526dd66d666d66772d' EventCriteria: properties: data: properties: region: description: >- The region's id of an event of type re.notifica.event.region.Session or re.notifica.event.beacon.Session type: string example: 1d9e80ef851d212aca82cf23 fence: description: >- The beacon's fence region id of an event of type re.notifica.event.beacon.Session type: string example: 1d9e80ef851d212aca82cf23 pass: description: >- The pass id of an event of type re.notifica.event.pass.Add, re.notifica.event.pass.Remove or re.notifica.event.pass.Redeem type: string example: 1d9e80ef851d212aca82cf23 serial: description: >- The pass serial of an event of type re.notifica.event.pass.Add, re.notifica.event.pass.Remove or re.notifica.event.pass.Redeem type: string format: uuid group: description: >- The asset group's id of an event of type re.notifica.event.asset.Load type: string example: 1d9e80ef851d212aca82cf23 scannable: description: >- The scannable's id of an event of type re.notifica.event.scannable.Scan type: string example: 1d9e80ef851d212aca82cf23 notification: description: >- The notification's id of an event of type re.notifica.event.notification.Sent, re.notifica.event.notification.Receive, re.notifica.event.notification.Open or re.notifica.event.notification.Influenced type: string example: 1d9e80ef851d212aca82cf23 type: object endDate: type: string format: 'date-time' description: defaults to now startDate: type: string format: 'date-time' description: defaults to now type: type: string required: - type - startDate - endDate type: object InAppMessageModel: properties: type: description: >- Defines the type of in-app message to show. Please refer to Message Types for all available types. type: string example: re.notifica.inappmessage.Card context: description: >- Defines the context(s) in which the message should be displayed, either `launch` (only during app launch from an initial state), `foreground` (whenever an app comes to foreground), or both (the default) type: array items: string example: [ 'launch', 'foreground' ] name: description: >- Name of the in-app message, for purposes of listing in the Dashboard type: string title: description: >- A title to be shown on top of the in-app message type: string example: Hello world message: description: >- Text to be shown on the in-app message type: string example: Hello world image: type: string format: 'uri' landscapeImage: type: string format: 'uri' delaySeconds: description: >- Number of seconds the display of the message will be delayed type: number example: 10 primaryAction: $ref: '#/components/schemas/InAppMessageAction' secondaryAction: $ref: '#/components/schemas/InAppMessageAction' InAppMessageAction: properties: label: type: string example: Yes url: type: string format: 'uri' destructive: default: false type: boolean type: object InboxItemList: properties: inboxItems: type: array items: $ref: '#/components/schemas/InboxItemModel' count: type: number example: 10 unread: type: number example: 1 InboxItemModel: description: Item in a device inbox properties: _id: $ref: '#/components/schemas/ObjectId' notification: $ref: '#/components/schemas/ObjectId' message: type: string example: Ready for beers? title: type: string example: message subtitle: type: string example: message subject: type: string example: message attachment: $ref: '#/components/schemas/MessageAttachment' extra: $ref: '#/components/schemas/MessageExtra' opened: type: boolean default: false time: $ref: '#/components/schemas/Date' visible: type: boolean default: true expires: $ref: '#/components/schemas/Date' limited: type: boolean default: false LocationsCriteria: properties: locations: description: >- Filter or select devices based on their location. Locations can be circular or polygon-shaped. items: oneOf: - $ref: '#/components/schemas/Polygon' - $ref: '#/components/schemas/Circle' type: array quantifier: description: >- `all` means devices that are in all of these locations, `any` means devices that are in one or more of these locations, `none` means devices that are in none of these locations enum: - all - any - none type: string type: object MessageAction: properties: type: type: string example: 're.notifica.action.Callback' label: type: string example: Yes target: type: string keyboard: default: false type: boolean camera: default: false type: boolean rules: items: $ref: '#/components/schemas/MessageRule' type: array type: object MessageAttachment: properties: mimeType: description: the image mime type type: string example: 'image/jpeg' name: type: string example: Test Attachment uri: description: >- the URL to an image either uploaded into our platform or hosted in any public web server type: string format: uri example: 'https://domain.com/image' required: - uri - mimeType type: object MessageContent: properties: type: description: type according to the type of push message. Please refer to Content types for all available types type: string example: 're.notifica.content.HTML' data: description: data according to the type of push message. Please refer to Content types for all available types type: string example: '