# `DocuSign.Api.TemplateDocumentVisibility`
[🔗](https://github.com/neilberkman/docusign_elixir/blob/v3.4.0/lib/docusign/api/template_document_visibility.ex#L5)

API calls for all endpoints tagged `TemplateDocumentVisibility`.

# `recipients_get_template_recipient_document_visibility`

```elixir
@spec recipients_get_template_recipient_document_visibility(
  DocuSign.Connection.t(),
  String.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, DocuSign.Model.DocumentVisibilityList.t()} | {:error, Req.Response.t()}
```

Returns document visibility for a template recipient
This method returns information about document visibility for a template recipient.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `recipient_id` (String.t): A local reference used to map recipients to other objects, such as specific document tabs.  A `recipientId` must be either an integer or a GUID, and the `recipientId` must be unique within an envelope.  For example, many envelopes assign the first recipient a `recipientId` of `1`. 
- `template_id` (String.t): The ID of the template.
- `opts` (keyword): Optional parameters

### Returns

- `{:ok, DocuSign.Model.DocumentVisibilityList.t}` on success
- `{:error, Req.Response.t}` on failure

# `recipients_put_template_recipient_document_visibility`

```elixir
@spec recipients_put_template_recipient_document_visibility(
  DocuSign.Connection.t(),
  String.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, DocuSign.Model.TemplateDocumentVisibilityList.t()}
  | {:error, Req.Response.t()}
```

Updates document visibility for a template recipient
This method updates the document visibility for a template recipient.  **Note:** A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `recipient_id` (String.t): A local reference used to map recipients to other objects, such as specific document tabs.  A `recipientId` must be either an integer or a GUID, and the `recipientId` must be unique within an envelope.  For example, many envelopes assign the first recipient a `recipientId` of `1`. 
- `template_id` (String.t): The ID of the template.
- `opts` (keyword): Optional parameters
  - `:body` (TemplateDocumentVisibilityList): 

### Returns

- `{:ok, DocuSign.Model.TemplateDocumentVisibilityList.t}` on success
- `{:error, Req.Response.t}` on failure

# `recipients_put_template_recipients_document_visibility`

```elixir
@spec recipients_put_template_recipients_document_visibility(
  DocuSign.Connection.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, DocuSign.Model.TemplateDocumentVisibilityList.t()}
  | {:error, Req.Response.t()}
```

Updates document visibility for template recipients
This method updates document visibility for one or more template recipients based on the `recipientId` and `visible` values that you include in the request body.   **Note:** A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `template_id` (String.t): The ID of the template.
- `opts` (keyword): Optional parameters
  - `:body` (TemplateDocumentVisibilityList): 

### Returns

- `{:ok, DocuSign.Model.TemplateDocumentVisibilityList.t}` on success
- `{:error, Req.Response.t}` on failure

---

*Consult [api-reference.md](api-reference.md) for complete listing*
