Interaction Management API

concept australia Updated Sep 10, 2026 7 min read interaction-management-api.md
Raw file servicenow.com

The Interaction Management API provides endpoints to create interactions.

This class requires the Interaction Logging, Routing, and Queueing plugin (com.glide.interaction).

Parent Topic:REST API reference

Interaction - POST /now/interaction

Inserts or updates a record in the interaction table.

Note: The opened_by field on created interaction records is a reference to the User [sys_user] record for the authenticated user calling the API. The opened_by field can't be set in the request body. To set additional fields beyond those listed under Supported request parameters, such as short_description, use the Table API instead.

URL format

Versioned URL: /api/now/{api_version}/interaction

Default URL: /api/now/interaction

Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

Supported request parameters

Name

Description

api_version

Optional. Version of the endpoint to access. For example, v1 or v2. Only specify this value to use an endpoint version other than the latest. Data type: String

|Name|Description| |----|-----------| |None| |

Element

Description

channel

Required. Sys_id for the interaction connector you want to create an interaction for.Data type: String

context

A Map or a table/sys_id pair. By default, interactions have a record in the interaction_json_blob table that stores context data as a JSON object. You can point an interaction to a different record for context. Use context or context_table/context_id to define the context for an interaction.Data type: String

context_id

Document ID for a record you want to use to store context. The default is a new record in the insteraction_json_blob table. If you define the context ID, you also need to define the table.Data type: String

context_table

Context table you want to use to store interaction context for. The default is interaction_json_blob. If you define the context table, you also need to define the context ID.Data type: String

channel_metadata

Map or a table/sys_id pair. Channel metadata contains information that a connector can use to communicate through the associated channel. Data type: String

channel_metadata_id

Document ID for a record you want to use to store channel metadata. The default is a new record in the live_group_profile table. If you define the channel metadata ID, you also need to define the table.Data type: String

channel_metadata_table

Table you want to use to store channel metadata. The default is the live_group_profile table. If you define the channel metadata table, you also need to define the channel metadata ID.Data type: String

queue

Sys_id for the queue you want to associate with the interaction.Data type: String

### Headers

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 Supported REST API headers.

Header

Description

Accept

Data format of the response body. Supported types: application/json or application/xml. Default: application/json

Content-Type

Data format of the request body. Supported types: application/json or application/xml. Default: application/json

|Header|Description| |------|-----------| |None| |

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 HTTP response codes.

Status code Description
201 Indicates the query ran successfully.
400 Indicates that one or more mandatory parameters were missing from the request.
401 Unauthorized. The user credentials are incorrect or have not been passed.
500 Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.

Response body parameters (JSON or XML)

Element

Description

assigned_to

The sys_id of the user the interaction is assigned to.Data type: String

channelMetadataDocument

The sys_id of the channel metadata document associated with the interaction.Data type: String

channelMetadataTable

The table name of the channel metadata table associated with the interaction.Data type: String

channel_metadata

Any channel metadata included for the interaction.Data type: String

closed_by

The sys_id of the user who closed the interaction.Data type: String

contextDocument

The sys_id for the context document associated with the interaction.Data type: String

contextTable

The name of the table associated with the interaction.Data type: String

number

The number of the new interaction.Data type: String

opened_for

The sys_id of the user who the interaction was opened for.Data type: String

queue

The sys_id for the queue you create the interaction for.Data type: String

state

The state the interaction is in. If you assign a queue, the state automatically changes to Queued, otherwise the default is New.Data type: String

sys_id

The sys_id of the interaction.Data type: String

### Sample cURL request
Shell
curl "http://instance.servicenow.com/api/now/interaction" \--request POST \--header "Accept:application/json" \--header "Content-Type:application/json" \--data "{\"channel\":\"28a59893873103002ae97e2526cb0b5d\",\"queue\":\"f3a50867b30303002186a72256a8dcb7\"}" \--user "username":"password"
JSON
{  "result": {    "channel": "28a59893873103002ae97e2526cb0b5d",    "context": {      "present": true    },    "queue": "f3a50867b30303002186a72256a8dcb7",    "state": "queued",    "number": "IMS0000075",    "contextDocument": "1863a6f0d9471300964f387107a8a36d",    "contextTable": "interaction_json_blob",    "channelMetadataDocument": "9463a6f0d9471300964f387107a8a36c",    "channelMetadataTable": "live_group_profile",    "channel_metadata": {      "present": true    },    "sys_id": "dc63a6f0d9471300964f387107a8a36b",    "assigned_to": "",    "closed_by": "",    "opened_for": ""  }}

Interaction - POST /now/interaction/{interaction_id}/close

Changes the state of an interaction to closed or closed complete.

URL format

Versioned URL: /api/now/{api_version}interaction/{interaction_id}/close

Default URL: /api/now/interaction/{interaction_id}/close

Note: Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

Supported request parameters

Name

Description

api_version

Optional. Version of the endpoint to access. For example, v1 or v2. Only specify this value to use an endpoint version other than the latest. Data type: String

interaction_id

Sys_id for the interaction you want to close.Data type: String

|Name|Description| |----|-----------| |None| |
Name Description
None

Headers

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 Supported REST API headers.

Header

Description

Accept

Data format of the response body. Supported types: application/json or application/xml. Default: application/json

Content-Type

Data format of the request body. Supported types: application/json or application/xml. Default: application/json

|Header|Description| |------|-----------| |None| |

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 HTTP response codes.

Status code Description
200 Successful. The request was successfully processed.
401 Unauthorized. The user credentials are incorrect or have not been passed.
500 Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.

Response body parameters (JSON or XML)

Element

Description

assigned_to

The sys_id of the user the interaction is assigned to.Data type: String

channelMetadataDocument

The sys_id of the channel metadata document associated with the interaction.Data type: String

channelMetadataTable

The table name of the channel metadata table associated with the interaction.Data type: String

channel_metadata

Any channel metadata included for the interaction.Data type: String

closed_by

The sys_id of the user who closed the interaction.Data type: String

contextDocument

The sys_id for the context document associated with the interaction.Data type: String

contextTable

The name of the table associated with the interaction.Data type: String

number

The number of the new interaction.Data type: String

opened_for

The sys_id of the user who the interaction was opened for.Data type: String

queue

The sys_id for the queue you create the interaction for.Data type: String

state

The state the interaction is in. If you assign a queue, the state automatically changes to Queued, otherwise the default is New.Data type: String

sys_id

The sys_id of the interaction.Data type: String

### Sample cURL request
Shell
curl "http://instance.servicenow.com/api/now/interaction/b243cde4208f1700964f959e0488dee8/close" \--request POST \--header "Accept:application/json" \--header "Content-Type:application/json" \--user "username":"password"
JSON
{  "result": {    "channel": "28a59893873103002ae97e2526cb0b5d",    "context": {      "present": true    },    "queue": "f3a50867b30303002186a72256a8dcb7",    "state": "closed_complete",    "number": "IMS0000060",    "contextDocument": "3a43cde4208f1700964f959e0488dee7",    "contextTable": "interaction_json_blob",    "channelMetadataDocument": "fa43cde4208f1700964f959e0488dee8",    "channelMetadataTable": "live_group_profile",    "channel_metadata": {      "present": true    },    "sys_id": "b243cde4208f1700964f959e0488dee8",    "assigned_to": "",    "closed_by": "6816f79cc0a8016401c5a33be04be441",    "opened_for": "46d44a23a9fe19810012d100cca80666"  }}
Search documentation
Search document titles and file paths on the australia branch