The Zurich release has arrived! Interested in new features and functionalities? Click here for more

sarah_bioni
ServiceNow Employee
ServiceNow Employee

In ServiceNow development, building performant and maintainable APIs is critical for scalability, security, and integration. This article shares best practices for designing Scripted REST APIs and highlights when to leverage native Table APIs for optimal results.

 

Prefer Native Table API Over Scripted REST

Whenever possible, use the Table API, which is available out-of-the-box and offers:

  • Built-in security and performance optimizations
  • Support for dot-walking, filtering, sorting, and pagination
  • Reduced complexity and maintenance overhead

🛠️ Scripted REST API Optimization Tips

If you must use Scripted REST APIs, consider the following improvements:

1. Query Efficiency

  • Avoid CONTAINS In large tables, it triggers full table scans.
    • Prefer STARTSWITH, =, or IN for indexed queries.
  • Index fields used in queries to improve lookup speed.

2. GlideRecord Usage

  • Use getValue() instead of getDisplayValue() unless a readable value is required.
  • Avoid getElement() in loops—it’s heavier and impacts performance.
  • Restrict the result size with gr.setLimit().

3. Parameter Validation

  • Use gs.nil() to validate parameters robustly (handles null, undefined, empty).
  • Validate input before using it in addQuery() to prevent injection risks.

4. Pagination

  • Implement offset and limit parameters in API URLs.
  • Avoid returning large datasets without pagination.

5. GlideAggregate for Metrics

  • Use GlideAggregate for counts and sums instead of GlideRecord loops.

🔐 Security and Maintainability

  • Enable “Requires Authentication” on all endpoints.
  • Configure ACLs to restrict access.

🧩 Versioning and Endpoint Hygiene

  • Always use versioned endpoints (e.g., /v1/, /v2/) for backward compatibility.

🧪 Final Thoughts

Building APIs in ServiceNow is not just about exposing data—it’s about doing so securely, efficiently, and sustainably. By following these practices, developers can ensure their APIs are robust, scalable, and easy to maintain.

Version history
Last update:
4 weeks ago
Updated by:
Contributors