Bulk Update
-----------




.. tabularcolumns:: |p{4cm}|p{10.5cm}|

+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Action        | bulk_update (1)                                                                                                                                              |
+===============+==============================================================================================================================================================+
| title         | First task: Obtain the URL and schema needed to construct the payload to modify the resource.                                                                |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| method        | GET                                                                                                                                                          |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| URL           | /api/<resource_type>/<resource_name>/bulk_update/                                                                                                            |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameters    | hierarchy=[hierarchy], format=json                                                                                                                           |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Response      | Returns: POST call that is used to update the instances of resource schema that is used to create POST payload.                                              |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| support_async | false                                                                                                                                                        |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| class         | update                                                                                                                                                       |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
   


.. tabularcolumns:: |p{4cm}|p{10.5cm}|

+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Action        | bulk_update (2)                                                                                                                                              |
+===============+==============================================================================================================================================================+
| title         | Second task: Perform the bulk modify on the required list of instances each with [pkid] with the payload constructed from the schema in the first task.      |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| method        | POST                                                                                                                                                         |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| URL           | /api/<resource_type>/<resource_name>/bulk_update/                                                                                                            |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Parameters    | hierarchy=[hierarchy], format=json                                                                                                                           |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Payload       | Contains update data and instance pkids to update.                                                                                                           |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+



Use the GET request to obtain a list of instance pkids to select for the bulk update:

::

   GET /api/<resource_type>/<resource_name>/?hierarchy=[hierarchy]&format=json


As an example, the request below shows the required details for a particular model.
(Using variables [hierarchy], [pkid1], [pkid2])

Request for POST call and schema:

::

   GET /api/data/AccessProfile/bulk_update/
     ?hierarchy=[hierarchy]
     &schema_rules=true
     &format=json
     &schema=1


Response snippet - POST call:

::

   "bulk_update": {
        "class": "update", 
        "href": "/api/data/AccessProfile/bulk_update/?hierarchy=[hierarchy]", 
        "method": "POST", 
        "support_async": true, 
        "title": "Bulk Modify"
   }



Response snippet - schema:

::

    "schema": {
       "$schema": "http://json-schema.org/draft-03/schema", 
       "properties": {
         "description": {
           "description": "A description for the Access Profile.", 
           "required": false, 
           "title": "Description", 
           "type": "string"
         }, 
         "full_access": {
           "description": "Enabling this flag, grants the user full 
             system access.", 
           "required": false, 
           "title": "Full Access", 
           "type": "boolean"
         }, 
         "miscellaneous_permissions": {
           "description": "The list of miscellaneous operations permitted by 
             this Access Profile.", 
           "items": {
             "choices": [
               {
                 "title": "", 
                 "value": ""
               }
             ], 
             "type": "string"
           }, 
           "required": false, 
           "title": "Miscellaneous Permissions", 
           "type": "array"
         }, 
         "name": {
           "description": "The name that is given to the Access Profile.", 
           "required": false, 
           "title": "Name \*", 
           "type": "string"
        }, 
        "type_specific_permissions": {
          "description": "The list of types that are permitted by 
            this Access Profile.", 
          "items": {
            "properties": {
              "operations": {
                "description": "The operations that are permitted by this Access 
                  Profile for the given type.", 
                "items": {
                  "choices": [
                    {
                      "title": "", 
                      "value": ""
                    }
                  ], 
                  "type": "string"
                }, 
                "required": false, 
                "title": "Permitted Operations \*", 
                "type": "array"
              }, 
              "type": {
                "choices": [], 
                "description": "The type that is permitted by this Access Profile. 
                  This field supports the use of the * wildcard.", 
                "format": "uri", 
                "required": false, 
                "target": "/api/choices/?hierarchy=[hierarchy]&format=json", 
                "target_model_type": "", 
                "title": "Permitted Type \*", 
                "type": "string"
              }
            }, 
              "type": "object"
          }, 
          "required": false, 
          "title": "Type Specific Permissions", 
          "type": "array"
        }
    }, 
    "schema_version": "0.1.8", 
    "type": "object"
    }, 
  

Example POST request to carry out the update:

::

   POST /api/data/AccessProfile/bulk_update/
     ?hierarchy=[hierarchy]
     &nowait=true
     &format=json


Payload example - bulk updating the description of instances having pkid1, pkid2 with the string "profile":

::


   {"data":{"description":"profile"},
    "meta":{
      "references":{
        "form_href":"/api/data/AccessProfile/bulk_update/
          ?hierarchy=[hierarchy]
          &schema=
          &schema_rules=true"
      }
    },
    "request_meta":{
      "hrefs":[
        "/api/data/AccessProfile/[pkid1]",
        "/api/data/AccessProfile/[pkid2]"
      ]
    }
   }




.. |VOSS-4-UC| replace:: VOSS-4-UC
.. |Unified CM| replace:: Unified CM
.. |API Guide| replace:: API Guide