
# The {wsdl} placeholder

> {wsdl} JSON structure defined in Cascade instance's WSDL file, which can be viewed by appending /ws/services/AssetOperationService?wsdl to Cascade's URL in the web browser.

URL: https://www.hannonhill.com/cascadecms/latest/articles/developing-in-cascade/rest-api/placeholders/wsdl.html
category: Developing in Cascade
article-type: reference
content-kind: article
release-availability: all
tags: api
updated: 2026-10-06

## Overview

### {wsdl}

JSON structure defined in Cascade instance's WSDL file, which can be viewed by appending `/ws/services/AssetOperationService?wsdl` to Cascade's URL in the web browser. For example: `http://localhost:8080/ws/services/AssetOperationService?wsdl`.

To read the WSDL file for given parameter, first search for a `<complexType>` tag with given *name* parameter. For example, *moveParameters* definition in WSDL can be found by searching for `<complexType name="moveParameters">`. In that case, the result will be:

```xml
<sequence>
  <element maxOccurs="1" minOccurs="1" name="destinationContainerIdentifier" nillable="false" type="impl:identifier"></element>
  <element maxOccurs="1" minOccurs="1" name="doWorkflow" nillable="false" type="xsd:boolean"></element>
  <element maxOccurs="1" minOccurs="1" name="newName" nillable="false" type="xsd:string"></element>
</sequence>
```

If type is of `impl:...`, it means that there is another `<complextType>` or `<simpleType>` tag with given name, for example `<complexType name="identifier">`. This has its own structure:

```xml
<sequence>
  <!-- When editing and selected asset is recycled, it is recommended to preserve this relationship by providing selected asset's id
  in case if the selected asset gets restored from the recycle bin.
  One is REQUIRED -->
  <element maxOccurs="1" minOccurs="0" name="id" type="xsd:string"></element>
  <!-- Path works only for non-recycled assets -->
  <element maxOccurs="1" minOccurs="0" name="path" type="impl:path"></element>
  <element maxOccurs="1" minOccurs="1" name="type" type="impl:entityTypeString"></element>
  <!-- NOT REQUIRED: For reading purposes only. Ignored when editing, copying etc. -->
  <element maxOccurs="1" minOccurs="0" name="recycled" type="xsd:boolean"></element>
</sequence>
```

Value 0 in `minOccurs` means that the property is optional. As a result, an example JSON for *moveParameters* could look like this:

```xml
"moveParameters": {
  "destinationContainerIdentifier": {
    "id": "2b2fea0f7f0000010044b22e35685d26",
    "type": "folder"
  },
  "doWorkflow": "false",
  "newName": "index2"
}
```

or like this:

```xml
"moveParameters": {
  "destinationContainerIdentifier": {
    "path": {
      "path": "/news",
      "siteName": "www.example.com"
    },
    "type": "folder"
  },
  "doWorkflow": "false",
  "newName": "index2"
}}
```

> **Hint**
>
> The `asset` property is quite complex. An easy way to understand its structure is by simply performing a `read` operation on an existing asset in the system. If you would like to `create` an asset (a page for instance), it would be useful to `read` a similar asset first to see the proper structure of `asset` property. The same object can even be reused for `create` operation with just tweaked parameters. Similarly, the easiest way to `edit` an asset is by reading it first and reusing the read `asset` object.
