> For the complete documentation index, see [llms.txt](https://community-test.logicnets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community-test.logicnets.com/release-9/platform-documentation/advanced-topics/system-integration/external-workspace-management-open-lde-flow.md).

# External Workspace Management - Open LDE Flow

## Start LDE URL

You can start the LDE using a browser and the following URL:

*https\:////logicnets.lns?verb=start\&code=DesignerStarter\&external\_id=\&hostname=\&port=\<DMS-port*\_>\_

| Property           | Description                                                                                   | Example                                       |
| ------------------ | --------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **hostname**       | The hostname or IP address of the server where the LogicNets Design Environment is installed. | [www.logicnets.com](http://www.logicnets.com) |
| **company**        | The name of the company installation                                                          | examplecompany                                |
| **DMS-session-id** | ID generated by the DMS which is used by the LDE to load and save projects                    | 12345                                         |
| **DMS-hostname**   | The hostname or IP address of the DMS REST service                                            | [dms.company.com](http://dms.company.com)     |
| **DMS-port**       | The port-number of the DMS REST service                                                       | 8080                                          |

## LDE Configuration

The DMS may require HTTPS and certificates to allow access to the REST service. These settings can be made through the LogicNets configuration. This is explained in [IIS Configuration for Client Certificate Mapping](/release-9/platform-documentation/system-administration/installation/iis-client-certificate-mapping-configuration.md).

## DMS GetProject Web Method

The purpose of this web method is to return the main LogicNet project and all dependent LogicNet projects to the LDE based on the DMS session ID.

### Request

The relative base URL of the web method is */LogicNetsProject/Get?sessionid=*

Method: *GET*

| Property           | Description                    | Example |
| ------------------ | ------------------------------ | ------- |
| **DMS-session-id** | ID passed in the Start LDE URL | 12345   |

### Response

Successful response is a JSON object structured as below.

| Property               | Type                          | Description            | Example     |
| ---------------------- | ----------------------------- | ---------------------- | ----------- |
| **mainProject**        | Project JSON object           | Main LogicNets project | *See below* |
| **dependencyProjects** | Array of Project JSON objects | Dependent Projects     | *See below* |

Project JSON Object

| Property       | Type                                 | Description                                                                                                                                                      | Example |
| -------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| **id**         | string                               | DMS assigned ID for the project                                                                                                                                  |         |
| **dataZip**    | Base64-encoded binary zip (optional) | <p>Byte stream of the zip file or null.<br>Zip file includes the project files for one LogicNets project.<br>Null for new projects.</p>                          |         |
| **isReadOnly** | Boolean (optional)                   | <p>True indicates that project should be opened in read-only mode.<br>False indicates that project should be opened in edit mode.<br>Default value is false.</p> |         |
| **metaXml**    | String (optional)                    | Meta-XML of project                                                                                                                                              |         |

### Examples

**Example Response JSON Object for Existing Project**

```
{
"mainProject":{
"id":"9DE5110D289F1B7629DEDF3D88638B70",
"dataZip":"….",
"isReadOnly": false,
"metaXml" : “….”
},
"dependencyProjects":[
{
"id":"EED8B10951AA637C26B97BD783AF89D6",
"dataZip":"….",
"isReadOnly": true
}
]
}
```

**Example Response JSON Object for Project**

```
{
"mainProject":{
"id":"9DE5110D289F1B7629DEDF3D88638B70",
"dataZip":[],
"isReadOnly": false,
"metaXml" : []
},
"dependencyProjects":[
{
"id":"EED8B10951AA637C26B97BD783AF89D6",
"dataZip":[],
"isReadOnly": true,
"metaXml" : []
}
]
}
```

### HTTP Status Codes

| Status Code | Status Text           | Description                                 |
| ----------- | --------------------- | ------------------------------------------- |
| **200**     | Success               | Request is successful and data is returned. |
| **403**     | Forbidden             | Authentication failed.                      |
| **500**     | Internal Server Error | Unexpected server errors                    |

## DMS SaveProject Web Method

The purpose of this web method is to save the main LogicNets project into the DMS.

### Request

The relative base URL of the web method is */LogicNetsProject/Save?sessionid=*

Method: *POST*

| Property           | Description                                     |
| ------------------ | ----------------------------------------------- |
| **DMS-session-id** | ID passed in the Start LDE URL                  |
| **Body**           | JSON object with project that needs to be saved |

Body

| Property      | Type                      | Description                                                                                          |
| ------------- | ------------------------- | ---------------------------------------------------------------------------------------------------- |
| **dataZip**   | Base64-encoded binary zip | <p>Byte stream of the zip file<br>Zip file includes the project files for one LogicNets project.</p> |
| **sessionId** | String                    | DMS Session ID passed in the Start LDE URL                                                           |
| **metaXml**   | String                    | Meta-XML of project                                                                                  |

### Response

The DMS must respond on the request with an HTTP status code.

| Status Code | Status Text           | Description                             |
| ----------- | --------------------- | --------------------------------------- |
| **200**     | Success               | Request is successful and data is saved |
| **403**     | Forbidden             | Authentication failed.                  |
| **500**     | Internal Server Error | Unexpected server errors                |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://community-test.logicnets.com/release-9/platform-documentation/advanced-topics/system-integration/external-workspace-management-open-lde-flow.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
