Bulk Request
The Bulk Request API allows multiple API requests to run on multiple kintone apps. The below API can be used with the Bulk Request API:
- Add Record
 - Add Records
 - Update Record
 - Update Records
 - Delete Records
 - Update Status
 - Update Statuses
 - Update Assignees
 
Constructor
Parameters
| Name | Type | Required | Description | 
|---|---|---|---|
| params | Object | (conditional) | Required for nodejsConstructor params.  | 
| params.connection | Connection | (conditional) | The connection module of this SDK. If initializing in browser environment on kintone, this parameter can be ommited to use session authentication. | 
Sample code
Init bulk request module
Javascript
  (function(kintoneJSSDK) {
    'use strict';
    // with connection
    // Define Authentication object
    var kintoneAuth = new kintoneJSSDK.Auth();
    var paramsAuth = {
        username: 'YOUR_USER_NAME',
        password: 'YOUR_PASSWORD'
    };
    kintoneAuth.setPasswordAuth(paramsAuth);
    var paramsConnection = {
        domain: 'YOUR_DOMAIN',
        auth: kintoneAuth
    };
    var connection = new kintoneJSSDK.Connection(paramsConnection);
    // with connection
    var kintoneBulkRequest = new kintoneJSSDK.BulkRequest({connection});
    // without connection, module will use session authentication of kintone
    var kintoneBulkRequest = new kintoneJSSDK.BulkRequest();
  }(window.kintoneJSSDK));
Nodejs
  const kintone = require('@kintone/kintone-js-sdk');
  const kintoneAuth = new kintone.Auth();
  const paramsAuth = {
      username: 'YOUR_USER_NAME',
      password: 'YOUR_PASSWORD'
  };
  kintoneAuth.setPasswordAuth(paramsAuth);
  const paramsConnection = {
      domain: 'YOUR_DOMAIN',
      auth: kintoneAuth
  };
  const connection = new kintone.Connection(paramsConnection);
  const kintoneBulkRequest = new kintone.BulkRequest({connection});
Methods
All below methods (excluded
execute()method) will add request to queue, you must execute theexecute()function to get result of BulkRequest.
addRecord({app, record})
Parameters
See at Record - addRecord
Return
addRecords({app, records})
Parameters
See at Record - addRecords
Return
updateRecordByID({app, id, record, revision})
Parameters
See at Record - updateRecordByID
Return
updateRecordByUpdateKey({app, updateKey, record, revision})
Parameters
See at Record - updateRecordByUpdateKey
Return
updateRecords({app, records})
Parameters
See at Record - updateRecords
Return
deleteRecords({app, ids})
Parameters
See at Record - deleteRecords
Return
deleteRecordsWithRevision({app, idsWithRevision})
Parameters
See at Record - deleteRecordsWithRevision
Return
updateRecordAssignees({app, record, assignees, revision})
Parameters
See at Record - updateRecordAssignees
Return
updateRecordStatus({app, id, action, assignee, revision})
Parameters
See at Record - updateRecordStatus
Return
updateRecordsStatus({app, records})
Parameters
See at Record - updateRecordsStatus
Return
execute()
Execute the bulk request and get data response
Parameters
(none)
Return
[Promise]
Sample code
Execute bulk request
Javascript
  var responseBulkRequest = kintoneBulkRequest
    .addRecord({/* [Args]*/})
    .addRecords({/* [Args]*/})
    .updateRecordByID({/* [Args]*/})
    .updateRecordByUpdateKey({/* [Args]*/})
    .updateRecords({/* [Args]*/})
    .deleteRecords({/*[Args]*/})
    .deleteRecordsWithRevision({/* [Args]*/})
    .updateRecordAssignees({/* [Args]*/})
    .updateRecordStatus({/* [Args]*/})
    .updateRecordsStatus({/* [Args]*/})
    .execute();
  responseBulkRequest.then((resp) => {
    console.log(resp);
  }).catch((err) => {
    // The error will be an array if there are errors occur in addRecord, addRecords, updateRecords, updateRecords,deleteRecords... function 
    if (Array.isArray(err)) {  
        for (let i = 0; i < err.length; i++) {
            // Need to check the type of error because err array can have some empty object like: 
            // [KintoneAPIException ,{},{},{},{}]
            if (err[i] instanceof kintoneJSSDK.KintoneAPIException) {
                console.log(err[i]);
            }   
        }
    } 
    // The error will be a KintoneAPIException if setting wrong Auth, Connection ... for BulkRequest
    else {  
        console.log(err);
    }
  });
Nodejs
  const responseBulkRequest = kintoneBulkRequest
    .addRecord({/* [Args]*/})
    .addRecords({/* [Args]*/})
    .updateRecordByID({/* [Args]*/})
    .updateRecordByUpdateKey({/* [Args]*/})
    .updateRecords({/* [Args]*/})
    .deleteRecords({/*[Args]*/})
    .deleteRecordsWithRevision({/* [Args]*/})
    .updateRecordAssignees({/* [Args]*/})
    .updateRecordStatus({/* [Args]*/})
    .updateRecordsStatus({/* [Args]*/})
    .execute();
  responseBulkRequest.then((resp) => {
    console.log(resp);
  }).catch((err) => {
    if (Array.isArray(err)) {  // The error will be an array if there are errors occur in addRecord, addRecords, updateRecords, updateRecords,deleteRecords... function 
        for (let i = 0; i < err.length; i++) {
            // Need to check the type of error because err array can have some empty object like: 
            // [KintoneAPIException ,{},{},{},{}]
            if (err[i] instanceof kintone.KintoneAPIException) {
                console.log(err[i]);
            }
        }
    } else {  // the error will be an element if setting wrong Auth, Connection ... for BulkRequest
        console.log(err);
    }
  });
Reference
- Bulk Request 
on developer network