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

API calls for all endpoints tagged `Workspaces`.

# `workspace_delete_workspace`

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

Delete Workspace
Deletes an existing workspace (logically).

### Parameters

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

### Returns

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

# `workspace_get_workspace`

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

Get Workspace
Retrieves properties about a workspace given a unique workspaceId. 

### Parameters

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

### Returns

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

# `workspace_get_workspaces`

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

List Workspaces
Gets information about the Workspaces that have been created.

### Parameters

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

### Returns

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

# `workspace_post_workspace`

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

Create a Workspace
This method creates a new workspace.

### Parameters

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

### Returns

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

# `workspace_put_workspace`

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

Update Workspace
Updates information about a specific workspace.

### Parameters

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

### Returns

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

---

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