--- title: CdmSnapshotApi description: The CdmSnapshotApi provides endpoints that enable you to publish, unpublish, and re-validate snapshots in Configuration Data Management \(CDM\).Publishes a specified unpublished snapshot.Unpublishes a previously published snapshot.Validates a specified unpublished snapshot.Publishes a specified unpublished snapshot.Unpublishes a previously published snapshot.Validates a specified unpublished snapshot against its mapped policies. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/snapshot-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 21 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # CdmSnapshotApi The CdmSnapshotApi provides endpoints that enable you to publish, unpublish, and re-validate snapshots in Configuration Data Management \(CDM\). You publish a snapshot so that it can be exported, enabling the Continuous Integration and Continuous Delivery \(CICD\) pipeline to access and use the associated configuration data. Exporters can only execute on published snapshots. When snapshots are no longer needed, you can unpublish them to reduce the confusion as to whether the snapshot is viable anymore. You must have one of the following roles to access this API: - Scripted REST CDM View ACL \(sn\_cdm.cdm.viewer\) - Scripted REST CDM Editor ACL \(sn\_cdm.cdm\_editor\) In addition, the Configuration Data Management \(CDM\) plugin must be activated for this API to be available in an instance. For additional information on snapshots, see [View snapshots](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/cdm-snapshots-view-list.md). **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## CdmSnapshotAPI - POST /sn\_cdm/snapshots/\{snapshot\_id\}/publish Publishes a specified unpublished snapshot. Before a snapshot can be published, it must be validated. You can use the [CdmSnapshotAPI - POST /sn\_cdm/snapshots/\{snapshot\_id\}/validate](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/snapshot-api.md) endpoint to validate snapshots or have them automatically validated when you do a commit. A deployable must be connected to a service to publish its snapshots. Also, if the snapshot has already been published, the request will fail. ### URL format Versioned URL: `/api/sn_cdm/{api_version}/snapshots/{snapshot_id}/publish` Default URL: `/api/sn_cdm/snapshots/{snapshot_id}/publish` **Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md). ### Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| snapshot\_id | Sys\_id of the snapshot record to process.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| Name | Description |
|---|---|
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| status | Error status of the request.Possible values: failure Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| snapshot\_id | Sys\_id of the snapshot record to process.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| Name | Description |
|---|---|
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| status | Error status of the request.Possible values: failure Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| snapshot\_id | Sys\_id of the snapshot record to process.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| Name | Description |
|---|---|
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| status | Error status of the request.Possible values: failure Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| appName | Required. Name of the Configuration Data Management \(CDM\) application for which to create the snapshot.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| deployableName | Required. Name of the CDM deployable for which to create the snapshot.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| name | Required. Name of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| returnFields | List of fields to return as part of the response. Pass the record column names such as sys\_id, sys\_updated\_by, or state.Data type: Array Default: All fields as determined by the endpoint |
| Name | Description |
|---|---|
| cdm\_application\_id | Details about the CDM application associated with the snapshot.Data type: Object ``` "cdm_application_id": { "link": "String", "value": "String" } ``` |
| cdm\_application\_id.link | Call to use to access the CDM application record using the REST Table API. Data type: String |
| cdm\_application\_id.value | Sys\_id of the associated CDM application record.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| cdm\_deployable\_id | Details about the CDM deployable associated with the snapshot.Data type: Object ``` "cdm_deployable_id": { "link": "String", "value": "String" } ``` |
| cdm\_deployable\_id.link | Call syntax for querying this deployable record using the Table REST API.Data type: String |
| cdm\_deployable\_id.value | Sys\_id of the deployable record.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| changeset\_id | Details about the changeset associated with the snapshot.Data type: Object ``` "changeset_id": { "link": "String", "value": "String" } ``` |
| changeset\_id.link | Call syntax for querying this changeset record using the Table REST API.Data type: String |
| changeset\_id.value | Unique identifier of the changeset record.Data type: String Table: CDM Changeset \[sn\_cdm\_changeset\] |
| description | Brief description of the snapshot.Data type: String |
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| last\_published | Date and time that the snapshot was last published.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| last\_validated | Date and time that the snapshot was last validated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| name | Name of the snapshot.Data type: String |
| number | Unique number that identifies the snapshot. This value provides a human-readable identifier for the mapping.Data type: String |
| published | Flag that indicates whether the snapshot was published.Possible values: - true: Snapshot was published. - false: Snapshot wasn't published. Data type: Boolean |
| sys\_created\_by | Name of the user that created the snapshot.Data type: String |
| sys\_created\_on | Date and time when the snapshot was created.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| sys\_id | Sys\_id of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| sys\_updated\_by | Name of the user that updated the snapshot.Data type: String |
| sys\_updated\_on | Date and time when the snapshot was last updated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| validation | Current validation state of the snapshot. Possible values: - execution\_error - failed - in\_progress - not\_validated - passed - passed\_with\_exception - requested Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| appName | Required. Name of the Configuration Data Management \(CDM\) application for which to create the snapshot.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| deployableName | Required. Name of the CDM deployable for which to create the snapshot.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| name | Required. Name of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| returnFields | List of fields to return as part of the response. Pass the record column names such as sys\_id, sys\_updated\_by, or state.Data type: Array Default: All fields as determined by the endpoint |
| Name | Description |
|---|---|
| cdm\_application\_id | Details about the CDM application associated with the snapshot.Data type: Object ``` "cdm_application_id": { "link": "String", "value": "String" } ``` |
| cdm\_application\_id.link | Call to use to access the CDM application record using the REST Table API. Data type: String |
| cdm\_application\_id.value | Sys\_id of the associated CDM application record.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| cdm\_deployable\_id | Details about the CDM deployable associated with the snapshot.Data type: Object ``` "cdm_deployable_id": { "link": "String", "value": "String" } ``` |
| cdm\_deployable\_id.link | Call syntax for querying this deployable record using the Table REST API.Data type: String |
| cdm\_deployable\_id.value | Sys\_id of the deployable record.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| changeset\_id | Details about the changeset associated with the snapshot.Data type: Object ``` "changeset_id": { "link": "String", "value": "String" } ``` |
| changeset\_id.link | Call syntax for querying this changeset record using the Table REST API.Data type: String |
| changeset\_id.value | Unique identifier of the changeset record.Data type: String Table: CDM Changeset \[sn\_cdm\_changeset\] |
| description | Brief description of the snapshot.Data type: String |
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| last\_published | Date and time that the snapshot was last published.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| last\_validated | Date and time that the snapshot was last validated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| name | Name of the snapshot.Data type: String |
| number | Unique number that identifies the snapshot. This value provides a human-readable identifier for the mapping.Data type: String |
| published | Flag that indicates whether the snapshot was published.Possible values: - true: Snapshot was published. - false: Snapshot wasn't published. Data type: Boolean |
| sys\_created\_by | Name of the user that created the snapshot.Data type: String |
| sys\_created\_on | Date and time when the snapshot was created.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| sys\_id | Sys\_id of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| sys\_updated\_by | Name of the user that updated the snapshot.Data type: String |
| sys\_updated\_on | Date and time when the snapshot was last updated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| validation | Current validation state of the snapshot. Possible values: - execution\_error - failed - in\_progress - not\_validated - passed - passed\_with\_exception - requested Data type: String |
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| appName | Required. Name of the Configuration Data Management \(CDM\) application for which to create the snapshot.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| deployableName | Required. Name of the CDM deployable for which to create the snapshot.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| name | Required. Name of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| returnFields | List of fields to return as part of the response. Pass the record column names such as sys\_id, sys\_updated\_by, or state.Data type: Array Default: All fields as determined by the endpoint |
| Name | Description |
|---|---|
| cdm\_application\_id | Details about the CDM application associated with the snapshot.Data type: Object ``` "cdm_application_id": { "link": "String", "value": "String" } ``` |
| cdm\_application\_id.link | Call to use to access the CDM application record using the REST Table API. Data type: String |
| cdm\_application\_id.value | Sys\_id of the associated CDM application record.Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| cdm\_deployable\_id | Details about the CDM deployable associated with the snapshot.Data type: Object ``` "cdm_deployable_id": { "link": "String", "value": "String" } ``` |
| cdm\_deployable\_id.link | Call syntax for querying this deployable record using the Table REST API.Data type: String |
| cdm\_deployable\_id.value | Sys\_id of the deployable record.Data type: String Table: CDM Deployable \[sn\_cdm\_deployable\] |
| changeset\_id | Details about the changeset associated with the snapshot.Data type: Object ``` "changeset_id": { "link": "String", "value": "String" } ``` |
| changeset\_id.link | Call syntax for querying this changeset record using the Table REST API.Data type: String |
| changeset\_id.value | Unique identifier of the changeset record.Data type: String Table: CDM Changeset \[sn\_cdm\_changeset\] |
| description | Brief description of the snapshot.Data type: String |
| error | If an error occurred during processing, the details about the error.Data type: Object ``` "error": { "detail": "String", "message": "String" } ``` |
| error.detail | Additional information about the error.Data type: String |
| error.message | Error message that was generated while trying to process the request.Data type: String |
| last\_published | Date and time that the snapshot was last published.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| last\_validated | Date and time that the snapshot was last validated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| name | Name of the snapshot.Data type: String |
| number | Unique number that identifies the snapshot. This value provides a human-readable identifier for the mapping.Data type: String |
| published | Flag that indicates whether the snapshot was published.Possible values: - true: Snapshot was published. - false: Snapshot wasn't published. Data type: Boolean |
| sys\_created\_by | Name of the user that created the snapshot.Data type: String |
| sys\_created\_on | Date and time when the snapshot was created.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| sys\_id | Sys\_id of the snapshot.Data type: String Table: CDM Snapshot \[sn\_cdm\_snapshot\] |
| sys\_updated\_by | Name of the user that updated the snapshot.Data type: String |
| sys\_updated\_on | Date and time when the snapshot was last updated.Data type: String Format: yyyy-mm-dd hh:mm:ss |
| validation | Current validation state of the snapshot. Possible values: - execution\_error - failed - in\_progress - not\_validated - passed - passed\_with\_exception - requested Data type: String |