{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":46944,"path":"servicenow-platform/configuration-management-database-cmdb/domain-separation-APIs.md","title":"CMDB APIs \\(CMDB SDK\\)","bundle":null,"doc_type":null,"release":"australia","body":"\n# CMDB APIs \\(CMDB SDK\\)\n\nUse CMDB APIs to create, update, and read operations on the CMDB. Domain separation is supported in CMDB APIs.\n\n## CMDB APIs \\(CMDB SDK\\)\n\nUse the following CMDB APIs to create, update, and read operations on the CMDB:\n\n-   [CMDBGroupAPI - Scoped](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/c_CMDBGroupAPIScoped.md)\n-   [CMDBTransformUtil - Global](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/c_CMDBTransformUtilAPI.md)\n-   [CMDBUtil - Global](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/c_CMDBUtilAPI.md)\n-   [IdentificationEngineScriptableApi](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/c_IdentEngineScriptAPI.md)\n-   [IdentificationEngine - Scoped](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/IdentificationEngineScopedAPI.md)\n\n## Domain separation in CMDB APIs\n\nDomain separation enables you to separate data, processes, and administrative tasks into logical groupings called domains. You can control several aspects of this separation, including which users can see and access data.\n\n\n\nCMDB APIs are used for accessing the CMDB from a script. CMDB stores the CI and relation information; CMDB is domain separated.\n\nCMDB APIs support the following operations:\n\n-   Create a new CI:\n\n    This operation goes through the Identification and Reconciliation Engine which supports domain separation when creating a CI. The domain of the caller is used for this operation.\n\n-   Update an existing CI:\n\n    This operation goes through the Identification and Reconciliation Engine which supports domain separation when creating a CI. The domain of the caller is used for this operation.\n\n-   Create/Delete relations:\n\n    The cmdb\\_rel\\_ci table is not domain separated.\n\n-   Query CMDB CI/Query CMDB table:\n\n    Results are filtered by the domain\\(s\\) visible to the caller.\n\n-   Query CMDB metadata table:\n\n    Metadata information is not domain separated.\n\n\n## Setting up domain separation for CMDB APIs\n\nIf domain separation is enabled for CMDB, then it is also available for CMDB APIs.\n\n## Data separation\n\nData is stored and domain separated in CMDB. There is no additional work needed from the CMDB API perspective.\n\n## Configuring a domain-separated environment\n\nThe configuration is done at the CMDB level.\n\n## If a domain column is present for base system application tables\n\nSee the [Domain separation in CMDB Health](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/configuration-management-database-cmdb/cmdb-health-domain-separation.md) topic.\n\n## Tenant domains and application data\n\nThere is no application-specific data to manage with CMDB.\n\n**Related topics**  \n\n\n[Domain separation and Configuration Management Database \\(CMDB\\)](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/configuration-management-database-cmdb/domain-separation-cmdb.md)\n\n"}}