Table API Web Service – REST
REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.
Supported HTTP request methods Support for Table API:
- Retrieve records from a table (GET)
- Parameterized Get method allow to get data from table
- Table Name is mandatory, Table name is Path Parameter
- sysparm_query = Pass query to get data
- sysparm_limit = to set max count for data set
- sysparm_fields = to get only defined fields
- sysparm_display_value = Return field display values (true), actual values (false), or both (all)
- Example URL : https://<instance>.service-now.com/api/now/table/incident?sysparm_query=active%3Dtrue
- Create a record (POST)
- Table Name & Data is mandatory, Table name is Path Parameter
- Example:https://<instance>.service-now.com/api/now/table/incident
- Data: {“short_description”:”test”}
- Retrieve a record (GET)
- Its return only one record
- Table Name & sys_id two path parameter are mandatory.
- Example: https://<instance>.service-now.com/api/now/table/incident/fc598bdc1b991c140a2163166e4bcb8b
- Modify a record (PUT)
- Table Name, sys_id & Data is mandatory, Table name is Path Parameter
- https://<instance>.service-now.com/api/now/table/incident/fc598bdc1b991c140a2163166e4bcb8b
- Data: {“short_description”:”test”}
- Delete a record (DELETE)
- Delete a specific record by sys_id
- Example: https://<instance>.service-now.com/api/now/table/incident/fc598bdc1b991c140a2163166e4bcb8b
- Update a record (PATCH)
- Table Name, sys_id & Data is mandatory, Table name is Path Parameter
- https://<instance>.service-now.com/api/now/table/incident/fc598bdc1b991c140a2163166e4bcb8b
- Data: {“short_description”:”test”}
CURL Example:
curl "https://<instance>.service-now.com/api/now/table/incident/fc598bdc1b991c140a2163166e4bcb8b" \ --request DELETE \ --header "Accept:application/json" \ --user 'admin':'admin'
Important Notes in TABLE API
- Table API doesn’t validation Mandatory and other validation
- You can use the HEAD methods in place of GET methods to return a response without a response body.
- You cannot pass multiple records in POST, PUT, and PATCH operations. If you do, only the first record is processed, the rest are ignored.
- You cannot use POST, PUT, and PATCH to insert or update records into a Database view, as Database views are read-only.
Requirements:
- Give me all active incidents ?
- https://dev105176.service-now.com/api/now/table/incident?sysparm_query=active=true
- Give me all the change request ?
- https://dev105176.service-now.com/api/now/table/change_request?sysparm_query=state=-5
- Get 2 Open Incident and return number,short_description and CI Name
- https://dev105176.service-now.com/api/now/table/change_request?sysparm_query=state=-5&sysparm_limit=2&sysparm_fields=number,short_description,cmdb_ci&sysparm_display_value=all
- Give me a change request details that I know sys_id and I need only number
- https://dev105176.service-now.com/api/now/table/change_request/c83c5e5347c12200e0ef563dbb9a7190?sysparm_fields=number
- Create an Incident
curl --location --request POST 'https://dev105176.service-now.com/api/now/table/incident' \ --header 'Authorization: Basic aW50ZWdyYXRpb24uYWRtaW46Um9oaXRhYmMxMjMh' \ --header 'Content-Type: application/json' \ --data-raw '{"short_description":"test incident 2"}'
- Update Incident
curl --location --request PUT 'https://dev105176.service-now.com/api/now/table/incident/6d17fb98970a1110477671571153af72' \ --header 'Authorization: Basic aW50ZWdyYXRpb24uYWRtaW46Um9oaXRhYmMxMjMh' \ --header 'Content-Type: application/json' \ --data-raw '{"caller_id":"Integration Admin"}'
- Delete a record
curl --location --request DELETE 'https://dev105176.service-now.com/api/now/table/incident/6d17fb98970a1110477671571153af72' \ --header 'Authorization: Basic aW50ZWdyYXRpb24uYWRtaW46Um9oaXRhYmMxMjMh' \ --header 'Content-Type: application/json' \
No responses yet