KosmoKrator

productivity

Google Vault Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Google Vault KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.google_vault.*. Use lua_read_doc("integrations.google-vault") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic Google Vault workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.google_vault.operations_list({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("google-vault"))' --json
kosmo integrations:lua --eval 'print(docs.read("google-vault.operations_list"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local google_vault = app.integrations.google_vault
local result = google_vault.operations_list({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.google_vault, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.google_vault.default.* or app.integrations.google_vault.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Google Vault, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Google Vault

Google Vault tools are exposed under app.integrations.google_vault. This package is generated from Google’s official Vault v1 Discovery document and exposes 33 REST methods.

Use it for compliance and eDiscovery workflows: matters, permissions, account counts, holds, held accounts, saved queries, exports, and long-running operations.

Each method-specific tool accepts Discovery path parameters as top-level arguments, known query parameters as top-level shortcuts or inside query, and request resources inside body. Resource path parameters preserve /, so pass full operation names like operations/example when using operation tools.

Examples

local matters = app.integrations.google_vault.google_vault_matters_list({
  pageSize = 10,
  view = "BASIC"
})

local matter = app.integrations.google_vault.google_vault_matters_create({
  body = {
    name = "Example matter",
    description = "Created by an agent"
  }
})

local exports = app.integrations.google_vault.google_vault_matters_exports_list({
  matterId = "matter-123",
  pageSize = 10
})

Returned data is the parsed JSON response from the Vault API. Empty successful responses return { success = true, status = <http_status> }.

Vault access is privilege-gated. The OAuth token must have Vault scopes, and the account must have the required Vault privileges and access to the target matter, hold, export, or operation.

Raw agent markdown
# Google Vault

Google Vault tools are exposed under `app.integrations.google_vault`. This package is generated from Google's official Vault v1 Discovery document and exposes 33 REST methods.

Use it for compliance and eDiscovery workflows: matters, permissions, account counts, holds, held accounts, saved queries, exports, and long-running operations.

Each method-specific tool accepts Discovery path parameters as top-level arguments, known query parameters as top-level shortcuts or inside `query`, and request resources inside `body`. Resource path parameters preserve `/`, so pass full operation names like `operations/example` when using operation tools.

## Examples

```lua
local matters = app.integrations.google_vault.google_vault_matters_list({
  pageSize = 10,
  view = "BASIC"
})

local matter = app.integrations.google_vault.google_vault_matters_create({
  body = {
    name = "Example matter",
    description = "Created by an agent"
  }
})

local exports = app.integrations.google_vault.google_vault_matters_exports_list({
  matterId = "matter-123",
  pageSize = 10
})
```

Returned data is the parsed JSON response from the Vault API. Empty successful responses return `{ success = true, status = <http_status> }`.

Vault access is privilege-gated. The OAuth token must have Vault scopes, and the account must have the required Vault privileges and access to the target matter, hold, export, or operation.
Metadata-derived Lua example
local result = app.integrations.google_vault.operations_list({})
print(result)

Functions

operations_list Read

Operations List (GET /v1/{+name}).

Lua path
app.integrations.google_vault.operations_list
Full name
google-vault.google_vault_operations_list
ParameterTypeRequiredDescription
No parameters.
operations_cancel Write

Operations Cancel (POST /v1/{+name}:cancel).

Lua path
app.integrations.google_vault.operations_cancel
Full name
google-vault.google_vault_operations_cancel
ParameterTypeRequiredDescription
No parameters.
operations_get Read

Operations Get (GET /v1/{+name}).

Lua path
app.integrations.google_vault.operations_get
Full name
google-vault.google_vault_operations_get
ParameterTypeRequiredDescription
No parameters.
operations_delete Write

Operations Delete (DELETE /v1/{+name}).

Lua path
app.integrations.google_vault.operations_delete
Full name
google-vault.google_vault_operations_delete
ParameterTypeRequiredDescription
No parameters.
matters_get Read

Matters Get (GET /v1/matters/{matterId}).

Lua path
app.integrations.google_vault.matters_get
Full name
google-vault.google_vault_matters_get
ParameterTypeRequiredDescription
No parameters.
matters_remove_permissions Write

Matters Remove Permissions (POST /v1/matters/{matterId}:removePermissions).

Lua path
app.integrations.google_vault.matters_remove_permissions
Full name
google-vault.google_vault_matters_remove_permissions
ParameterTypeRequiredDescription
No parameters.
matters_add_permissions Write

Matters Add Permissions (POST /v1/matters/{matterId}:addPermissions).

Lua path
app.integrations.google_vault.matters_add_permissions
Full name
google-vault.google_vault_matters_add_permissions
ParameterTypeRequiredDescription
No parameters.
matters_count Write

Matters Count (POST /v1/matters/{matterId}:count).

Lua path
app.integrations.google_vault.matters_count
Full name
google-vault.google_vault_matters_count
ParameterTypeRequiredDescription
No parameters.
matters_create Write

Matters Create (POST /v1/matters).

Lua path
app.integrations.google_vault.matters_create
Full name
google-vault.google_vault_matters_create
ParameterTypeRequiredDescription
No parameters.
matters_update Write

Matters Update (PUT /v1/matters/{matterId}).

Lua path
app.integrations.google_vault.matters_update
Full name
google-vault.google_vault_matters_update
ParameterTypeRequiredDescription
No parameters.
matters_list Read

Matters List (GET /v1/matters).

Lua path
app.integrations.google_vault.matters_list
Full name
google-vault.google_vault_matters_list
ParameterTypeRequiredDescription
No parameters.
matters_reopen Write

Matters Reopen (POST /v1/matters/{matterId}:reopen).

Lua path
app.integrations.google_vault.matters_reopen
Full name
google-vault.google_vault_matters_reopen
ParameterTypeRequiredDescription
No parameters.
matters_close Write

Matters Close (POST /v1/matters/{matterId}:close).

Lua path
app.integrations.google_vault.matters_close
Full name
google-vault.google_vault_matters_close
ParameterTypeRequiredDescription
No parameters.
matters_delete Write

Matters Delete (DELETE /v1/matters/{matterId}).

Lua path
app.integrations.google_vault.matters_delete
Full name
google-vault.google_vault_matters_delete
ParameterTypeRequiredDescription
No parameters.
matters_undelete Write

Matters Undelete (POST /v1/matters/{matterId}:undelete).

Lua path
app.integrations.google_vault.matters_undelete
Full name
google-vault.google_vault_matters_undelete
ParameterTypeRequiredDescription
No parameters.
matters_holds_add_held_accounts Write

Matters Holds Add Held Accounts (POST /v1/matters/{matterId}/holds/{holdId}:addHeldAccounts).

Lua path
app.integrations.google_vault.matters_holds_add_held_accounts
Full name
google-vault.google_vault_matters_holds_add_held_accounts
ParameterTypeRequiredDescription
No parameters.
matters_holds_remove_held_accounts Write

Matters Holds Remove Held Accounts (POST /v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts).

Lua path
app.integrations.google_vault.matters_holds_remove_held_accounts
Full name
google-vault.google_vault_matters_holds_remove_held_accounts
ParameterTypeRequiredDescription
No parameters.
matters_holds_delete Write

Matters Holds Delete (DELETE /v1/matters/{matterId}/holds/{holdId}).

Lua path
app.integrations.google_vault.matters_holds_delete
Full name
google-vault.google_vault_matters_holds_delete
ParameterTypeRequiredDescription
No parameters.
matters_holds_get Read

Matters Holds Get (GET /v1/matters/{matterId}/holds/{holdId}).

Lua path
app.integrations.google_vault.matters_holds_get
Full name
google-vault.google_vault_matters_holds_get
ParameterTypeRequiredDescription
No parameters.
matters_holds_list Read

Matters Holds List (GET /v1/matters/{matterId}/holds).

Lua path
app.integrations.google_vault.matters_holds_list
Full name
google-vault.google_vault_matters_holds_list
ParameterTypeRequiredDescription
No parameters.
matters_holds_create Write

Matters Holds Create (POST /v1/matters/{matterId}/holds).

Lua path
app.integrations.google_vault.matters_holds_create
Full name
google-vault.google_vault_matters_holds_create
ParameterTypeRequiredDescription
No parameters.
matters_holds_update Write

Matters Holds Update (PUT /v1/matters/{matterId}/holds/{holdId}).

Lua path
app.integrations.google_vault.matters_holds_update
Full name
google-vault.google_vault_matters_holds_update
ParameterTypeRequiredDescription
No parameters.
matters_holds_accounts_list Read

Matters Holds Accounts List (GET /v1/matters/{matterId}/holds/{holdId}/accounts).

Lua path
app.integrations.google_vault.matters_holds_accounts_list
Full name
google-vault.google_vault_matters_holds_accounts_list
ParameterTypeRequiredDescription
No parameters.
matters_holds_accounts_create Write

Matters Holds Accounts Create (POST /v1/matters/{matterId}/holds/{holdId}/accounts).

Lua path
app.integrations.google_vault.matters_holds_accounts_create
Full name
google-vault.google_vault_matters_holds_accounts_create
ParameterTypeRequiredDescription
No parameters.
matters_holds_accounts_delete Write

Matters Holds Accounts Delete (DELETE /v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}).

Lua path
app.integrations.google_vault.matters_holds_accounts_delete
Full name
google-vault.google_vault_matters_holds_accounts_delete
ParameterTypeRequiredDescription
No parameters.
matters_saved_queries_create Write

Matters Saved Queries Create (POST /v1/matters/{matterId}/savedQueries).

Lua path
app.integrations.google_vault.matters_saved_queries_create
Full name
google-vault.google_vault_matters_saved_queries_create
ParameterTypeRequiredDescription
No parameters.
matters_saved_queries_delete Write

Matters Saved Queries Delete (DELETE /v1/matters/{matterId}/savedQueries/{savedQueryId}).

Lua path
app.integrations.google_vault.matters_saved_queries_delete
Full name
google-vault.google_vault_matters_saved_queries_delete
ParameterTypeRequiredDescription
No parameters.
matters_saved_queries_get Read

Matters Saved Queries Get (GET /v1/matters/{matterId}/savedQueries/{savedQueryId}).

Lua path
app.integrations.google_vault.matters_saved_queries_get
Full name
google-vault.google_vault_matters_saved_queries_get
ParameterTypeRequiredDescription
No parameters.
matters_saved_queries_list Read

Matters Saved Queries List (GET /v1/matters/{matterId}/savedQueries).

Lua path
app.integrations.google_vault.matters_saved_queries_list
Full name
google-vault.google_vault_matters_saved_queries_list
ParameterTypeRequiredDescription
No parameters.
matters_exports_create Write

Matters Exports Create (POST /v1/matters/{matterId}/exports).

Lua path
app.integrations.google_vault.matters_exports_create
Full name
google-vault.google_vault_matters_exports_create
ParameterTypeRequiredDescription
No parameters.
matters_exports_delete Write

Matters Exports Delete (DELETE /v1/matters/{matterId}/exports/{exportId}).

Lua path
app.integrations.google_vault.matters_exports_delete
Full name
google-vault.google_vault_matters_exports_delete
ParameterTypeRequiredDescription
No parameters.
matters_exports_get Read

Matters Exports Get (GET /v1/matters/{matterId}/exports/{exportId}).

Lua path
app.integrations.google_vault.matters_exports_get
Full name
google-vault.google_vault_matters_exports_get
ParameterTypeRequiredDescription
No parameters.
matters_exports_list Read

Matters Exports List (GET /v1/matters/{matterId}/exports).

Lua path
app.integrations.google_vault.matters_exports_list
Full name
google-vault.google_vault_matters_exports_list
ParameterTypeRequiredDescription
No parameters.