---
schema_version: "1"
id: 1fc19fa85afce94356c8c368580da960f7d4eca67bdbe03db4ccf3f4a5dc767b
title: Azure Cosmos DB Connector 1.0 Examples
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/azure-cosmos-db-connector-examples.md
canonical_url: https://docs.mulesoft.com/azure-cosmos-db-connector/1.0/azure-cosmos-db-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e7144a8f0d8d7700fa9b5fbc84144b7df775135219d17dc69509d58e88d7ea2c
description: MuleSoft Documentation Site
release: "1.0"
latest: false
---
---
product: Azure Cosmos DB Connector
version: 1.0
---

# Azure Cosmos DB Connector 1.0 Examples

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The following examples show several Mule flows for Azure Cosmos DB Connector:

- [Create Document](#create-document)

- [Get Document](#get-document)

- [Replace Document](#replace-document)

- [List Documents](#list-documents)

- [Query Documents](#query-documents)

- [Delete Document](#delete-document)

- [Create Stored Procedure](#create-stored-procedure)

- [Execute Stored Procedure](#execute-stored-procedure)

- [Replace Stored Procedure](#replace-stored-procedure)

- [List Stored Procedures](#list-stored-procedures)

- [Delete Stored Procedure](#delete-stored-procedure)

- [Create Permission](#create-permission)

- [Get Permission](#get-permission)

- [Replace Permission](#replace-permission)

- [List Permissions](#list-permissions)

- [Delete Permission](#delete-permission)

- [List Documents Resource Token](#list-documents-resource-token)

- [List Stored Procedures Resource Token](#list-stored-procedures-resource-token)

> [!NOTE] Some operations require existing documents, stored procedures, or permissions, which can
> be created with their respective flows.

## Create Document

This Mule flow creates a new document or replaces an existing one.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Create Document**  
  Creates a new document in a collection

- **Transform Message**  
  Outputs the results of the **Create Document** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Create Document** operation

![Studio Flow for the Create Document operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/create-document.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>

    <flow name="create-document-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/create-document"/>
        <azure-cosmos-db-connector-mule-4:create-document config-ref="Cosmos_Db_Connector_Config"
                                                          dbIdUriParam="${config.database}"
                                                          collIdUriParam="${config.collection}"
                                                          xMsDocumentdbPartitionkeyHeader="#[write(['Mule_CosmosDB_DemoApp_DocumentId'], 'application/json')]"
                                                          xMsIndexingDirectiveHeader="INCLUDE">
            <azure-cosmos-db-connector-mule-4:create-document-body>
                <![CDATA[#[%dw 2.0
output application/json
---
{
	"id" : "Mule_CosmosDB_DemoApp_DocumentId",
	"firstName" : "John",
	"lastName" : "Smith"
}]]]></azure-cosmos-db-connector-mule-4:create-document-body>
        </azure-cosmos-db-connector-mule-4:create-document>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/create-document](http://localhost:8081/create-document)`.

## Get Document

This Mule flow retrieves an existing document.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Get Document**  
  Retrieves a document by its partition key and document key

- **Transform Message**  
  Outputs the results of the **Get Document** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Get Document** operation

![Studio Flow for the Get Document operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/get-document.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>

		<flow name="get-document-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/get-document"/>
        <azure-cosmos-db-connector-mule-4:get-document config-ref="Cosmos_Db_Connector_Config"
                                                       dbIdUriParam="${config.database}"
                                                       collIdUriParam="${config.collection}"
                                                       xMsDocumentdbPartitionkeyHeader="#[write(['Mule_CosmosDB_DemoApp_DocumentId'], 'application/json')]"
                                                       docIdUriParam="Mule_CosmosDB_DemoApp_DocumentId"
                                                       ifNoneMatchHeader="noneMatch"
                                                       xMsConsistencyLevelHeader="SESSION">
        </azure-cosmos-db-connector-mule-4:get-document>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/get-document](http://localhost:8081/get-document)`.

## Replace Document

This Mule flow replaces an existing document with a new document that contains the specified
content.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Replace Document**  
  Replaces the entire content of a document

- **Transform Message**  
  Outputs the results of the **Replace Document** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Replace Document** operation

![Studio Flow for the Replace Document operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/replace-document.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>

		<flow name="replace-document-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/replace-document"/>
        <azure-cosmos-db-connector-mule-4:replace-document config-ref="Cosmos_Db_Connector_Config"
                                                           dbIdUriParam="${config.database}"
                                                           collIdUriParam="${config.collection}"
                                                           xMsDocumentdbPartitionkeyHeader="#[write(['Mule_CosmosDB_DemoApp_DocumentId'], 'application/json')]"
                                                           docIdUriParam="Mule_CosmosDB_DemoApp_DocumentId"
                                                           xMsIndexingDirectiveHeader="INCLUDE">
            <azure-cosmos-db-connector-mule-4:replace-document-body>
                <![CDATA[#[%dw 2.0
output application/json
---
{
	"id" : "Mule_CosmosDB_DemoApp_DocumentId",
	"firstName" : "Jane",
	"lastName" : "Doe"
}]]]></azure-cosmos-db-connector-mule-4:replace-document-body>
        </azure-cosmos-db-connector-mule-4:replace-document>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/replace-document](http://localhost:8081/replace-document)`.

## List Documents

This Mule flow obtains a list of existing documents based on the specified query, with pagination
support handled internally by the connector.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **List Documents**  
  Returns a list of documents under the collection

- **Transform Message**  
  Outputs the results of the **List Documents** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **List Documents** operation

![Studio Flow for the List Documents operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/list-documents.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>

	<flow name="list-documents-flow">
			<http:listener config-ref="HTTP_Listener_config" path="/list-documents"/>
			<azure-cosmos-db-connector-mule-4:list-documents config-ref="Cosmos_Db_Connector_Config"
																											 dbIdUriParam="${config.database}"
																											 collIdUriParam="${config.collection}"
																											 xMsConsistencyLevelHeader="SESSION"
																											 ifNoneMatchHeader="noneMatch">
			</azure-cosmos-db-connector-mule-4:list-documents>
			<ee:transform>
					<ee:message>
							<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
					</ee:message>
			</ee:transform>
			<logger level="INFO" message="#[payload]"/>
	</flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/list-documents](http://localhost:8081/list-documents)`.

## Query Documents

This Mule flow obtains a list of existing documents based on the specified query, with pagination
support handled internally by the connector.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Query Documents**  
  Queries documents

- **Transform Message**  
  Outputs the results of the **Query Documents** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Query Documents** operation

![Studio Flow for the Query Documents operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/query-documents.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>

	<flow name="query-documents-flow">
			<http:listener config-ref="HTTP_Listener_config" path="/query-documents"/>
			<azure-cosmos-db-connector-mule-4:query-documents config-ref="Cosmos_Db_Connector_Config"
																												dbIdUriParam="${config.database}"
																												collIdUriParam="${config.collection}"
																												xMsConsistencyLevelHeader="SESSION"
																												xMsDocumentdbQueryEnablecrosspartitionHeader="true">
					<azure-cosmos-db-connector-mule-4:query-documents-body>
							<![CDATA[#[%dw 2.0
output application/json
---
{
"query": "SELECT * FROM Families f WHERE f.id = @id AND f.Address.City = @city",
"parameters": [
	{
		"name": "@id",
		"value": "AndersenFamily"
	},
	{
		"name": "@city",
		"value": "Seattle"
	}
]
}]]]></azure-cosmos-db-connector-mule-4:query-documents-body>
			</azure-cosmos-db-connector-mule-4:query-documents>
			<ee:transform>
					<ee:message>
							<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
					</ee:message>
			</ee:transform>
			<logger level="INFO" message="#[payload]"/>
	</flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/query-documents](http://localhost:8081/query-documents)`.

## Delete Document

This Mule flow deletes an existing document.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Delete Document**  
  Deletes an existing document from a collection

- **Logger**  
  Shows the HTTP response from the **Delete Document** operation

![Studio Flow for the Delete Document operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/delete-document.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
		<flow name="delete-document-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/delete-document"/>
        <azure-cosmos-db-connector-mule-4:delete-document config-ref="Cosmos_Db_Connector_Config"
                                                          dbIdUriParam="${config.database}"
                                                          collIdUriParam="${config.collection}"
                                                          xMsDocumentdbPartitionkeyHeader="#[write(['Mule_CosmosDB_DemoApp_DocumentId'], 'application/json')]"
                                                          docIdUriParam="Mule_CosmosDB_DemoApp_DocumentId">
        </azure-cosmos-db-connector-mule-4:delete-document>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/delete-document](http://localhost:8081/delete-document)`.

## Create Stored Procedure

This Mule flow creates a stored procedure with the specified content.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Transform Message**  
  Transforms the HTTP input

- **Create Stored Procedure**  
  Creates a new stored procedure in a collection

- **Transform Message**  
  Outputs the results of the **Create Stored Procedure** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Create Stored Procedure** operation

![Studio Flow for the Create Stored Procedure operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/create-stored-procedure.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
		<flow name="create-stored-procedure-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/create-stored-procedure"/>
        <ee:transform>
            <ee:message>
                <ee:set-payload>
                    <![CDATA[%dw 2.0
                        output application/json
                        ---
                        {
                            "body": "function () {\r\n    var context = getContext();\r\n    var response = context.getResponse();\r\n\r\n    response.setBody(\"Hello, World\");\r\n}",
                            "id": "Mule_CosmosDB_DemoApp_StoredProcedureId"
                        } ]]>
                </ee:set-payload>
            </ee:message>
        </ee:transform>
        <azure-cosmos-db-connector-mule-4:create-stored-procedure config-ref="Cosmos_Db_Connector_Config"
                                                                  dbIdUriParam="${config.database}"
                                                                  collIdUriParam="${config.collection}">
        </azure-cosmos-db-connector-mule-4:create-stored-procedure>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/create-stored-procedure](http://localhost:8081/create-stored-procedure)`.

## Execute Stored Procedure

This Mule flow executes an existing stored procedure.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Transform Message**  
  Transforms the HTTP input

- **Execute Stored Procedure**  
  Executes a stored procedure by performing a POST on a stored procedure resource

- **Transform Message**  
  Outputs the results of the **Execute Stored Procedure** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Execute Stored Procedure** operation

![Studio Flow for the Execute Stored Procedure operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/execute-stored-procedure.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
		<flow name="execute-stored-procedure-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/execute-stored-procedure"/>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
                        output application/json
                        ---
                        ["World"]
                        ]]>
                </ee:set-payload>
            </ee:message>
        </ee:transform>
        <azure-cosmos-db-connector-mule-4:execute-stored-procedure config-ref="Cosmos_Db_Connector_Config"
                                                                   dbIdUriParam="${config.database}"
                                                                   collIdUriParam="${config.collection}"
                                                                   sprocIdUriParam="Mule_CosmosDB_DemoApp_StoredProcedureId">
        </azure-cosmos-db-connector-mule-4:execute-stored-procedure>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/execute-stored-procedure](http://localhost:8081/execute-stored-procedure)`.

## Replace Stored Procedure

This Mule flow replaces an existing stored procedure.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Transform Message**  
  Transforms the HTTP input

- **Replace Stored Procedure**  
  Replaces the entire stored procedure resource

- **Transform Message**  
  Outputs the results of the **Replace Stored Procedure** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Replace Stored Procedure** operation

![Studio Flow for the Replace Stored Procedure operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/replace-stored-procedure.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="replace-stored-procedure-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/replace-stored-procedure"/>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
                        output application/json
                        ---
                        {
                            "body": "function () {\r\n    var context = getContext();\r\n    var response = context.getResponse();\r\n\r\n    response.setBody(\"Goodbye, World\");\r\n}",
                            "id": "Mule_CosmosDB_DemoApp_StoredProcedureId"
                        } ]]>
                </ee:set-payload>
            </ee:message>
        </ee:transform>
        <azure-cosmos-db-connector-mule-4:replace-stored-procedure config-ref="Cosmos_Db_Connector_Config"
                                                                   dbIdUriParam="${config.database}"
                                                                   collIdUriParam="${config.collection}"
                                                                   sprocIdUriParam="Mule_CosmosDB_DemoApp_StoredProcedureId">
        </azure-cosmos-db-connector-mule-4:replace-stored-procedure>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/replace-stored-procedure](http://localhost:8081/replace-stored-procedure)`.

## List Stored Procedures

This Mule flow obtains a list of existing stored procedures.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **List Stored Procedures**  
  Returns a list of the stored procedures in the collection

- **Transform Message**  
  Outputs the results of the **List Stored Procedures** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **List Stored Procedures** operation

![Studio Flow for the List Stored Procedures operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/list-stored-procedures.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="list-stored-procedures-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/list-stored-procedures"/>
        <azure-cosmos-db-connector-mule-4:list-stored-procedures config-ref="Cosmos_Db_Connector_Config"
                                                                 dbIdUriParam="${config.database}"
                                                                 collIdUriParam="${config.collection}">
        </azure-cosmos-db-connector-mule-4:list-stored-procedures>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/list-stored-procedures](http://localhost:8081/list-stored-procedures)`.

## Delete Stored Procedure

This Mule flow deletes an existing stored procedure.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Delete Stored Procedure**  
  Deletes an existing stored procedure from a collection

- **Logger**  
  Shows the HTTP response from the **Delete Stored Procedure** operation

![Studio Flow for the Delete Stored Procedure operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/delete-stored-procedure.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="delete-stored-procedure-flow">
           <http:listener config-ref="HTTP_Listener_config" path="/delete-stored-procedure"/>
           <azure-cosmos-db-connector-mule-4:delete-stored-procedure config-ref="Cosmos_Db_Connector_Config"
                                                                     dbIdUriParam="${config.database}"
                                                                     collIdUriParam="${config.collection}"
                                                                     sprocIdUriParam="Mule_CosmosDB_DemoApp_StoredProcedureId">
           </azure-cosmos-db-connector-mule-4:delete-stored-procedure>
           <logger level="INFO" message="#[payload]"/>
       </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/delete-stored-procedure](http://localhost:8081/delete-stored-procedure)`.

## Create Permission

This Mule flow creates a user permission to access a resource.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Create Permission**  
  Creates a new permission in a database

- **Transform Message**  
  Outputs the results of the **Create Permission** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Create Permission** operation

![Studio Flow for the Create Permission operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/create-permission.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="create-permission-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/create-permission"/>
        <azure-cosmos-db-connector-mule-4:create-permission config-ref="Cosmos_Db_Connector_Config"
                                                            dbIdUriParam="${config.database}"
                                                            username="${config.username}"
                                                            xMsDocumentdbExpirySeconds="18000">
            <azure-cosmos-db-connector-mule-4:create-permission-body><![CDATA[#[%dw 2.0
output application/json
---
{
	"id": "Mule_CosmosDB_DemoApp_ResourceToken_PermissionId",
    "permissionMode": "All",
    "resource": "dbs/" ++ "${config.database}" ++ "/colls/" ++ "${config.collection}"
}]]]></azure-cosmos-db-connector-mule-4:create-permission-body>
        </azure-cosmos-db-connector-mule-4:create-permission>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/create-permission](http://localhost:8081/create-permission)`.

## Get Permission

This Mule flow retrieves an existing permission.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Get Permission**  
  Gets a permission from a database

- **Transform Message**  
  Outputs the results of the **Get Permission** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Get Permission** operation

![Studio Flow for the Get Permission operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/get-permission.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="get-permission-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/get-permission"/>
        <azure-cosmos-db-connector-mule-4:get-permission config-ref="Cosmos_Db_Connector_Config"
                                                         dbIdUriParam="${config.database}"
                                                         username="${config.username}"
                                                         permissionId="Mule_CosmosDB_DemoApp_ResourceToken_PermissionId"
                                                         xMsDocumentdbExpirySeconds="1800">
        </azure-cosmos-db-connector-mule-4:get-permission>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/get-permission](http://localhost:8081/get-permission)`.

## Replace Permission

This Mule flow replaces an existing permission to access a resource for a user with another
permission.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Replace Permission**  
  Replaces a permission from a database

- **Transform Message**  
  Outputs the results of the **Replace Permission** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **Replace Permission** operation

![Studio Flow for the Replace Permission operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/replace-permission.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="replace-permission-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/replace-permission"/>
        <azure-cosmos-db-connector-mule-4:replace-permission config-ref="Cosmos_Db_Connector_Config"
                                                             dbIdUriParam="${config.database}"
                                                             username="${config.username}"
                                                             permissionId="Mule_CosmosDB_DemoApp_ResourceToken_PermissionId"
                                                             xMsDocumentdbExpirySeconds="1800">
            <azure-cosmos-db-connector-mule-4:replace-permission-body><![CDATA[#[%dw 2.0
output application/json
---
{
	"id": "Mule_CosmosDB_DemoApp_ResourceToken_PermissionId",
    "permissionMode": "Read",
    "resource": "dbs/" ++ "${config.database}" ++ "/colls/" ++ "${config.collection}"
}]]]></azure-cosmos-db-connector-mule-4:replace-permission-body>
        </azure-cosmos-db-connector-mule-4:replace-permission>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/replace-permission](http://localhost:8081/replace-permission)`.

## List Permissions

This Mule flow obtains a list of existing permissions.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **List Permissions**  
  Lists permissions of a user from a database

- **Transform Message**  
  Outputs the results of the **List Permissions** operation in JSON format

- **Logger**  
  Shows the HTTP response from the **List Permissions** operation

![Studio Flow for the List Permissions operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/list-permissions.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="list-permissions-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/list-permissions"/>
        <azure-cosmos-db-connector-mule-4:list-permissions config-ref="Cosmos_Db_Connector_Config"
                                                           dbIdUriParam="${config.database}"
                                                           username="${config.username}">
        </azure-cosmos-db-connector-mule-4:list-permissions>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/list-permissions](http://localhost:8081/list-permissions)`.

## Delete Permission

This Mule flow deletes an existing permission.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Delete Permission**  
  Deletes a permission from a database

- **Logger**  
  Shows the HTTP response from the **Delete Permission** operation

![Studio Flow for the Delete Permission operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/delete-permission.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="delete-permission-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/delete-permission"/>
        <azure-cosmos-db-connector-mule-4:delete-permission config-ref="Cosmos_Db_Connector_Config"
                                                            dbIdUriParam="${config.database}"
                                                            username="${config.username}"
                                                            permissionId="Mule_CosmosDB_DemoApp_ResourceToken_PermissionId">
        </azure-cosmos-db-connector-mule-4:delete-permission>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/delete-permission](http://localhost:8081/delete-permission)`.

## List Documents Resource Token

This Mule flow obtains a list of existing documents, with pagination support handled internally by
the connector, and uses the short-lived tokens from the Resource Token authorization.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Flow Reference**  
  Obtains the resource token

- **List Documents**  
  Returns a list of documents under the collection

- **Transform Message**  
  Outputs the results of the **List Documents** operation in JSON format

- **Flow Reference**  
  Clears the permissions

- **Logger**  
  Shows the HTTP response from the **List Documents** operation

![Studio Flow for the List Documents Resource Token operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/list-documents-resource-token.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="list-documents-resource-token-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/list-documents-resource-token"/>
        <flow-ref name="obtain-resource-token"/>
        <azure-cosmos-db-connector-mule-4:list-documents config-ref="Cosmos_Db_Connector_Config_Resource_Token"
                                                         dbIdUriParam="${config.database}"
                                                         collIdUriParam="${config.collection}"
                                                         xMsConsistencyLevelHeader="SESSION"
                                                         ifNoneMatchHeader="noneMatch">
        </azure-cosmos-db-connector-mule-4:list-documents>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <flow-ref name="clear-permissions"/>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/list-documents-resource-token](http://localhost:8081/list-documents-resource-token)`.

## List Stored Procedures Resource Token

This Mule flow obtains a list of existing stored procedures using short-lived tokens from the
Resource Token authorization.

This example uses the following operations:

- **HTTP Listener**  
  Accepts data from HTTP requests

- **Flow Reference**  
  Obtains the resource token

- **List Stored Procedures**  
  Returns a list of the stored procedures in the collection

- **Transform Message**  
  Outputs the results of the **List Stored Procedures** operation in JSON format

- **Flow Reference**  
  Clears the permissions

- **Logger**  
  Shows the HTTP response from the **List Stored Procedures** operation

![Studio Flow for the List Stored Procedures operation](/mulesoft/current/en-us/azure-cosmos-db-connector/1.0/_images/list-stored-procedures-resource-token.png)

### XML for This Example

Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule
app:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule
        xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
        xmlns:azure-cosmos-db-connector-mule-4="http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4"
        xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:http="http://www.mulesoft.org/schema/mule/http"
        xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4 http://www.mulesoft.org/schema/mule/azure-cosmos-db-connector-mule-4/current/mule-azure-cosmos-db-connector-mule-4.xsd">

    <configuration-properties file="mule-app.properties"/>

    <http:listener-config name="HTTP_Listener_config">
        <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>
    <azure-cosmos-db-connector-mule-4:key-token-config name="Cosmos_Db_Connector_Config">
        <azure-cosmos-db-connector-mule-4:key-token-auth-connection key="${config.myKey}"
                                                                       version="${config.version}"
                                                                       baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:key-token-config>
    <azure-cosmos-db-connector-mule-4:resource-token-config name="Cosmos_Db_Connector_Config_Resource_Token">
        <azure-cosmos-db-connector-mule-4:resource-token-auth-connection resourceToken="#[vars.resourceToken]"
                                                                         version="${config.version}"
                                                                         baseUri="${config.baseUri}"/>
    </azure-cosmos-db-connector-mule-4:resource-token-config>
    <flow name="list-stored-procedures-resource-token-flow">
        <http:listener config-ref="HTTP_Listener_config" path="/list-stored-procedures-resource-token"/>
        <flow-ref name="obtain-resource-token"/>
        <azure-cosmos-db-connector-mule-4:list-stored-procedures config-ref="Cosmos_Db_Connector_Config_Resource_Token"
                                                                 dbIdUriParam="${config.database}"
                                                                 collIdUriParam="${config.collection}">
        </azure-cosmos-db-connector-mule-4:list-stored-procedures>
        <ee:transform>
            <ee:message>
                <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <flow-ref name="clear-permissions"/>
        <logger level="INFO" message="#[payload]"/>
    </flow>
</mule>
```

### Steps for Running This Example

1.  Verify that your connector is configured.

2.  Save the project.

3.  From a web browser, test the application by entering
    `[http://localhost:8081/list-stored-procedures-resource-token](http://localhost:8081/list-stored-procedures-resource-token)`.

## See Also

- [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)

- [Salesforce Help](https://help.salesforce.com)
