Update Per Record Notification Settings

Updates the Per Record Notification settings of the App. For more information, refer to the following document:
Per Record Notifications (External link)

This API updates the pre-live settings.
After using this API, use the following API to deploy the settings to the live App:
Deploy App Settings

MethodPUT
URLhttps://{subdomain}.kintone.com/k/v1/preview/app/notifications/perRecord.json
URL(guest space)https://{subdomain}.kintone.com/k/guest/{SpaceID}/v1/preview/app/notifications/perRecord.json
Authentication Password Authentication , API Token Authentication , Session Authentication
Content-Typeapplication/json

Contents

Permissions

  • App Management Permissions are needed.
  • The entity must be granted the view records permission in order for the entity to receive the notification.

Request Parameters

Parameter Value Required Description
app Integer or String Yes The App ID.
notifications Array An array of objects containing data of the Per Record Notification settings.
If the array is empty, all of the Per Record Notification settings will be deleted.
If ignored, this setting will not be changed.
notifications[].filterCond String Conditional The record's filter condition in query string format.
For more information on query formats refer to the following document:
Query String
Required when specifying the notifications parameter.
notifications[].title String The notification subject saved under "Summary".
If ignored, the notification subject will be an empty string.
notifications[].targets Array Conditional An array of objects containing the recipients of the Per Record Notification.
If the array is empty, the Per Record Notification will not have a recipient.
Required when specifying the notifications parameter.
notifications[].targets[].entity Object Conditional An object containing entity details per recipient of the Per Record Notification.
Required when specifying the notifications parameter.
notifications[].targets[].entity.type String Conditional The type of the entity the Per Record Notification settings are configured to.
  • USER: User
  • GROUP: Group
  • ORGANIZATION: Department
  • FIELD_ENTITY: Created By, Updated By, User Selection, Group Selection, and Department Selection Fields
Required when specifying the entity parameter.
notifications[].targets[].entity.code String Conditional The code of the entity the Per Record Notification settings are configured to.
Specify the field code if the notifications[].targets[].entity.type parameter is specified as FIELD_ENTITY.
For guest users, add guest/ before the login name.
Required when specifying the entity parameter.
notifications[].targets[].includeSubs Boolean The "Include affiliated departments" setting of the Department. This parameter is available if notifications[].targets[].entity.type parameter is specified to ORGANIZATION or FIELD_ENTITY.
  • true: Affiliated departments do inherit the Per Record Notification settings
  • false: Affiliated departments do not inherit the Per Record Notification settings
If ignored, this value is false.
revision Integer or String Specify the revision number of the settings that will be deployed.
The request will fail if the revision number is not the latest revision.
The revision will not be checked if this parameter is ignored or -1 is specified.

Sample Request

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var body = {
  'app': kintone.app.getId(),
  'notifications': [{
    'filterCond': 'User_selection in ("USER", "user1")',
    'title': 'user1 was selected',
    'targets': [{
      'entity': {
        'type': 'USER',
        'code': 'user1'
      },
      'includeSubs': false
    }]
  }],
  'revision': '2'
};

kintone.api(kintone.api.url('/k/v1/preview/app/notifications/perRecord.json', true), 'PUT', body, function(resp) {
  // success
  console.log(resp);
}, function(error) {
  // error
  console.log(error);
});

XMLHttpRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var body = {
  'app': kintone.app.getId(),
  'notifications': [{
    'filterCond': 'User_selection in ("USER", "user1")',
    'title': 'user1 was selected',
    'targets': [{
      'entity': {
        'type': 'USER',
        'code': 'user1'
      },
      'includeSubs': false
    }]
  }],
  'revision': '2',
  // CSRF TOKEN: used for all APIs that have an HTTP method of POST, PUT, and DELETE on Kintone.
  '__REQUEST_TOKEN__': kintone.getRequestToken()
};

var url = 'https://{subdomain}.kintone.com/k/v1/preview/app/notifications/perRecord.json';
var xhr = new XMLHttpRequest();
xhr.open('PUT', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
  if (xhr.status === 200) {
    // success
    console.log(JSON.parse(xhr.responseText));
  } else {
    // error
    console.log(JSON.parse(xhr.responseText));
  }
};
xhr.send(JSON.stringify(body));

Response Parameters

Parameter Type Description
revision String The revision number of the App settings.

Sample Response

1
2
3
{
  "revision": "2"
}