---
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


---

# UniversalRequestUtilsSNC - Scoped

# UniversalRequestUtilsSNC - Scoped {#ariaid-title1}

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

The UniversalRequestUtilsSNC API enables handling universal request life cycles. Provided as a script include record.
This API requires the Universal Request (com.snc.universal_request) plugin
and is provided within the `sn_uni_req` namespace.

For information, refer to [Universal Request](https://www.servicenow.com/docs/access?context=ur-landing-limitedaccess&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US).

## UniversalRequestUtilsSNC - createUniversalRequest(Object copyFields) {#ariaid-title2}

Creates a universal request and returns the sys_id of the newly created universal
request record.
This method is called using the UniversalRequestUtils prototype in the
`sn_uni_req` namespace. For example,
`sn_uni_req.UniversalRequestUtils().createUniversalRequest(<copyFields>)`.
{#URUS-createUniversalRequest_O__table_agv_xrd_gnb__entry__3}

| Name | Type | Description |
|-|-|-|
| copyFields | Object | JSON object containing field names and values to set on a new record in the Universal Requests \[universal_request\] table. Provide details by field name and field value in the format `{ '<field_name>': '<field_value>' }`. The following fields are considered the most useful details to assign to a primary ticket. { 'assignment_group': 'String', 'assigned_to': 'String', 'contact_type': 'String', 'description': 'String', 'opened_by': 'String', 'opened_for': 'String', 'priority': 'String', 'restricted': Boolean, 'short_description': 'String' }; Other fields not listed might be eligible for your use case. For a list of table fields and related fields in the system, view the [Data dictionary tables](https://www.servicenow.com/docs/access?context=c_DataDictionaryTables&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). Note: Do not include the primary_ticket or sys_id fields in the copyFields JSON object. |
| copyFields.assignment_group | String | Optional. Sys_id of the group assigned to the resource. Located in the Group \[sys_user_group\] table. Default: Default assignment group is set per assignment rules. |
| copyFields.contact_type | String | Optional. Method by which the resource was initially reported. Possible values: * chat * email * phone * social * web Maximum length: 40 |
| copyFields.description | String | Optional. Detailed description of the problem associated with the resource. Maximum length: 4,000 |
| copyFields.opened_by | String | Optional. Sys_id of the person that initially opened the resource. Located in the User \[sys_user\] table. |
| copyFields.opened_for | String | Optional. Required for HR Service Delivery cases. The sys_id of the user for whom the resource was opened. |
| copyFields.priority | String | Optional. Priority of the resource. Specified as a number. Possible values: * 1: Critical * 2: High * 3: Moderate * 4: Low Default: 3 |
| copyFields.restricted | Boolean | Optional. Flag that indicates if the universal request has restricted access. Refer to [Universal Request roles and groups](https://www.servicenow.com/docs/access?context=ur-roles&version=xanadu&pubname=xanadu-employee-service-management&ft:locale=en-US). Valid values: * true: Universal request is only accessible to users with the `sn_uni_req.sensitiveinfo_agent` role. Users with this role have permissions to view sensitive information, such as payroll details. * false: Universal request access is unrestricted. {#URUS-createUniversalRequest_O__ul_ghk_csg_knb} Default: false |
| copyFields.short_description | String | Concise description of the resource. Maximum length: 160 |
[Table 1. Parameters]

{#URUS-createUniversalRequest_O__table_agv_xrd_gnb} {#URUS-createUniversalRequest_O__table_bgv_xrd_gnb__entry__2}

| Type | Description |
|-|-|
| String | Sys_id of the newly created universal request record. |
[Table 2. Returns]

{#URUS-createUniversalRequest_O__table_bgv_xrd_gnb}  
The following example shows how to set fields on a new universal request. In this use case,
this code is added to the beginning of the Inbound Email Actions \[sysevent_in_email_action\]
scoped Create HR Case script. If the case doesn't apply to HR, agents
can transfer the case to the appropriate department.

    var copiedFields = {
      'opened_for': "<user_sys_id>",    
      'short_description': email.subject,
      'restricted': false,
      'priority': '1'
    };

    // createUniversalRequest() must be called to create the universal request prior to creating the child case

    var ur = new sn_uni_req.UniversalRequestUtils().createUniversalRequest(copiedFields);
    current.universal_request = ur;


