---
title: "Vault"
description: "Secure and manage your data effectively with our robust Vault system, ideal for storing backups, replications, and exports. (Gitana 4.0)"
product: "Gitana"
version: "4.0"
url: "/documentation/gitana/4.0/reference/types/vault"
---

# <a id="top"></a>Vault

A Data Store

1.  [Platform](/documentation/gitana/4.0/reference/types/platform.md)
2.  [Vault](/documentation/gitana/4.0/reference/types/vault.md)

##### Table of Contents

- [Overview](#top "Overview")
- [Parent](#parent "Parent")
- [Objects](#objects "Objects")
- [Properties](#properties "Properties")
- [Methods](#methods "Methods")
- [Schema](#schema "Schema")

A vault is a data store where you store backups, replications and exports of your data. A vault contains archives which are packages of your data.

> **Note:** Drop in one of our language drivers to accelerate your development.  
> Here are links to some of our popular [Cookbooks](/documentation/gitana/4.0/developers/cookbooks/overview.md) to help you get started!
> 
> - [C#](/documentation/gitana/4.0/developers/cookbooks/csharp.md)
> - [Go](/documentation/gitana/4.0/developers/cookbooks/go.md)
> - [Java](/documentation/gitana/4.0/developers/cookbooks/java.md)
> - [JavaScript](/documentation/gitana/4.0/developers/cookbooks/javascript2.md)
> - [PHP](/documentation/gitana/4.0/developers/cookbooks/php.md)
> - [Python](/documentation/gitana/4.0/developers/cookbooks/python.md)
> - [Ruby](/documentation/gitana/4.0/developers/cookbooks/ruby.md)

## <a id="parent"></a>Parent

This Vault is contained within a [Platform](/documentation/gitana/4.0/reference/types/platform.md).

## <a id="objects"></a>Objects

This Vault contains the following objects:

- [Archive](/documentation/gitana/4.0/reference/types/archive.md)

## <a id="properties"></a>Properties

The following properties are available:

| Property | Type | Default | Read-Only | Description |
| --- | --- | --- | --- | --- |
| \_doc | string |  | No | The primary ID |
| \_system | object |  | No | Metadata maintained by the system |
| binaryStorageProviderType | string |  | No | The type identifier for the binary storage provider that backs this data store |
| datastoreId | string |  | Yes | The ID of the data store |
| datastoreTypeId | string |  | Yes | The data store type identifier |
| description | string |  | No | A description of the data store |
| enableAuthorities | boolean | true | No | Whether to check access control rights for principals against this data store |
| locked | boolean |  | Yes | Whether the data store is presently locked. If the data store is locked, then write operations against it will block. |
| lockedBy | string |  | No | The principal that holds the lock (if the data store is locked) |
| maxsize | number |  | No | The maximum allowed allocation size (on disk) of the data store in bytes. If this size of the data store exceeds this value, write operations will fail. A value of -1 indicates that there is no upper limit. |
| objectcount | number |  | No | The number of objects stored within the data store. This includes system-maintained objects. This value is updated periodically and may not be precise at the moment it is read. |
| size | number |  | Yes | The last-recorded allocation size (on disk) of the data store in bytes. This value is updated periodically and may not be precise at the moment it is read. |
| statisticsDate | object |  | No | Records the time when statistics were last run against the data store. Statistics are run periodically to calculate the data store size and object allocations. |
| statisticsDirty | boolean |  | Yes | Whether writes have occurred against this data store since the last time statistics were run. This signals to the system that statistics need to be collected at the next available opportunity. |
| title | string |  | No | The title of the data store |

## <a id="methods"></a>Methods

The following methods are available:

- [Add Team Member](#post-vaults-vaultid-teams-teamkey-members-add "Add Team Member")
- [Check Membership](#post-vaults-vaultid-teams-teamkey-members-check "Check Membership")
- [Check Permission](#post-vaults-vaultid-permissions-permissionid-check "Check Permission")
- [Check Single Authority](#post-vaults-vaultid-authorities-authorityid-check "Check Single Authority")
- [Check multiple Authorities](#post-vaults-authorities-check "Check multiple Authorities")
- [Check multiple Permissions](#post-vaults-permissions-check "Check multiple Permissions")
- [Create Role](#post-webhosts-webhostid-roles "Create Role")
- [Create Role](#post-vaults-vaultid-roles "Create Role")
- [Create Stat](#post-vaults-vaultid-stats "Create Stat")
- [Create Vault](#post-vaults "Create Vault")
- [Create a Team](#post-vaults-vaultid-teams "Create a Team")
- [Delete File](#delete-vaults-vaultid-files-filename "Delete File")
- [Delete Role](#post-vaults-vaultid-roles-rolekeyorid-delete "Delete Role")
- [Delete Role](#delete-vaults-vaultid-roles-rolekeyorid "Delete Role")
- [Delete Role](#delete-webhosts-webhostid-roles-rolekeyorid "Delete Role")
- [Delete Role](#post-webhosts-webhostid-roles-rolekeyorid-delete "Delete Role")
- [Delete Vault](#delete-vaults-vaultid "Delete Vault")
- [Delete Vault](#post-vaults-vaultid-delete "Delete Vault")
- [Deletes a Team](#delete-vaults-vaultid-teams-teamkey "Deletes a Team")
- [Download File](#get-vaults-vaultid-files-filename "Download File")
- [Export Vault](#post-vaults-vaultid-export "Export Vault")
- [Get Team](#get-vaults-vaultid-teams-teamkey "Get Team")
- [Grant Authority](#post-vaults-vaultid-authorities-authorityid-grant "Grant Authority")
- [Grant Authority to Team](#post-vaults-vaultid-teams-teamkey-authorities-authorityid-grant "Grant Authority to Team")
- [Import Vault](#post-vaults-vaultid-import "Import Vault")
- [List Roles](#get-webhosts-webhostid-roles "List Roles")
- [List Roles](#get-vaults-vaultid-roles "List Roles")
- [List Team Authorities](#get-vaults-vaultid-teams-teamkey-authorities "List Team Authorities")
- [List Teams](#get-vaults-vaultid-teams "List Teams")
- [Lists Team Members](#get-vaults-vaultid-teams-teamkey-members "Lists Team Members")
- [Lists Vault](#get-vaults "Lists Vault")
- [Lock Vault](#post-vaults-vaultid-lock "Lock Vault")
- [Queries for Vault](#post-vaults-query "Queries for Vault")
- [Read ACL](#get-vaults-vaultid-acl-list "Read ACL")
- [Read ACL for Principal](#get-vaults-vaultid-acl "Read ACL for Principal")
- [Read Authorities Report](#post-vaults-vaultid-authorities "Read Authorities Report")
- [Read Role](#get-vaults-vaultid-roles-rolekeyorid "Read Role")
- [Read Role](#get-webhosts-webhostid-roles-rolekeyorid "Read Role")
- [Read Vault](#get-vaults-vaultid "Read Vault")
- [Remove Team Member](#post-vaults-vaultid-teams-teamkey-members-remove "Remove Team Member")
- [Revoke Authority](#post-vaults-vaultid-authorities-authorityid-revoke "Revoke Authority")
- [Revoke Authority from Team](#post-vaults-vaultid-teams-teamkey-authorities-authorityid-revoke "Revoke Authority from Team")
- [Unlock Vault](#post-vaults-vaultid-unlock "Unlock Vault")
- [Update Role](#put-vaults-vaultid-roles-rolekeyorid "Update Role")
- [Update Role](#put-webhosts-webhostid-roles-rolekeyorid "Update Role")
- [Update Role](#post-webhosts-webhostid-roles-rolekeyorid-update "Update Role")
- [Update Role](#post-vaults-vaultid-roles-rolekeyorid-update "Update Role")
- [Update Team](#post-vaults-vaultid-teams-teamkey "Update Team")
- [Update Vault](#put-vaults-vaultid "Update Vault")
- [Update Vault](#post-vaults-vaultid-update "Update Vault")
- [Upload File](#post-vaults-vaultid-files-filename "Upload File")

### <a id="post-vaults-vaultid-teams-teamkey-members-add"></a>Add Team Member

Adds a principal as a member of a Team against the given vault

POST /vaults/{vaultId}/teams/{teamKey}/members/add

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
```

### <a id="post-vaults-vaultid-teams-teamkey-members-check"></a>Check Membership

Checks whether a principal belongs to a Team for the given vault

POST /vaults/{vaultId}/teams/{teamKey}/members/check

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Belongs",
  "extends": "status",
  "properties": {
    "belongs": {
      "type": "boolean"
    },
    "ok": null
  }
}
```

### <a id="post-vaults-vaultid-permissions-permissionid-check"></a>Check Permission

Checks whether one or more authorities against the specified vault are granted for a given set of users

POST /vaults/{vaultId}/permissions/{permissionId}/check

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| permissionId | true | string | The ID of the permission |
| id | true | string |  |

#### Response

```json
{
  "$ref": "#/components/schemas/checkPermission"
}
```

### <a id="post-vaults-vaultid-authorities-authorityid-check"></a>Check Single Authority

Checks whether a single authority is granted against the specified vault for the given user

POST /vaults/{vaultId}/authorities/{authorityId}/check

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Check",
  "extends": "status",
  "properties": {
    "check": {
      "type": "boolean"
    },
    "ok": null
  }
}
```

### <a id="post-vaults-authorities-check"></a>Check multiple Authorities

Checks whether one or more authorities against the specified vault are granted for a given set of users

POST /vaults/authorities/check

#### Parameters

This function has no parameters.

#### Response

```json
{
  "type": "object",
  "description": "Check Multiple Authorities Out",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "permissionedId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "authorityId": {
            "type": "string"
          },
          "result": {
            "type": "boolean"
          }
        }
      }
    }
  }
}
```

### <a id="post-vaults-permissions-check"></a>Check multiple Permissions

Checks whether one or more permissions against the specified vault are granted for a given set of users

POST /vaults/permissions/check

#### Parameters

This function has no parameters.

#### Response

```json
{
  "type": "object",
  "description": "Check Multiple Permissions Out",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "permissionedId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "permissionId": {
            "type": "string"
          },
          "result": {
            "type": "boolean"
          }
        }
      }
    }
  }
}
```

### <a id="post-webhosts-webhostid-roles"></a>Create Role

Creates a role for a webhost

POST /webhosts/{webhostId}/roles

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-roles"></a>Create Role

Creates a role for a vault

POST /vaults/{vaultId}/roles

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-stats"></a>Create Stat

POST /vaults/{vaultId}/stats

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

### <a id="post-vaults"></a>Create Vault

Creates a new Vault

POST /vaults

#### Parameters

This function has no parameters.

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-teams"></a>Create a Team

Creates a Team against the given vault

POST /vaults/{vaultId}/teams

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "extends": "document",
  "description": "Team",
  "properties": {
    "teamableObjectTypeId": {
      "type": "string",
      "readonly": true
    },
    "teamableObjectId": {
      "type": "string",
      "readonly": true
    },
    "key": {
      "type": "string"
    },
    "groupId": {
      "type": "string"
    },
    "groupDomainId": {
      "type": "string"
    },
    "roleKeys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "_doc": null,
    "_system": null
  }
}
```

### <a id="delete-vaults-vaultid-files-filename"></a>Delete File

Deletes a binary file from the vault

DELETE /vaults/{vaultId}/files/{filename}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| filename | true | string | The filename that identifies the binary file |

### <a id="post-vaults-vaultid-roles-rolekeyorid-delete"></a>Delete Role

Deletes a role for a vault

POST /vaults/{vaultId}/roles/{roleKeyOrId}/delete

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| roleKeyOrId | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="delete-vaults-vaultid-roles-rolekeyorid"></a>Delete Role

Deletes a role for a vault

DELETE /vaults/{vaultId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| roleKeyOrId | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="delete-webhosts-webhostid-roles-rolekeyorid"></a>Delete Role

Deletes a role for a webhost

DELETE /webhosts/{webhostId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| roleKeyOrId | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-webhosts-webhostid-roles-rolekeyorid-delete"></a>Delete Role

Deletes a role for a webhost

POST /webhosts/{webhostId}/roles/{roleKeyOrId}/delete

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| roleKeyOrId | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="delete-vaults-vaultid"></a>Delete Vault

Deletes an existing Vault

DELETE /vaults/{vaultId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-delete"></a>Delete Vault

Deletes an existing Vault

POST /vaults/{vaultId}/delete

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="delete-vaults-vaultid-teams-teamkey"></a>Deletes a Team

Deletes a Team against the given vault

DELETE /vaults/{vaultId}/teams/{teamKey}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="get-vaults-vaultid-files-filename"></a>Download File

Downloads a binary file from the vault

GET /vaults/{vaultId}/files/{filename}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| filename | true | string | The filename that identifies the binary file |

### <a id="post-vaults-vaultid-export"></a>Export Vault

Starts an export job for this resource

POST /vaults/{vaultId}/export

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| groupId | false | string | The Group ID to be assigned to the exported archive |
| artifactId | false | string | The Artifact ID to be assigned to the exported archive |
| versionId | false | string | The Version ID to be assigned to the exported archive |
| vaultId | false | string | The ID of the vault where the exported archive should be saved |
| schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |

#### Response

```json
{
  "type": "object",
  "description": "Export Configuration",
  "properties": {
    "startDate": {
      "type": "object",
      "description": "Only include objects whose modification date is after this time (epoch millis). This is used for partial or rolling exports."
    },
    "endDate": {
      "type": "object",
      "description": "Only include objects whose modification date is before this time (epoch millis). This is used for partial or rolling exports."
    },
    "startChangeset": {
      "type": "string",
      "description": "Only include data that is relevant to changesets at or beyond the specified changeset."
    },
    "endChangeset": {
      "type": "string",
      "description": "Only include data that is relevant to changesets at or before the specified changeset."
    },
    "includeACLs": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include ACLs during export."
    },
    "includeTeams": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Teams during export."
    },
    "includeActivities": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Activities during export."
    },
    "includeBinaries": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Binaries for data stores during export."
    },
    "includeAttachments": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Attachments for Attachables during export."
    },
    "artifactDependencies": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "artifactIncludes": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "forceIncludes": {
      "type": "boolean"
    }
  }
}
```

### <a id="get-vaults-vaultid-teams-teamkey"></a>Get Team

Retrieves a Team against the given vault

GET /vaults/{vaultId}/teams/{teamKey}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |

#### Response

```json
{
  "type": "object",
  "extends": "document",
  "description": "Team",
  "properties": {
    "teamableObjectTypeId": {
      "type": "string",
      "readonly": true
    },
    "teamableObjectId": {
      "type": "string",
      "readonly": true
    },
    "key": {
      "type": "string"
    },
    "groupId": {
      "type": "string"
    },
    "groupDomainId": {
      "type": "string"
    },
    "roleKeys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "_doc": null,
    "_system": null
  }
}
```

### <a id="post-vaults-vaultid-authorities-authorityid-grant"></a>Grant Authority

Grants an authority against the specified vault to a given user

POST /vaults/{vaultId}/authorities/{authorityId}/grant

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-teams-teamkey-authorities-authorityid-grant"></a>Grant Authority to Team

Assigns an Authority to a Team for the given vault

POST /vaults/{vaultId}/teams/{teamKey}/authorities/{authorityId}/grant

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |
| authorityId | true | string | The ID or authority key for the authority |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-import"></a>Import Vault

Starts an import job for this resource

POST /vaults/{vaultId}/import

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| groupId | false | string | The Group ID to be assigned to the exported archive |
| artifactId | false | string | The Artifact ID to be assigned to the exported archive |
| versionId | false | string | The Version ID to be assigned to the exported archive |
| vaultId | false | string | The ID of the vault where the exported archive should be saved |
| schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |

#### Response

```json
{
  "type": "object",
  "description": "Import Configuration",
  "properties": {
    "includeACLs": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include ACLs during import."
    },
    "includeTeams": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Teams during import."
    },
    "includeActivities": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Activities during import."
    },
    "includeBinaries": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Binaries for data stores during import."
    },
    "includeAttachments": {
      "type": "boolean",
      "default": true,
      "description": "Whether to include Attachments for Attachables during import."
    },
    "strategy": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": "CLONE",
      "description": "Either CLONE or COPY_EVERYTHING. Use CLONE to keep the same IDs on import. Use COPY_EVERYTHING to generate all new IDs for all entries on every import."
    },
    "substitutions": {
      "type": "string"
    }
  }
}
```

### <a id="get-webhosts-webhostid-roles"></a>List Roles

Lists the roles for a webhost

GET /webhosts/{webhostId}/roles

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| inherited | false | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap"
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-roles"></a>List Roles

Lists the roles for a vault

GET /vaults/{vaultId}/roles

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| inherited | false | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap"
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-teams-teamkey-authorities"></a>List Team Authorities

Retrieves a list of the authorities defined to be granted by a Team

GET /vaults/{vaultId}/teams/{teamKey}/authorities

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |

#### Response

```json
{
  "type": "object",
  "description": "List of Authorities",
  "properties": {
    "authorities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-teams"></a>List Teams

Lists the Teams against the given vault

GET /vaults/{vaultId}/teams

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-teams-teamkey-members"></a>Lists Team Members

Lists the members of a Team against the given vault

GET /vaults/{vaultId}/teams/{teamKey}/members

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
```

### <a id="get-vaults"></a>Lists Vault

Retrieves a list of Vault instances

GET /vaults

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |

This method supports pagination.

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap_vault"
      }
    }
  }
}
```

### <a id="post-vaults-vaultid-lock"></a>Lock Vault

POST /vaults/{vaultId}/lock

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

### <a id="post-vaults-query"></a>Queries for Vault

Queries for instances of type Vault

POST /vaults/query

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |

This method supports pagination.

#### Response

```json
{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap_vault"
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-acl-list"></a>Read ACL

Read the Access Control List for the specified vault

GET /vaults/{vaultId}/acl/list

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Result Map of ACL entries",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "_doc": {
            "type": "string",
            "title": "Principal ID"
          },
          "name": {
            "type": "string",
            "title": "Principal Name"
          },
          "type": {
            "type": "string",
            "title": "Principal Type"
          },
          "domainId": {
            "type": "string"
          },
          "domainQualifiedId": {
            "type": "string"
          },
          "domainQualifiedName": {
            "type": "string"
          },
          "principalId": {
            "type": "string",
            "title": "Principal ID"
          },
          "userEmail": {
            "type": "string"
          },
          "userFirstName": {
            "type": "string"
          },
          "userLastName": {
            "type": "string"
          },
          "authorities": {
            "type": "array",
            "title": "Authorities",
            "items": {
              "type": "string",
              "title": "Authority Key"
            }
          }
        }
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-acl"></a>Read ACL for Principal

Reads the ACL for a vault and specific actor

GET /vaults/{vaultId}/acl

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Result Map of Authority Keys",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Authority Key"
      }
    }
  }
}
```

### <a id="post-vaults-vaultid-authorities"></a>Read Authorities Report

Read the Authorities Report for the specified vault

POST /vaults/{vaultId}/authorities

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Authority Report",
  "properties": {
    "principalId": {
      "type": "object",
      "properties": {
        "id": {
          "type": "object",
          "properties": {
            "role-key": {
              "type": "string"
            },
            "principal": {
              "type": "string"
            },
            "permissioned": {
              "type": "string"
            },
            "inheritsFrom": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "principal": {
                  "type": "string"
                },
                "permissioned": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
```

### <a id="get-vaults-vaultid-roles-rolekeyorid"></a>Read Role

Reads a role for a vault

GET /vaults/{vaultId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| roleKeyOrId | true | string |  |
| inherited | false | string |  |

#### Response

```json
{
  "$ref": "#/components/schemas/"
}
```

### <a id="get-webhosts-webhostid-roles-rolekeyorid"></a>Read Role

Reads a role for a webhost

GET /webhosts/{webhostId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| roleKeyOrId | true | string |  |
| inherited | false | string |  |

#### Response

```json
{
  "$ref": "#/components/schemas/"
}
```

### <a id="get-vaults-vaultid"></a>Read Vault

Reads an instance of a Vault

GET /vaults/{vaultId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "extends": "datastore",
  "description": "Vault",
  "container": "platform",
  "properties": {
    "title": null,
    "description": null,
    "datastoreId": null,
    "datastoreTypeId": null,
    "enableAuthorities": null,
    "size": null,
    "maxsize": null,
    "objectcount": null,
    "locked": null,
    "lockedBy": null,
    "statisticsDate": null,
    "statisticsDirty": null,
    "binaryStorageProviderType": null,
    "_doc": null,
    "_system": null
  }
}
```

### <a id="post-vaults-vaultid-teams-teamkey-members-remove"></a>Remove Team Member

Remove a principal from a team's membership list

POST /vaults/{vaultId}/teams/{teamKey}/members/remove

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-authorities-authorityid-revoke"></a>Revoke Authority

Revokes an authority against the specified vault from a given user

POST /vaults/{vaultId}/authorities/{authorityId}/revoke

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |  |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-teams-teamkey-authorities-authorityid-revoke"></a>Revoke Authority from Team

Revokes an Authority from a Team for the given vault

POST /vaults/{vaultId}/teams/{teamKey}/authorities/{authorityId}/revoke

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |
| authorityId | true | string | The ID or authority key for the authority |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-unlock"></a>Unlock Vault

POST /vaults/{vaultId}/unlock

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

### <a id="put-vaults-vaultid-roles-rolekeyorid"></a>Update Role

Updates a role for a vault

PUT /vaults/{vaultId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| roleKeyOrId | true | string |  |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="put-webhosts-webhostid-roles-rolekeyorid"></a>Update Role

Updates a role for a webhost

PUT /webhosts/{webhostId}/roles/{roleKeyOrId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| roleKeyOrId | true | string |  |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-webhosts-webhostid-roles-rolekeyorid-update"></a>Update Role

Updates a role for a webhost

POST /webhosts/{webhostId}/roles/{roleKeyOrId}/update

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| webhostId | true | string | The ID of the web host |
| roleKeyOrId | true | string |  |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-roles-rolekeyorid-update"></a>Update Role

Updates a role for a vault

POST /vaults/{vaultId}/roles/{roleKeyOrId}/update

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| roleKeyOrId | true | string |  |
| HTTP Payload | true | string | HTTP Payload |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-teams-teamkey"></a>Update Team

POST /vaults/{vaultId}/teams/{teamKey}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| teamKey | true | string | The key identifier for the team |

### <a id="put-vaults-vaultid"></a>Update Vault

Updates an existing Vault

PUT /vaults/{vaultId}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-update"></a>Update Vault

Updates an existing Vault

POST /vaults/{vaultId}/update

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |

#### Response

```json
{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}
```

### <a id="post-vaults-vaultid-files-filename"></a>Upload File

Uploads a binary file to the vault. The request's content type header and stream are written into the binary identified by the filename.

POST /vaults/{vaultId}/files/{filename}

#### Parameters

| Name | Required | Type | Description |
| --- | --- | --- | --- |
| vaultId | true | string | The ID of the vault |
| filename | true | string | The filename that identifies the binary file |

## <a id="schema"></a>Schema

```json

{
  "type": "object",
  "extends": "datastore",
  "description": "Vault",
  "container": "platform",
  "properties": {
    "title": null,
    "description": null,
    "datastoreId": null,
    "datastoreTypeId": null,
    "enableAuthorities": null,
    "size": null,
    "maxsize": null,
    "objectcount": null,
    "locked": null,
    "lockedBy": null,
    "statisticsDate": null,
    "statisticsDirty": null,
    "binaryStorageProviderType": null,
    "_doc": null,
    "_system": null
  },
  "id": "vault"
}
```
