# Business vault

## Endpoints

### PATCH /businesses/{fp_bid}/vault
**Update a business's vault**

Updates data in a business's vault.

### POST /businesses/{fp_bid}/vault/validate
**Validate a vault data update**

Check if the provided data is valid before adding it to the vault. Returns an HTTP 200 if there are no validation errors, or HTTP 400 with context describing validation errors if any.

### POST /businesses/{fp_bid}/vault/decrypt
**Decrypt data from a business's vault**

Decrypts the specified list of Data Identifiers from the provided business's vault.

### GET /businesses/{fp_bid}/vault
**Check presence of data in a business's vault**

Retrieve information on which Data Identifiers are present in the business's vault.

### DELETE /businesses/{fp_bid}/vault
**Delete data from a business's vault**

Delete the provided Data Identifiers from the business's vault.

# Business vault

The Footprint business vault is structured as a key-value store. The keys may only be a set of pre-defined "Data Identifiers," though there are many wildcard Data Identifiers.

Using predefined Data Identifiers allows Footprint to automatically validate and clean certain strongly-typed data. For example, Footprint will always validate and guarantee that `business.tin` is a nine-digit number representing a US Taxpayer Identification Number.

If you would like to vault information under your own application-defined keys, you may use the `custom.*` Data Identifiers. These have no validation and can be any JSON value: string, number, list, or object.

You can find more information on the set of supported Data Identifiers and their validators [here](/articles/vault/fields).