--- title: CdmVersionApi description: The CdmVersionApi provides endpoints that enable you to publish, unpublish, and export versions \(snapshots\) in Configuration Data Management \(CDM\) for shared components under shared libraries.Returns the configuration data for a specified shared component within a specified shared library for a specified published version.Publishes a version of a shared component under a specified shared library.Unpublishes a version of a shared component under a specified shared library. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/versions-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 12 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # CdmVersionApi The CdmVersionApi provides endpoints that enable you to publish, unpublish, and export versions \(snapshots\) in Configuration Data Management \(CDM\) for shared components under shared libraries. 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 shared components and libraries. 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) ## CdmVersionApi - GET /sn\_cdm/versions/export Returns the configuration data for a specified shared component within a specified shared library for a specified published version. The CDM Editor role is required to access this endpoint. ### URL format Versioned URL: `/api/sn_cdm/{api_version}/versions/export` Default URL: `/api/sn_cdm/versions/export` **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 |
| Name | Description |
|---|---|
| dataFormat | Required. Format of the configuration data.Valid values: - csv - ini - json - properties - raw - xml - yaml Data type: String |
| decryptPassword | Flag that indicates whether to show encoded or decrypted password values.Valid values: - true: Decrypt password and show decrypted value. - false: Show encrypted password value. Default: false |
| sharedComponentName | Required. Name of the shared component whose configuration data to export.Data type: String Table: CDM Shared Component \[sn\_cdm\_shared\_component\] |
| sharedLibraryName | Required. Name of the shared library that contains the component whose configuration data you want to return. The specified application must have the type field set to "shared\_library".Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| substituteVariables | Flag that indicates whether to follow the variables. For information on following the variables, see [Validating and correcting configuration data](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/cdm-validating-cfg-data.md).Valid values: - true: Follow the variables. - false: Do not follow variables. Default: true |
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: - **application/json** - **application/xml** - **text/xml** Default: **application/json** |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. One of the follow problems may have occurred:- Shared library is not active. - Shared component is not active. - Version s not published. - Parameter is missing in the call. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
| Name | Description |
|---|---|
| result | Configuration data in the specified format. |
| 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 |
|---|---|
| name | Required. Name of the version of the shared component to publish.Data type: String Table: CDM Shared Component \[sn\_cdm\_shared\_component\] |
| returnFields | Comma-separated list of fields in the CDM Snapshot \[sn\_cdm\_snapshot\] table to return as part of the response.Data type: String Default: Returns all non-system fields. |
| sharedComponentName | Required. Name of the shared component to publish.Data type: String Table: CDM Shared Component \[sn\_cdm\_shared\_component\] |
| sharedLibraryName | Required. Name of the shared library in which the specified component resides. The type field in the associated record must be set to "shared\_library".Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: - **application/json** - **application/xml** - **text/xml** Default: **application/json** |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. Error occurred during publishing.Possible issues: - Version name not found. - Component version is already published. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
| 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 |
|---|---|
| name | Required. Name of the version of the shared component to unpublish.Data type: String Table: CDM Shared Component \[sn\_cdm\_shared\_component\] |
| returnFields | Comma-separated list of fields in the CDM Snapshot \[sn\_cdm\_snapshot\] table to return as part of the response.Data type: String Default: Returns all non-system fields. |
| sharedComponentName | Required. Name of the shared component to unpublish.Data type: String Table: CDM Shared Component \[sn\_cdm\_shared\_component\] |
| sharedLibraryName | Required. Name of the shared library in which the specified component resides. The type field in the associated record must be set to "shared\_library".Data type: String Table: CDM Application \[sn\_cdm\_application\] |
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: - **application/json** - **application/xml** - **text/xml** Default: **application/json** |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. Error occurred during unpublishing.Possible issues: - Version name not found. - Component version is already published. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
| 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 |