> For the complete documentation index, see [llms.txt](https://services.markusschmidt.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://services.markusschmidt.pro/mspro.services/endpoints/render-engine/templates/shared-account-templates.md).

# Shared Account Templates

In case you are using the [SharedAccount](/mspro.services/accounts/sharedaccount.md) make sure your template names are unique, because you are "sharing" your templates with other users. I recommend to precede your template name with`"{CompanyName}."`. For example: `MSPro.Invoice.Ok.EMail`

Alternatively, you can [get a dedicated account](/mspro.services/accounts.md#account).

### Create or update a template

A simple Freemarker template containing two placeholders.

<pre class="language-http"><code class="lang-http">POST {{host}}/Templates?templateName={{templateName}}
Content-Type: text/plain
Authorization: Basic {{basicToken}}

<strong>Hello ${contact.firstname} ${contact.lastname} - direct POST!
</strong></code></pre>

{% hint style="info" %}
To understand the syntaxt of a template, **see**  [**Freemarker**](https://freemarker.apache.org/index.html) **template engine.**
{% endhint %}

## Render a document

To render a document we refer to the template's name and send (POST) the data to the service:

```http
POST {{host}}/render?templateName={{templateName}}
Content-Type: application/json
Authorization: Basic {{basicToken}}

{
    "contact" : {
        "firstname" : "Markus",
        "lastname" : "Schmidt"
    }
}
```

```http
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8

Hello Markus Schmidt - direct POST!
```

##
