---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# JSON Data Modification API

# JSON Data Modification API {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

Modify data using the JSON web service by sending an HTTPS POST request to the
instance.  
The HTTP POST must contain a `sysparm_action` parameter to indicate the type of action to be performed, with the incoming JSON object post in the body.  
Note:  
The content-type of the POST should be application/json. It cannot be application/x-www-form-urlencoded or multipart/form-data.

## insert

Create a new record in ServiceNow. The
JSON object has to be POSTed as the body (content-type is usually application/json, although not
enforced). The response from the record creation is a JSON object of the incident that was
created.  
For example, posting the following JSON object:

    {"short_description":"this is a test","priority":"1"}

to the following URL:

    https://your_instance.service-now.com/incident.do?JSONv2&sysparm_action=insert

creates an incident.  
Optionally, you may also specify the sysparm_action in the JSON object. The parameter inside the JSON object takes precedence over the URL parameter. For example:

    {"sysparm_action":"insert","short_description":"this is a test","priority":"1"}

## insertMultiple

To create multiple new records in ServiceNow, the input JSON object for the insert function must be an array. The response from the record creation is a JSON object of the incidents that were created. For example, the following JSON object:

    { "records" : [ { "short_description" : "this was inserted with python using JSON 1" , "priority" : "1 - Critical" , "impact" : "1" , "caller_id" : "Fred Luddy" } , { "short_description" : "this was inserted with python using JSON 2" , "priority" : "1 - Critical" , "impact" : "1" , "caller_id" : "Fred Luddy" } ] }

posted to one the following URLs:

    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=insert
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=insertMultiple

creates two incidents. Note the fields described as an array value for the
records field.

## update

Update a record or a list of records filtered by an
encoded query string
specified by the
`sysparm_query`
URL parameter. The JSON object has to be posted as the body (content-type is usually
application/json, although not enforced). The response from the record creation is an array of
JSON objects representing the records that were updated.  
For example, posting the following JSON object:

    {"short_description":"this was updated with python", "priority": "3", "impact":"1"}

to the following URL:

    https://instance_name.service-now.com/incident.do?JSONv2&sysparm_query=priority=3&sysparm_action=update

updates all incidents with priority 3, and sets the values specified by the JSON object.

## deleteRecord

Delete a single record from the targeted table, identified by a
`sysparm_sys_id`
parameter. The parameter may be encoded in the input JSON object or given as a URL
parameter.  
For example, posting:

    {"sysparm_sys_id":"fd4001f80a0a0b380032ffa2b749927b"}

to the following URL:

    http://instance_name.service-now.com/incident.do?JSONv2&sysparm_action=deleteRecord

deletes the incident record identified by the sys_id fd4001f80a0a0b380032ffa2b749927b.

## deleteMultiple

Delete multiple records from the targeted table, filtered by an
encoded query string
specified in the
`sysparm_query`
URL parameter. The filter may also be encoded in the input JSON object.  
For example, posting:

    {"sysparm_query":"short_description=this was updated with python"}

to the following URL:

    http://instance_name.service-now.com/incident.do?JSONv2&sysparm_action=deleteMultiple

deletes all incident records where the `short_description` field contains the
value "this was updated with python".

