---
title: "Gets a URL for a template edit view."
method: POST
path: "/v2.1/accounts/{accountId}/templates/{templateId}/views/edit"
tags: ["TemplateViews"]
---

# Gets a URL for a template edit view.

`POST /v2.1/accounts/{accountId}/templates/{templateId}/views/edit`

Returns a URL that enables you to embed the Template Edit view of Docusign eSignature. You can embed the view in an iframe.

**API request update**

The API request object for this API method was updated in June 2024. The new API request format is described below. Existing applications must update to the new version: it solves a security issue with the old version. The deprecation schedule was announced in the [Docusign Core Release Notes](https://support.docusign.com/s/document-item?language=en_US&bundleId=adp1720620778794_24-2-02-00-demo&topicId=wcz1616195757589.html&_LANG=enus). While backwards compatibility will be provided for a while for existing applications, all applications must be updated to be secure. See below for migration information. 

**Best practices**

The returned URL expires after 10 minutes. Therefore, request the URL immediately before you redirect your user to it.

Due to screen space issues, do not use an iframe for embedded operations on mobile devices. For mobile applications, use a [WebView](https://developer.android.com/reference/android/webkit/WebView) (Android) or [WKWebView](https://developer.apple.com/documentation/webkit/wkwebview) (iOS).

### Closing the view's iframe

If you choose to embed the view in your application via an iframe, Docusign recommends this software pattern to close the iframe after the view has completed:

* (One time) create a standalone “return” web page that you will use as the `returnUrl` target for the view. The view will redirect the iframe to this URL when it has completed. Here's an [example return page](https://github.com/docusign/docusign.github.io/blob/master/jsfiddleDsResponse.html). In this page, use JavaScript and the [postMessage](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) method to send a message to your application with the results of the view.
* In your application, use `window.addEventListener("message", function_name)` to register a listener for incoming messages.
* To show the view, use this API method, then set the iframe to load the URL from the API response.
* In your application, receive the completion message, validate it, and then close the iframe.

### Information security

This view only has write access to the specific template referenced in the API call. The edit access corresponds to the access rights of the user associated with the access token used for the API call.

**Recommendations:**
* Use the access token of a service user who can access the template.
* Do not use the access token of a user with administrator privileges.

### Migrating to the current version of the request object

This section only applies to existing applications that use the older version of the request object.

Migrating from the old API request object to the new version will take under a day of developer time.

**Step 1.** Does your application set the returnUrl attribute? 

Yes: continue with step 2.

No: In this case, your users first edit the template, and then the Docusign eSignature home screen is shown. To accomplish this UI pattern with the new API request format:

* Set the returnUrl to a new endpoint for your application. You can use query parameters or session data to manage state. Remember to authenticate the incoming requests. 
* When the endpoint is called, use the EnvelopeViews:createConsole API call to obtain and then display the Docusign eSignature home page to your application's user.

**Step 2.** Check that these API attributes are set:
* `"view" = "template" `
* the `returnUrl` is set.

**Step 3.** All done! Test your application.

## Path parameters

- `accountId` string, required
- `templateId` string, required

## Request body

- TemplateViewRequest
  - `returnUrl` string — Identifies the return point after the user selects `Save And Close`. This property is required.
  - `settings` TemplateViewSettings
    - `backButtonAction` string
    - `documentSettings` EnvelopeViewDocumentSettings
      - `showEditDocuments` string — When **false,** prevents the app user from adding, replacing, or deleting documents. The default value is **true.**
      - `showEditDocumentVisibility` string — When `false`, prevents the user from modifying document visibility settings. The default value is `true`.
      - `showEditPages` string — When `false`, prevents the user from deleting or rotating individual document pages via the thumbnail images. The default value is `true`. If `true` and `showEditDocuments` is `false`, the pages can be rotated but not deleted.
      - `showSaveAsDocumentCustomField` string — Reserved for Docusign.
    - `envelopeCustomFieldSettings` EnvelopeViewEnvelopeCustomFieldSettings
      - `showEnvelopeCustomFields` string — Reserved for Docusign.
    - `lockToken` string — A unique identifier provided to the owner of the lock. You must use this token with subsequent calls to prove ownership of the lock.
    - `recipientSettings` TemplateViewRecipientSettings
      - `showContactsList` string
      - `showEditMessage` string
      - `showEditRecipients` string
    - `showAdvancedOptions` string
    - `showBackButton` string
    - `showDiscardAction` string
    - `showHeaderActions` string
    - `startingScreen` string
    - `taggerSettings` EnvelopeViewTaggerSettings
      - `paletteDefault` string — When `paletteSections` is set to `custom`, this property selects the default tagger palette. Valid values: * `custom` * `merge` * `notary` * `seals` * `smartContracts` * `annotations` * `smartSections`
      - `paletteSections` string — Valid values: * `default` (default): The default tagger palette UX * `none`: No tagger palette * `custom`: Set by `paletteDefault`
      - `paletteSettings` PaletteSettings — Reserved for Docusign.
        - `annotations` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `custom` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `merge` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `notary` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `seals` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `smartContracts` PaletteItemSettings
          - `show` string — Reserved for Docusign.
        - `smartSections` PaletteItemSettings
          - `show` string — Reserved for Docusign.
  - `viewAccess` string — Set to `template` to limit the app user's access to only the specified template. **Required.**

## Response `201`

Successful response.

## Other responses

- `400` — Error encountered.

---

[API](https://skmtc.net/docusign/apis/docusign-esignature-rest-api.md) · [All operations](https://skmtc.net/docusign/apis/docusign-esignature-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/docusign/docusign-esignature-rest-api/revisions/77f1998c313d/schema)
