{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":172,"path":"api-reference/api-implementation.md","title":"API implementation","bundle":null,"doc_type":null,"release":"australia","body":"\n# API implementation\n\nYou can use JavaScript APIs to extend application server and client functionality. Use web services to connect ServiceNow applications to other software applications.\n\n<table id=\"table_iwv_lpv_klb\" class=\"nav-card\"><tbody><tr><td>\n\n[Scripts\\[Omitted image \"bus-start-developing.svg\"\\] Alt text: Extend application server and client functionality.](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/c_Script.md)\n\n</td><td>\n\n[Web services \\[Omitted image \"bus-rocketship.svg\"\\] Alt text: Communicate between ServiceNow and third-party applications.](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/web-services/r_AvailableWebServices.md)\n\n</td></tr></tbody>\n</table>## Scripts\n\nUse Server JavaScript APIs in scripts to change application functionality or create applications. Use client-side JavaScript APIs to control aspects of how an instance is displayed and functions within the web browser.\n\nCommon use cases:\n\n-   Calculate durations to give users a way to specify when a task or process is due.\n-   Display prompts with alerts, confirmations, or other messages.\n-   Implement event logging at different output levels, such as debug, info, warning, and error.\n-   Query, update, create, and delete records.\n-   Validate the input of all date and time fields.\n\n## Web services\n\nUse inbound \\(provider\\) and outbound \\(consumer\\) web services enable diverse applications to exchange information.\n\nCommon use cases:\n\n-   Use REST API request information from ServiceNow instances in third-party applications.\n-   Create scripted REST APIs for custom requests that aren’t available in the provided ServiceNow REST APIs.\n-   Create a custom GraphQL API to query record data from a component or a third-party system.\n-   Use the open database connectivity \\(ODBC\\) driver for read-only access to the database associated with your instance.\n-   Use domain separation to separate data, processes, and administrative tasks into logical groups.\n\n"}}