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

API calls for all endpoints tagged `RequestLogs`.

# `a_pi_request_log_delete_request_logs`

```elixir
@spec a_pi_request_log_delete_request_logs(
  DocuSign.Connection.t(),
  keyword()
) :: {:ok, nil} | {:error, Req.Response.t()}
```

Deletes the request log files.
Deletes the request log files.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `opts` (keyword): Optional parameters

### Returns

- `{:ok, nil}` on success
- `{:error, Req.Response.t}` on failure

# `a_pi_request_log_get_request_log`

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

Gets a request logging log file.
Retrieves information for a single log entry.  **Request** The `requestLogId` property can be retrieved by getting the list of log entries. The Content-Transfer-Encoding header can be set to base64 to retrieve the API request/response as base 64 string. Otherwise the bytes of the request/response are returned.  **Response** If the Content-Transfer-Encoding header was set to base64, the log is returned as a base64 string.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `request_log_id` (String.t): The ID of the log entry.
- `opts` (keyword): Optional parameters

### Returns

- `{:ok, String.t}` on success
- `{:error, Req.Response.t}` on failure

# `a_pi_request_log_get_request_log_settings`

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

Gets the API request logging settings.
Retrieves the current API request logging setting for the user and remaining log entries.  **Response** The response includes the current API request logging setting for the user, along with the maximum log entries and remaining log entries.

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `opts` (keyword): Optional parameters

### Returns

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

# `a_pi_request_log_get_request_logs`

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

Gets the API request logging log files.
Retrieves a list of log entries as a JSON or XML object or as a zip file containing the entries.  If the Accept header is set to `application/zip`, the response is a zip file containing individual text files, each representing an API request.  If the Accept header is set to `application/json` or `application/xml`, the response returns list of log entries in either JSON or XML. An example JSON response body is shown below. 

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `opts` (keyword): Optional parameters
  - `:encoding` (String.t): Reserved for Docusign.

### Returns

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

# `a_pi_request_log_put_request_log_settings`

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

Enables or disables API request logging for troubleshooting.
Enables or disables API request logging for troubleshooting.  When enabled (`apiRequestLogging` is **true**), REST API requests and responses for the user are added to a log. A log can have up to 50 requests/responses and the current number of log entries can be determined by getting the settings. Logging is automatically disabled when the log limit of 50 is reached.  You can call [Diagnostics: getRequestLog](/docs/esign-rest-api/reference/diagnostics/requestlogs/get/) or [Diagnostics: listRequestLogs](/docs/esign-rest-api/reference/diagnostics/requestlogs/list/) to download the log files (individually or as a zip file). Call [Diagnostics: deleteRequestLogs](/docs/esign-rest-api/reference/diagnostics/requestlogs/delete/) to clear the log by deleting current entries.  Private information, such as passwords and integration key information, which is normally located in the call header is omitted from the request/response log.  API request logging only captures requests from the authenticated user. Any call that does not authenticate the user and resolve a userId is not logged. 

### Parameters

- `connection` (DocuSign.Connection): Connection to server
- `opts` (keyword): Optional parameters
  - `:body` (DiagnosticsSettingsInformation): 

### Returns

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

---

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