Table API - POST /now/table/{tableName}

This method inserts one record in the specified table. Multiple record insertion is not supported by this method.

URL format

Versioned URL: /api/now/v2/table/{tableName}

Default URL: /api/now/table/{tableName}

Supported request parameters

Table 1. Parameters
Parameter Description
sysparm_display_value Data retrieval operation for reference and choice fields.
Based on this value, retrieves the display value and/or the actual value from the database.
  • true returns display values for all fields.
  • false returns actual values from the database. If a value is not specified, this parameter defaults to false.
  • all returns both actual and display values.
Note: There is no preferred method for setting this parameter. However, specifying the display value may cause performance issues since it is not reading directly from the database and may include referencing other fields and records. For more information on display values and actual values, see Table API FAQs (KB0534905).
sysparm_fields Comma-separated field names to return in the response.
sysparm_view UI view to determine fields returned in the response.
Note: If both sysparm_fields and sysparm_view are specified, the sysparm_fields parameter takes priority.
sysparm_exclude_reference_link Additional information provided for reference fields, such as the URI to the reference resource, is suppressed.
sysparm_input_display_value Data insert or update operations.
For values in the request:
  • true treats input values as display values and they are manipulated so they can be stored properly in the database.
  • false treats input values as actual values and stored them in the database without manipulation.
  • If this parameter is set to true, pay attention to input values, especially date values, as these are interpreted as being supplied via the user time zone preference and are transformed into UTC format.
  • To set the value of an encrypted field, you must set this parameter to true. If this parameter is not set to true, values submitted to encrypted fields are not saved. Additionally, the requesting user must have the appropriate encryption context prior to submitting the request. Encrypted fields are hidden for users without the appropriate encryption context. For more information on display values and actual values, see Table API FAQs (KB0534905). For more information on field encryption see Use an encrypted text field.


The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see REST API headers.

Table 2. Request headers
Header Description
X-no-response-body By default, responses include body content detailing the new record. Set this header to true in the request to suppress the response body.
Content-Type The data format of the request body.
Table 3. Response headers
Header Description
Location The location of the created resource.

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API response codes.

Table 4. Status codes
Status code Description
201 Indicates the request completed successfully.

Sample cURL request

curl "" \
--request POST \
--header "Accept:application/json"\
--header "Content-Type:application/json" \
--data "{'short_description':'Unable to connect to office wifi','assignment_group':'287ebd7da9fe198100f92cc8d1d2154e','urgency':'2','impact':'2'}" \
--user 'admin':'admin'
  "result": {
    "upon_approval": "proceed",
    "location": "",
    "expected_start": "",
    "reopen_count": "0",
    "close_notes": "",
    "additional_assignee_list": "",
    "impact": "2",
    "urgency": "2",
    "correlation_id": "",
    "sys_tags": "",
    "sys_domain": {
      "link": "",
      "value": "global"
    "description": "",
    "group_list": "",
    "priority": "3",
    "delivery_plan": "",
    "sys_mod_count": "0",
    "work_notes_list": "",
    "business_service": "",
    "follow_up": "",
    "closed_at": "",
    "sla_due": "",
    "delivery_task": "",
    "sys_updated_on": "2016-01-22 14:28:24",
    "parent": "",
    "work_end": "",
    "number": "INC0010002",
    "closed_by": "",
    "work_start": "",
    "calendar_stc": "",
    "category": "inquiry",
    "business_duration": "",
    "incident_state": "1",
    "activity_due": "",
    "correlation_display": "",
    "company": "",
    "active": "true",
    "due_date": "",
    "assignment_group": {
      "link": "",
      "value": "287ebd7da9fe198100f92cc8d1d2154e"
    "caller_id": "",
    "knowledge": "false",
    "made_sla": "true",
    "comments_and_work_notes": "",
    "parent_incident": "",
    "state": "1",
    "user_input": "",
    "sys_created_on": "2016-01-22 14:28:24",
    "approval_set": "",
    "reassignment_count": "0",
    "rfc": "",
    "child_incidents": "0",
    "opened_at": "2016-01-22 14:28:24",
    "short_description": "Unable to connect to office wifi",
    "order": "",
    "sys_updated_by": "admin",
    "resolved_by": "",
    "notify": "1",
    "upon_reject": "cancel",
    "approval_history": "",
    "problem_id": "",
    "work_notes": "",
    "calendar_duration": "",
    "close_code": "",
    "sys_id": "c537bae64f411200adf9f8e18110c76e",
    "approval": "not requested",
    "caused_by": "",
    "severity": "3",
    "sys_created_by": "admin",
    "resolved_at": "",
    "assigned_to": "",
    "business_stc": "",
    "wf_activity": "",
    "sys_domain_path": "/",
    "cmdb_ci": "",
    "opened_by": {
      "link": "",
      "value": "6816f79cc0a8016401c5a33be04be441"
    "subcategory": "",
    "rejection_goto": "",
    "sys_class_name": "incident",
    "watch_list": "",
    "time_worked": "",
    "contact_type": "phone",
    "escalation": "0",
    "comments": ""

Sample Python request

#Need to install requests package for python
#easy_install requests
import requests

# Set the request parameters
url = ''

# Eg. User name="admin", Password="admin" for this code sample.
user = 'admin'
pwd = 'admin'

# Set proper headers
headers = {"Content-Type":"application/xml","Accept":"application/xml"}

# Do the HTTP request
response =, auth=(user, pwd), headers=headers ,data="<request><entry><short_description>Unable to connect to office wifi</short_description><assignment_group>287ebd7da9fe198100f92cc8d1d2154e</assignment_group><urgency>2</urgency><impact>2</impact></entry></request>")

# Check for HTTP codes other than 200
if response.status_code != 200: 
    print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:',response.json())

# Decode the JSON response into a dictionary and use the data
data = response.json()
<?xml version="1.0" encoding="UTF-8"?>
      <location />
      <expected_start />
      <close_notes />
      <additional_assignee_list />
      <correlation_id />
      <sys_tags />
      <description />
      <group_list />
      <delivery_plan />
      <work_notes_list />
      <follow_up />
      <business_service />
      <closed_at />
      <sla_due />
      <delivery_task />
      <sys_updated_on>2016-01-22 14:29:31</sys_updated_on>
      <parent />
      <work_end />
      <closed_by />
      <work_start />
      <calendar_stc />
      <business_duration />
      <activity_due />
      <correlation_display />
      <company />
      <due_date />
      <caller_id />
      <comments_and_work_notes />
      <parent_incident />
      <user_input />
      <sys_created_on>2016-01-22 14:29:31</sys_created_on>
      <approval_set />
      <rfc />
      <opened_at>2016-01-22 14:29:31</opened_at>
      <order />
      <short_description>Unable to connect to office wifi</short_description>
      <resolved_by />
      <approval_history />
      <problem_id />
      <calendar_duration />
      <work_notes />
      <close_code />
      <approval>not requested</approval>
      <caused_by />
      <assigned_to />
      <resolved_at />
      <business_stc />
      <cmdb_ci />
      <wf_activity />
      <rejection_goto />
      <subcategory />
      <watch_list />
      <time_worked />
      <comments />