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


---

# Create a scripted REST API

# Create a scripted REST API {#ariaid-title1}

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

Create a scripted REST API to define web service endpoints.

## Before you begin

Role required: web_service_admin

## About this task

By default, scripted REST APIs contain an ACL that prohibits users with the snc_external role from making requests to the API.

## Procedure

1. Navigate to AllSystem Web ServicesScripted REST APIs.
2. Click New.
3. Enter a Name for the service.  
   The API ID is set automatically based on the Name. You can modify the API ID if needed.
4. Click Submit.
{#t_CreateAScriptedRESTService__steps_nmg_dld_cs}

## What to do next

After you create the API, configure the service as needed such as by creating resources, assigning ACLs, or specifying supported request and response formats.
* **[Create a scripted REST API resource](https://servicenow-prod.fluidtopics.net/UgGBneINsjR8NnEQQhXCwA)**   
  Create a scripted REST API resource to define the HTTP method, the processing script, and to override settings from the parent service.
* **[Define scripted REST API headers](https://servicenow-prod.fluidtopics.net/6TIVdA2KWzJmd11pFD~yaA)**   
  Define scripted REST API headers to control which headers the API accepts and can respond with.
* **[Define available query parameters](https://servicenow-prod.fluidtopics.net/NneXGANDgwi1LH9abUztNQ)**   
  Define available query parameters to control what values a requesting user can pass in the request URI.
* **[Associate query parameters to a resource](https://servicenow-prod.fluidtopics.net/3QrT4NUl_GZIKESnEcriIQ)**   
  Associate scripted REST API query parameters to a resource.
* **[Configure a scripted REST API to require an ACL](https://servicenow-prod.fluidtopics.net/JrQbciZgMoNA4BLeRPpc9g)**   
  Requests to scripted REST APIs respect platform ACLs, and the requesting user must meet any table ACL requirements to access instance data. Additionally, you can configure the scripted REST API to require a specific ACL.
* **[Enable versioning for a scripted REST API](https://servicenow-prod.fluidtopics.net/g8uFpvBHE_j_EX9pYS9F2g)**   
  Enable versioning for a scripted REST API to provide multiple versions of the API while maintaining compatibility with existing integrations.
* **[Control request and response content type](https://servicenow-prod.fluidtopics.net/pES1VnwGHzOySGKynBisaA)**   
  Controls which content types are allowed in scripted REST API requests and responses.
* **[Controlling maximum request size](https://servicenow-prod.fluidtopics.net/AvAMOfi_hYZHqOy3HrBW~A)**   
  You can specify the maximum file size allowed in a scripted REST API request payload.

*[\>]: and then


