diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 3bc2c8b..cc9d870 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -3,12 +3,8 @@ "owner": { "name": "Skyflow" }, + "description": "Skyflow MCP server plugins for Claude Code. Skills are published separately from the skyflow-skills marketplace.", "plugins": [ - { - "name": "skyflow-skills", - "source": "./skyflow-skills-plugin", - "description": "Skyflow skills for Claude Code: getting started, vault creation, REST API guidance, SDK migration, implementation planning, and SDK quickstarts." - }, { "name": "skyflow-developer-mcp", "source": "./skyflow-developer-mcp-plugin", @@ -19,5 +15,8 @@ "source": "./skyflow-runtime-mcp-plugin", "description": "Skyflow Runtime MCP server for Claude Code (optional)." } - ] + ], + "renames": { + "skyflow-skills": null + } } diff --git a/.github/scripts/package-skills.sh b/.github/scripts/package-skills.sh deleted file mode 100755 index 06a2ff7..0000000 --- a/.github/scripts/package-skills.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash -# -# Package each Skyflow skill directory into a portable zip. -# -# Each zip extracts to /SKILL.md so it can be dropped straight into -# ~/.claude/skills/ (or a project's .claude/skills/) or handed to any harness -# that understands the Agent Skills format. Repo-only cruft is excluded so the -# artifact is clean. -# -# Output: dist/.zip for every skill, plus dist/SHA256SUMS.txt. -set -euo pipefail - -SKILLS_DIR="skyflow-skills-plugin/skills" -OUT_DIR="dist" - -# Files that exist for repo/contributor purposes and don't belong in a -# portable, runtime-facing skill artifact. -EXCLUDES=( - '*/.DS_Store' - '*/CONTRIBUTING.md' - '*.tmp' - '*.log' -) - -if [[ ! -d "$SKILLS_DIR" ]]; then - echo "error: $SKILLS_DIR not found (run from repo root)" >&2 - exit 1 -fi - -rm -rf "$OUT_DIR" -mkdir -p "$OUT_DIR" -OUT_ABS="$(cd "$OUT_DIR" && pwd)" - -shopt -s nullglob -count=0 -for skill_path in "$SKILLS_DIR"/*/; do - skill="$(basename "$skill_path")" - echo "Packaging $skill ..." - # Zip from inside SKILLS_DIR so archive paths are /... (no leading dirs). - ( cd "$SKILLS_DIR" && zip -r -q "$OUT_ABS/$skill.zip" "$skill" -x "${EXCLUDES[@]}" ) - count=$((count + 1)) -done - -if [[ "$count" -eq 0 ]]; then - echo "error: no skills found under $SKILLS_DIR" >&2 - exit 1 -fi - -# Integrity manifest (paths relative to dist/). -( cd "$OUT_DIR" && sha256sum ./*.zip > SHA256SUMS.txt ) - -echo -echo "Packaged $count skill(s) into $OUT_DIR/:" -ls -1 "$OUT_DIR" diff --git a/.github/scripts/validate-skills.py b/.github/scripts/validate-skills.py deleted file mode 100644 index d15eb5b..0000000 --- a/.github/scripts/validate-skills.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python3 -"""Validate Skyflow skill directories before packaging. - -Each skill under skyflow-skills-plugin/skills// must contain a SKILL.md -with YAML frontmatter whose `name` matches the directory and whose -`description` is present. Rules mirror the Agent Skills spec so that every -published zip is a valid, portable skill. - -Exit code 0 = all valid, 1 = one or more problems (details printed). -""" - -from __future__ import annotations - -import re -import sys -from pathlib import Path - -import yaml - -SKILLS_DIR = Path("skyflow-skills-plugin/skills") -FRONTMATTER_RE = re.compile(r"^---\r?\n(.*?)\r?\n---\r?\n", re.DOTALL) -NAME_RE = re.compile(r"^[a-z0-9]+(-[a-z0-9]+)*$") -NAME_MAX = 64 -DESC_MAX = 1024 - - -def parse_frontmatter(text: str) -> dict | None: - """Parse the leading --- fenced YAML block into a dict. - - Uses a full YAML parser so multi-line values (block scalars, quoted - strings spanning lines) are handled correctly. Returns None if there is - no frontmatter block or it is not a YAML mapping. - """ - m = FRONTMATTER_RE.match(text) - if not m: - return None - try: - data = yaml.safe_load(m.group(1)) - except yaml.YAMLError: - return None - return data if isinstance(data, dict) else None - - -def validate_skill(skill_dir: Path) -> list[str]: - errors: list[str] = [] - skill_md = skill_dir / "SKILL.md" - if not skill_md.is_file(): - return [f"{skill_dir.name}: missing SKILL.md"] - - fm = parse_frontmatter(skill_md.read_text(encoding="utf-8")) - if fm is None: - return [f"{skill_dir.name}: SKILL.md has no valid --- YAML frontmatter block"] - - name = fm.get("name") - if not name or not isinstance(name, str): - errors.append(f"{skill_dir.name}: frontmatter missing `name`") - else: - if name != skill_dir.name: - errors.append( - f"{skill_dir.name}: frontmatter name `{name}` does not match directory" - ) - if len(name) > NAME_MAX: - errors.append(f"{skill_dir.name}: name exceeds {NAME_MAX} chars") - if not NAME_RE.match(name): - errors.append( - f"{skill_dir.name}: name `{name}` must be lowercase letters, digits, and hyphens" - ) - - desc = fm.get("description") - if not desc or not isinstance(desc, str) or not desc.strip(): - errors.append(f"{skill_dir.name}: frontmatter missing `description`") - elif len(desc) > DESC_MAX: - errors.append( - f"{skill_dir.name}: description exceeds {DESC_MAX} chars ({len(desc)})" - ) - - return errors - - -def main() -> int: - if not SKILLS_DIR.is_dir(): - print(f"error: {SKILLS_DIR} not found (run from repo root)", file=sys.stderr) - return 1 - - skill_dirs = sorted(p for p in SKILLS_DIR.iterdir() if p.is_dir()) - if not skill_dirs: - print(f"error: no skills found under {SKILLS_DIR}", file=sys.stderr) - return 1 - - all_errors: list[str] = [] - for skill_dir in skill_dirs: - errs = validate_skill(skill_dir) - if errs: - all_errors.extend(errs) - else: - print(f" ok {skill_dir.name}") - - if all_errors: - print("\nValidation failed:", file=sys.stderr) - for e in all_errors: - print(f" - {e}", file=sys.stderr) - return 1 - - print(f"\nAll {len(skill_dirs)} skills valid.") - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/.github/workflows/package-skills.yml b/.github/workflows/package-skills.yml deleted file mode 100644 index 6159fb0..0000000 --- a/.github/workflows/package-skills.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: Package skills - -# Build portable, per-skill zips and publish them as GitHub Release assets. -# Source of truth stays in skyflow-skills-plugin/skills/; the zips are pure -# build output and never committed, so the plugin/marketplace install is -# unaffected. -# -# Triggers: -# - push of a version tag (v*) -> release for that tag -# - manual run (workflow_dispatch) -> release for the provided tag, -# defaulting to v - -on: - push: - tags: - - "v*" - workflow_dispatch: - inputs: - tag: - description: "Release tag (defaults to v)" - required: false - type: string - -permissions: - contents: write - -jobs: - package: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-python@v5 - with: - python-version: "3.x" - - - name: Install dependencies - run: pip install pyyaml - - - name: Validate skills - run: python3 .github/scripts/validate-skills.py - - - name: Package skills - run: bash .github/scripts/package-skills.sh - - - name: Resolve release tag - id: tag - run: | - if [ "${{ github.event_name }}" = "push" ]; then - tag="${GITHUB_REF_NAME}" - elif [ -n "${{ inputs.tag }}" ]; then - tag="${{ inputs.tag }}" - else - version="$(python3 -c 'import json;print(json.load(open("skyflow-skills-plugin/.claude-plugin/plugin.json"))["version"])')" - tag="v${version}" - fi - echo "tag=${tag}" >> "$GITHUB_OUTPUT" - echo "Release tag: ${tag}" - - - name: Publish release assets - env: - GH_TOKEN: ${{ github.token }} - TAG: ${{ steps.tag.outputs.tag }} - run: | - set -euo pipefail - assets=(dist/*.zip dist/SHA256SUMS.txt) - if gh release view "$TAG" >/dev/null 2>&1; then - echo "Release $TAG exists; uploading assets (clobber)." - gh release upload "$TAG" "${assets[@]}" --clobber - else - echo "Creating release $TAG." - gh release create "$TAG" "${assets[@]}" \ - --title "Skyflow skills $TAG" \ - --notes "Portable Skyflow skill packages. Download a skill's \`.zip\`, unzip it into \`~/.claude/skills/\` (or a project's \`.claude/skills/\`) or any Agent Skills-compatible harness. Verify downloads against \`SHA256SUMS.txt\`." - fi diff --git a/.github/workflows/validate-skills.yml b/.github/workflows/validate-skills.yml deleted file mode 100644 index ae73034..0000000 --- a/.github/workflows/validate-skills.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Validate skills - -# Lightweight check: every skill under skyflow-skills-plugin/skills/ must have a -# valid SKILL.md before it can be merged or packaged. No artifacts are produced. - -on: - pull_request: - paths: - - "skyflow-skills-plugin/skills/**" - - ".github/scripts/validate-skills.py" - - ".github/workflows/validate-skills.yml" - workflow_dispatch: - -permissions: - contents: read - -jobs: - validate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.x" - - name: Install dependencies - run: pip install pyyaml - - name: Validate skill frontmatter - run: python3 .github/scripts/validate-skills.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fbf211d..05d289d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,38 +1,21 @@ # Contributing to Claude for Skyflow -This guide is for developers who want to contribute to or extend this plugin. +This guide is for developers who want to contribute to or extend the Skyflow MCP plugins. + +> **Contributing a skill?** The Skyflow skills live in a separate repository, [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills). Open skill changes there, not here. ## Repository Structure -This repository is organized as a Claude Code plugin marketplace: +This repository is a Claude Code plugin marketplace that publishes the Skyflow MCP server plugins: ``` / ├── README.md # Marketplace overview ├── .claude-plugin/ -│ └── marketplace.json # Marketplace configuration (lists all plugins) -├── skyflow-skills-plugin/ # Skills plugin (no MCP servers) -│ ├── .claude-plugin/ -│ │ └── plugin.json # Plugin metadata -│ ├── README.md # Plugin docs -│ └── skills/ # Agent skills -│ ├── call-rest-apis/ -│ │ └── SKILL.md -│ ├── create-vault/ -│ │ └── SKILL.md -│ ├── get-started/ -│ │ └── SKILL.md -│ ├── migrate-sdk-v1-to-v2/ -│ │ └── SKILL.md -│ ├── plan-skyflow-implementation/ -│ │ └── SKILL.md -│ ├── quickstart-js-browser/ -│ │ └── SKILL.md -│ └── quickstart-node/ -│ └── SKILL.md +│ └── marketplace.json # Marketplace configuration (lists the MCP plugins) ├── skyflow-developer-mcp-plugin/ # Developer MCP server plugin │ ├── .claude-plugin/ -│ │ └── plugin.json +│ │ └── plugin.json # Plugin metadata │ ├── README.md # Plugin docs │ └── .mcp.json # Developer MCP server config └── skyflow-runtime-mcp-plugin/ # Runtime MCP server plugin (optional) @@ -42,30 +25,24 @@ This repository is organized as a Claude Code plugin marketplace: └── .mcp.json # Runtime MCP server config ``` -The skills and the MCP servers are split into separate plugins so each can be installed and versioned independently. +The skills and the MCP servers are maintained as separate marketplaces so each can be reviewed, authorized, and versioned independently. The skills-only marketplace is [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills). ## Marketplace Configuration The `.claude-plugin/marketplace.json` file at the root defines the marketplace and lists available plugins: -- `name`: The marketplace identifier +- `name`: The marketplace identifier (`skyflow-marketplace`) - `owner`: Marketplace owner information -- `plugins`: Array of plugin definitions with name, source path, and description. The marketplace currently lists three plugins: `skyflow-skills`, `skyflow-developer-mcp`, and `skyflow-runtime-mcp`. +- `plugins`: Array of plugin definitions with name, source path, and description. This marketplace lists two plugins: `skyflow-developer-mcp` and `skyflow-runtime-mcp`. +- `renames`: Migration map for plugins that were renamed or removed. `skyflow-skills` is mapped to `null` because it moved to the [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills) marketplace; existing users get an automatic "removed from this marketplace" notice and can reinstall it from the skills marketplace. A plugin's `name` must match the `name` in its own `.claude-plugin/plugin.json`, and `source` is a path relative to the repository root (e.g. `./skyflow-developer-mcp-plugin`). ## Plugin Structure -This marketplace uses two kinds of plugin: - -**Skills plugin (`skyflow-skills-plugin/`):** +Both plugins in this marketplace are MCP server plugins: - `.claude-plugin/plugin.json`: Plugin metadata (name, version, author, description) -- `skills/`: Agent skills, each in its own directory with a `SKILL.md` file - -**MCP server plugins (`skyflow-developer-mcp-plugin/`, `skyflow-runtime-mcp-plugin/`):** - -- `.claude-plugin/plugin.json`: Plugin metadata - `.mcp.json`: A single MCP server's configuration (endpoint and authentication) Each plugin also carries its own `README.md` at its root documenting installation and configuration; the root [README.md](README.md) is a marketplace overview that links to them. @@ -104,129 +81,14 @@ and `skyflow-runtime-mcp-plugin/.mcp.json`: The `${...}` placeholders are substituted from the user's shell environment when the server starts. -## Adding New Skills - -Skills are guided workflows that help Claude assist users with Skyflow tasks. They provide structured documentation, examples, and references that Claude can use when helping users implement features. - -### Skill Directory Structure - -Create a new directory in `skyflow-skills-plugin/skills/` with the following structure: - -``` -skyflow-skills-plugin/skills/your-skill-name/ -├── SKILL.md # Main skill file (required) -├── supporting-doc.md # Additional documentation (optional) -├── samples/ # Sample files (optional) -│ ├── example-1.json -│ └── example-2.json -└── schemas/ # Validation schemas (optional) - └── schema.json -``` - -### SKILL.md Format - -The main skill file must include a YAML frontmatter header followed by the skill content: - -```markdown ---- -name: your-skill-name -description: Brief description of what the skill helps users accomplish. ---- - -# Skill Title - -Overview paragraph explaining the purpose. - -## Prerequisites -## Step 1: First Step -## Step 2: Second Step -... -## Troubleshooting -## Related Documentation -``` - -### Best Practices - -#### Structure and Organization - -- Keep the skill name lowercase with hyphens (e.g., `create-vault`, `detect-pii`) -- Start with an Overview section explaining what the skill accomplishes -- Include a Prerequisites section with required accounts, tokens, and tools -- Use numbered steps for the main workflow -- End with Troubleshooting and Related Documentation sections - -#### API-First Approach - -- Prefer API examples over Studio UI instructions where possible -- Include complete, copy-pastable curl commands with environment variables -- Document required environment variables at the start -- Note explicitly when Studio UI is required for certain operations +## Adding a new MCP server plugin -#### Documentation Quality - -- Use tables for reference information (data types, tag values, templates) -- Include realistic examples showing complete configurations -- Link to supporting documentation files for detailed references -- Keep the main SKILL.md scannable; put comprehensive details in supporting docs - -#### Supporting Files - -- Place sample schemas/configs in a `samples/` or descriptive subdirectory -- Include validation schemas (JSONSchema) when applicable -- Use relative links to reference supporting files from SKILL.md -- Provide samples for common use cases (e.g., quickstart, payment, PII) - -#### Example Field Configuration - -When documenting configurable options, show a complete example: - -```json -{ - "name": "email", - "datatype": "DT_STRING", - "tags": [ - { "name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"] }, - { "name": "skyflow.options.default_dlp_policy", "values": ["MASK"] }, - { "name": "skyflow.validation.regular_exp", "values": ["^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"] } - ] -} -``` - -### Updating the README - -After creating a new skill, add it to the Skills section in the main [README.md](README.md): - -1. Add a subsection under `## Skills` with the skill name as a heading -2. Write a paragraph describing what the skill does and its key features -3. The table of contents will be updated automatically if using a markdown formatter - -## Packaging and Releasing Skills - -Skills are distributed two ways from a single source of truth (the directories under `skyflow-skills-plugin/skills/`): - -1. **Plugin** — installed via the marketplace (`/plugin install skyflow-skills@skyflow-marketplace`). -2. **Standalone zips** — one portable `.zip` per skill, published as GitHub Release assets for use in other projects or harnesses. - -The zips are build artifacts. They are **not** committed to the repo (`dist/` is gitignored), so the plugin/marketplace install is never affected. - -### CI workflows - -- **`.github/workflows/validate-skills.yml`** — runs on pull requests that touch skills. It checks every `SKILL.md` has valid frontmatter (`name` matches the directory, lowercase-hyphen, ≤64 chars; `description` present, ≤1024 chars). -- **`.github/workflows/package-skills.yml`** — runs on a pushed version tag (`v*`) or manual dispatch. It validates, zips each skill into `dist/.zip`, generates `dist/SHA256SUMS.txt`, and attaches everything to the matching GitHub Release. - -### Cutting a release - -1. Bump `version` in `skyflow-skills-plugin/.claude-plugin/plugin.json`. -2. Tag and push: `git tag v0.6.0 && git push origin v0.6.0`. The package workflow creates the release and uploads the zips automatically. - -Alternatively, trigger the **Package skills** workflow manually (Actions tab → *Run workflow*); it defaults the tag to `v`. - -### Building locally - -```sh -python3 .github/scripts/validate-skills.py # validate frontmatter -bash .github/scripts/package-skills.sh # build dist/*.zip + SHA256SUMS.txt -``` +1. Create a new `-plugin/` directory at the repository root. +2. Add `.claude-plugin/plugin.json` with the plugin metadata (`name`, `description`, `version`, `author`). +3. Add a root-level `.mcp.json` defining the single server (see above). Reference secrets through `${...}` environment placeholders — never commit tokens. +4. Add a `README.md` documenting installation and environment variables. +5. Add an entry to `.claude-plugin/marketplace.json` with the plugin `name`, `source` (e.g. `./-plugin`), and `description`. +6. Validate with `claude plugin validate .` (or `/plugin validate .` inside Claude Code). ## Learn More diff --git a/README.md b/README.md index 4227215..1f6f403 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,14 @@ > [!WARNING] > This is an experimental project in development. This project is not supported and offered under an MIT license. -A Claude Code plugin marketplace that enables Skyflow's data privacy and protection capabilities. The marketplace publishes three plugins so you can install only what you need — the skills work standalone, and the two MCP servers are independent, optional add-ons. +A Claude Code plugin marketplace that publishes Skyflow's **MCP server** plugins. The two MCP servers are independent, optional add-ons, so you can install only what you need. + +> **Looking for the Skyflow skills?** The `skyflow-skills` plugin moved to its own skills-only marketplace, [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills), so it can be reviewed and authorized independently of the MCP servers. See [Skyflow skills](#skyflow-skills) below. - [Claude Code Plugins for Skyflow](#claude-code-plugins-for-skyflow) - [Plugins](#plugins) - [Quick Start](#quick-start) - - [Standalone Skill Downloads](#standalone-skill-downloads) + - [Skyflow skills](#skyflow-skills) - [Environment Variables Reference](#environment-variables-reference) - [Upgrading](#upgrading) - [Learn More](#learn-more) @@ -18,11 +20,10 @@ A Claude Code plugin marketplace that enables Skyflow's data privacy and protect | Plugin | What it does | Environment variables | Docs | | ------ | ------------ | --------------------- | ---- | -| `skyflow-skills` | Guided Skyflow workflows (getting started, vault creation, REST API guidance, SDK migration, implementation planning, SDK quickstarts) | None | [README](skyflow-skills-plugin/README.md) | | `skyflow-developer-mcp` | Developer MCP server — access to Skyflow documentation, skills, and integration resources | `SKYFLOW_BEARER_TOKEN`, `SKYFLOW_ACCOUNT_ID` | [README](skyflow-developer-mcp-plugin/README.md) | | `skyflow-runtime-mcp` | Runtime MCP server (optional) — on-demand de-identification of PII in text via the Detect APIs | `SKYFLOW_BEARER_TOKEN`, `SKYFLOW_ACCOUNT_ID`, `SKYFLOW_VAULT_ID`, `SKYFLOW_VAULT_URL` | [README](skyflow-runtime-mcp-plugin/README.md) | -Most users want `skyflow-skills` plus `skyflow-developer-mcp`. Add `skyflow-runtime-mcp` only if you need on-demand de-identification. +Most users want `skyflow-developer-mcp`. Add `skyflow-runtime-mcp` only if you need on-demand de-identification. ## Quick Start @@ -42,12 +43,6 @@ Most users want `skyflow-skills` plus `skyflow-developer-mcp`. Add `skyflow-runt 3. Install the plugins you want. - Install the skills plugin: - - ```sh - /plugin install skyflow-skills@skyflow-marketplace - ``` - Install the Developer MCP plugin: ```sh @@ -60,28 +55,21 @@ Most users want `skyflow-skills` plus `skyflow-developer-mcp`. Add `skyflow-runt /plugin install skyflow-runtime-mcp@skyflow-marketplace ``` -4. Set up environment variables for the MCP plugins, then restart Claude Code. The `skyflow-skills` plugin needs none; the MCP plugins read the `SKYFLOW_*` variables described in their READMEs: +4. Set up environment variables for the MCP plugins, then restart Claude Code. The MCP plugins read the `SKYFLOW_*` variables described in their READMEs: - [skyflow-developer-mcp setup](skyflow-developer-mcp-plugin/README.md#set-up-environment-variables) - [skyflow-runtime-mcp setup](skyflow-runtime-mcp-plugin/README.md#set-up-environment-variables) -## Standalone Skill Downloads +## Skyflow skills -The `skyflow-skills` plugin is the easiest way to get the skills in Claude Code. If you instead want a single skill as a portable file — to drop into another project, share, or use with a different Agent Skills-compatible harness — each skill is also published as a standalone `.zip` on the [Releases page](https://github.com/SkyflowFoundry/claude/releases/latest). - -Each archive unzips to a self-contained skill folder (`/SKILL.md` plus its resources). To install one manually: +The Skyflow skills (getting started, vault creation, REST API guidance, SDK migration, implementation planning, SDK quickstarts) are published from a separate, skills-only marketplace. It ships no MCP servers and needs no credentials, so it can be reviewed and allowlisted on its own: ```sh -# Download the latest build of a skill (stable URL always points at the newest release) -curl -L -O https://github.com/SkyflowFoundry/claude/releases/latest/download/create-vault.zip - -# Unzip into your user skills directory (or a project's .claude/skills/) -unzip create-vault.zip -d ~/.claude/skills/ +/plugin marketplace add SkyflowFoundry/skyflow-skills +/plugin install skyflow-skills@skyflow-skills-marketplace ``` -Available skills: `call-rest-apis`, `create-vault`, `get-started`, `migrate-sdk-v1-to-v2`, `plan-skyflow-implementation`, `quickstart-js-browser`, `quickstart-node`. A `SHA256SUMS.txt` is attached to each release so you can verify downloads. - -> These zips are build artifacts generated from the same skills in this repo — the plugin and the standalone downloads are always in sync. +See [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills) for the skills, standalone skill downloads, and administrator allowlisting guidance. ## Environment Variables Reference @@ -98,12 +86,17 @@ These variables are read by the MCP plugins. See each plugin's README for step-b ## Upgrading -Earlier versions shipped a single `skyflow` plugin that bundled both the skills and the MCP servers. That plugin has been **renamed to `skyflow-skills`** and now contains skills only; the MCP servers moved to the separate `skyflow-developer-mcp` and `skyflow-runtime-mcp` plugins. If you installed the old `skyflow` plugin, uninstall it and install the new plugins: +Earlier versions shipped a single `skyflow` plugin that bundled both the skills and the MCP servers. The skills and MCP servers are now separate plugins: + +- The **skills** moved to their own marketplace, [`SkyflowFoundry/skyflow-skills`](https://github.com/SkyflowFoundry/skyflow-skills) (plugin `skyflow-skills`). +- The **MCP servers** stay in this marketplace as `skyflow-developer-mcp` and `skyflow-runtime-mcp`. + +If you previously installed `skyflow-skills` from this marketplace, Claude Code will notify you that it was removed here. Reinstall it from the skills marketplace, and (re)install the MCP plugins from this one: ```sh /plugin marketplace update skyflow-marketplace -/plugin uninstall skyflow@skyflow-marketplace -/plugin install skyflow-skills@skyflow-marketplace +/plugin marketplace add SkyflowFoundry/skyflow-skills +/plugin install skyflow-skills@skyflow-skills-marketplace /plugin install skyflow-developer-mcp@skyflow-marketplace /plugin install skyflow-runtime-mcp@skyflow-marketplace # optional ``` diff --git a/skyflow-skills-plugin/.claude-plugin/plugin.json b/skyflow-skills-plugin/.claude-plugin/plugin.json deleted file mode 100644 index 30d95c7..0000000 --- a/skyflow-skills-plugin/.claude-plugin/plugin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "skyflow-skills", - "description": "Skyflow skills for Claude Code: getting started, vault creation, REST API guidance, SDK migration, implementation planning, and SDK quickstarts.", - "version": "0.6.0", - "author": { - "name": "Joseph McCarron", - "email": "joe@skyflow.com", - "url": "https://github.com/jstjoe" - } -} diff --git a/skyflow-skills-plugin/README.md b/skyflow-skills-plugin/README.md deleted file mode 100644 index 8f48d12..0000000 --- a/skyflow-skills-plugin/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# Skyflow Skills - -Guided Skyflow workflows for Claude Code. This plugin packages **skills** — structured documentation, sample schemas, and API examples that Claude can reference when helping you implement Skyflow features. - -This plugin contains skills only. It does **not** connect to any MCP server and requires **no environment variables**. For live API access, pair it with the [`skyflow-developer-mcp`](../skyflow-developer-mcp-plugin/README.md) plugin. - -Part of the [Skyflow marketplace](../README.md). - -## Install - -Add the Skyflow marketplace: - -```sh -/plugin marketplace add SkyflowFoundry/claude -``` - -Install the plugin: - -```sh -/plugin install skyflow-skills@skyflow-marketplace -``` - -## Skills - -Skills are guided workflows that help Claude assist you with common Skyflow tasks. They provide structured documentation, sample schemas, and API examples that Claude can reference when helping you implement Skyflow features. - -Each skill is available as a slash command in the form `/skyflow-skills:`, and Claude will also invoke the relevant skill automatically when it fits what you're working on. - -| Skill | Slash command | -| ----- | ------------- | -| Get Started with Skyflow | `/skyflow-skills:get-started` | -| Plan Skyflow Implementation | `/skyflow-skills:plan-skyflow-implementation` | -| Create Vault | `/skyflow-skills:create-vault` | -| Call REST APIs | `/skyflow-skills:call-rest-apis` | -| Migrate SDK V1 to V2 | `/skyflow-skills:migrate-sdk-v1-to-v2` | -| Quickstart: Node.js | `/skyflow-skills:quickstart-node` | -| Quickstart: JS Browser (Elements) | `/skyflow-skills:quickstart-js-browser` | - -### Get Started with Skyflow - -**Slash command:** `/skyflow-skills:get-started` - -The **get-started** skill is the front door for a new Skyflow integration or POC. It orients new users and agents, then hands off to the right skill. It walks through four quick decisions — checking whether you have an account and whether it's a trial, sandbox, or production account (which drives the base URLs and how carefully to handle data), getting an API bearer token into your environment securely (never into the chat or logs), clarifying your goal (explore, plan, POC, or production-ready), and picking a working mode (educational/collaborative or get-it-done) — then routes you to the appropriate skill, API, SDK, and docs. Supporting references cover the account-type/base-URL matrix and secure credential setup. - -### Plan Skyflow Implementation - -**Slash command:** `/skyflow-skills:plan-skyflow-implementation` - -The **plan-skyflow-implementation** skill guides you through planning a complete Skyflow implementation using the Define-Build-Go Live framework. It helps you assess requirements (data inventory, schema design, environment setup), plan technical integration (authentication, SDK integration, access controls, testing), and prepare for production (security review, data migration, launch). The skill includes use case classification, phase-specific checklists, tokenization decision trees, implementation templates, and security review guidance. - -### Create Vault - -**Slash command:** `/skyflow-skills:create-vault` - -The **create-vault** skill guides you through creating Skyflow vaults programmatically using the Management API. It covers three approaches: using pre-built templates (Quickstart, Payment, PIIData, CustomerIdentity, Plaid), uploading a custom schema, or starting from scratch. The skill includes complete API examples for listing templates, creating vaults, and updating schemas, along with comprehensive documentation on configuring field tags for tokenization policies, redaction/DLP settings, validation rules, and compliance classifications (GDPR, CCPA, HIPAA, etc.). Sample vault schemas are provided for common use cases like payment processing, customer identity management, and PII storage. - -### Call REST APIs - -**Slash command:** `/skyflow-skills:call-rest-apis` - -The **call-rest-apis** skill provides expertise on Skyflow REST APIs including management APIs, data APIs, and detect APIs. It covers API endpoints, request/response formats, authentication methods, and code examples. The skill includes an API quick reference table, OpenAPI specifications for data, detect, and management APIs, authentication guidance for bearer tokens and service accounts, error handling patterns, rate limiting information, and links to SDK documentation. - -### Migrate SDK V1 to V2 - -**Slash command:** `/skyflow-skills:migrate-sdk-v1-to-v2` - -The **migrate-sdk-v1-to-v2** skill guides you through migrating from Skyflow V1 SDKs to V2 SDKs. It covers authentication changes, client initialization updates, and request/response structure changes with SDK-specific migration patterns for Node.js, Python, Java, and Go. The skill includes V1 identification patterns, breaking changes documentation, a migration workflow, before/after code examples for common patterns, a troubleshooting guide, and test strategies. - -### Quickstart: Node.js - -**Slash command:** `/skyflow-skills:quickstart-node` - -The **quickstart-node** skill sets up a new Node.js project with TypeScript, ES modules, and the `skyflow-node` SDK. It covers project initialization, TypeScript configuration, and package scripts, with optional steps for ESLint, Prettier, and CSpell. - -### Quickstart: JS Browser (Elements) - -**Slash command:** `/skyflow-skills:quickstart-js-browser` - -The **quickstart-js-browser** skill sets up a standalone front-end project using Vite and the `skyflow-js` SDK to collect sensitive data with Skyflow Elements (secure, iframe-based input fields). It covers project scaffolding, Vite/TypeScript configuration, mounting Collect elements, handling validation and collect events, production hardening (token endpoints, env modes), and a troubleshooting guide. - -## Learn More - -For complete documentation on Claude Code plugins, see the [Claude Code Plugins documentation](https://code.claude.com/docs/en/plugins). diff --git a/skyflow-skills-plugin/skills/call-rest-apis/CONTRIBUTING.md b/skyflow-skills-plugin/skills/call-rest-apis/CONTRIBUTING.md deleted file mode 100644 index 9b1e3be..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/CONTRIBUTING.md +++ /dev/null @@ -1,154 +0,0 @@ -# Contributing to API Documentation - -Step-by-step guide for adding new operations to the API guides. - -## 1. Identify the Source - -Locate the OpenAPI spec for the API you're documenting: - -| API Guide | OpenAPI Spec | -| ------------------- | ------------------------- | -| `management-api.md` | `management.openapi.json` | -| `vault-api.md` | `data.openapi.json` | -| `detect-api.md` | `detect.openapi.json` | - -## 2. Find the Operation - -Search the OpenAPI spec for the endpoint: - -```bash -# Find all available endpoints -grep -E '"\/v1\/[^"]+": \{' management.openapi.json - -# Find a specific operation's details -grep -A 50 '"operationId": "create-vault"' management.openapi.json -``` - -Key fields to extract: - -- **Path**: The endpoint URL (e.g., `/v1/vaults`) -- **Method**: GET, POST, PUT, DELETE -- **operationId**: The operation name for reference -- **parameters**: Query params, path params, headers -- **requestBody**: Schema reference for POST/PUT bodies -- **responses**: Expected response schemas - -## 3. Validate Before Documenting - -Before adding an operation, verify: - -- [ ] Endpoint path exists in the OpenAPI spec -- [ ] HTTP method matches -- [ ] All documented parameters exist in spec -- [ ] Parameter names match exactly (e.g., `filterOps.accountID` not `account_id`) -- [ ] Required parameters are marked -- [ ] Request body schema matches spec - -## 4. Document Structure - -Follow this format for each operation: - -````markdown -## OPERATION NAME - Brief Description - -**Endpoint**: `METHOD /v1/path/{param}` -**Operation**: `operationId` - -One-sentence description of what this operation does. - -```bash -curl -X METHOD "https://base.url/v1/path" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "field": "value" - }' -``` -```` - -**Response**: - -```json -{ - "field": "value" -} -``` - -**Parameters** (or **Query Parameters** / **Request Body**): - -- `param1`_: Description (required marked with _) -- `param2`: Description - ---- - -```` - -## 5. Information Checklist - -Include for each operation: - -| Element | Required | Notes | -|---------|----------|-------| -| Section header | Yes | `## VERB NAME - Description` | -| Endpoint | Yes | Full path with method | -| Operation | Yes | operationId from spec | -| Description | Yes | 1-2 sentences | -| curl example | Yes | Working example with variables | -| Response example | Yes | Representative JSON | -| Parameters | Yes | All params with types/descriptions | -| Enums/Options | If applicable | List valid values | - -## 6. Style Guidelines - -- Use `$VARIABLE` for user-specific values in curl examples -- Mark required parameters with `*` -- List enum values inline: `` `VALUE1`, `VALUE2`, `VALUE3` `` -- Keep descriptions concise -- Group related parameters logically -- Reference the OpenAPI spec for complete schemas - -## 7. Verify Your Addition - -After adding: - -1. Cross-check endpoint path against OpenAPI spec -2. Verify all parameter names match exactly -3. Confirm operationId is correct -4. Test curl example structure (syntax check) -5. Ensure response matches schema structure - -## Example: Adding a New Operation - -1. Find in spec: -```json -"/v1/vaults/{ID}": { - "get": { - "operationId": "get-vault", - "summary": "Get Vault", - ... - } -} -```` - -2. Document: - -````markdown -## GET VAULT - -**Endpoint**: `GET /v1/vaults/{ID}` -**Operation**: `get-vault` - -Returns details for a specific vault. - -```bash -curl -X GET "https://manage.skyflowapis.com/v1/vaults/$VAULT_ID" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" -``` -```` - -... - -``` - -``` diff --git a/skyflow-skills-plugin/skills/call-rest-apis/SKILL.md b/skyflow-skills-plugin/skills/call-rest-apis/SKILL.md deleted file mode 100644 index 20f4bc6..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/SKILL.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -name: call-rest-apis -description: Call the Skyflow REST APIs - including management APIs, data APIs, and detect APIs. ---- - -# Skyflow REST APIs - -You are an expert on Skyflow's REST APIs. Your role is to provide quick, accurate API reference information including endpoints, request/response formats, authentication, and code examples as well as debugging guidance. - -## Core Responsibilities - -1. **Provide API endpoints** - Show correct URLs and HTTP methods -2. **Generate request examples** - Curl commands and SDK code -3. **Explain parameters** - Required and optional parameters with descriptions -4. **Show response formats** - Expected responses and error formats -5. **Guide authentication** - Bearer tokens, service accounts, API keys - -## API Quick Reference - -| Operation | API | Method | Endpoint | Details | -| ---------------- | ---------- | ------ | ------------------------------------------ | -------------------------------------- | -| Get bearer token | Management | POST | `/v1/auth/sa/oauth/token` | [management-api.md](management-api.md) | -| Insert data | Data | POST | `/v1/vaults/{id}/{table}` | [data-api.md](data-api.md) | -| Get by ID | Data | GET | `/v1/vaults/{id}/{table}` | [data-api.md](data-api.md) | -| Detokenize | Data | POST | `/v1/vaults/{id}/detokenize` | [data-api.md](data-api.md) | -| Update | Data | PUT | `/v1/vaults/{id}/{table}/{skyflow_id}` | [data-api.md](data-api.md) | -| Delete | Data | DELETE | `/v1/vaults/{id}/{table}` | [data-api.md](data-api.md) | -| Query | Data | POST | `/v1/vaults/{id}/query` | [data-api.md](data-api.md) | -| Deidentify text | Detect | POST | `/v1/detect/deidentify/string` | [detect-api.md](detect-api.md) | -| Reidentify text | Detect | POST | `/v1/detect/reidentify/string` | [detect-api.md](detect-api.md) | -| Deidentify file | Detect | POST | `/v1/detect/deidentify/file` | [detect-api.md](detect-api.md) | -| Deidentify text (v2, beta) | Detect | POST | `/v2/detect/deidentify/string` | [detect-api.md](detect-api.md) | -| Deidentify file (v2, beta) | Detect | POST | `/v2/detect/deidentify/file` | [detect-api.md](detect-api.md) | -| Reidentify text (v2, beta) | Detect | POST | `/v2/detect/reidentify/string` | [detect-api.md](detect-api.md) | -| Reidentify file (v2, beta) | Detect | POST | `/v2/detect/reidentify/file` | [detect-api.md](detect-api.md) | -| Check guardrails (v2, beta) | Detect | POST | `/v2/detect/guardrails` | [detect-api.md](detect-api.md) | -| Get detect run (v2, beta) | Detect | GET | `/v2/detect/runs/{runId}` | [detect-api.md](detect-api.md) | -| List vaults | Management | GET | `/v1/vaults` | [management-api.md](management-api.md) | -| Update vault/schema | Management | PATCH | `/v1/vaults/{id}` | [management-api.md](management-api.md) | -| Create policy | Management | POST | `/v1/policies` | [management-api.md](management-api.md) | -| Get audit events | Management | GET | `/v1/audit/events` | [management-api.md](management-api.md) | - -> **Migrating the Detect API from v1 to v2?** See [Migrating from v1 to v2](detect-api.md#migrating-from-v1-to-v2) in the Detect guide for endpoint mapping, field renames, and a migration checklist. - -## OpenAPI Specifications - -Complete API schemas are available in these OpenAPI 3.0 spec files: - -- **[data.openapi.json](data.openapi.json)** - Data API (insert, retrieve, update, delete) -- **[detect.openapi.json](detect.openapi.json)** - Detect API (PII detection and de-identification), including v1 and v2 (beta) endpoints -- **[management.openapi.json](management.openapi.json)** - Management API (vaults, schemas, policies) - -## Authentication - -All Skyflow APIs require bearer token authentication. - -### Generating a Bearer Token - -Exchange a signed JWT assertion (built from your service account credentials) for a bearer token. See [management-api.md](management-api.md) for how to construct the assertion. - -```bash -curl -X POST https://manage.skyflowapis.com/v1/auth/sa/oauth/token \ - -H "Content-Type: application/json" \ - -d '{ - "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer", - "assertion": "" - }' -``` - -**Response**: - -```json -{ - "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...", - "tokenType": "Bearer" -} -``` - -### Using the Token - -Include in all requests: - -``` -Authorization: Bearer {accessToken} -``` - -## Error Handling - -**Standard error format**: - -```json -{ - "error": { - "code": "INVALID_REQUEST", - "message": "Missing required field: email", - "details": { "field": "email", "reason": "Field is required" } - } -} -``` - -**Common error codes**: - -| Code | HTTP Status | Description | -| --------------------- | ----------- | ------------------------ | -| `UNAUTHORIZED` | 401 | Invalid or expired token | -| `FORBIDDEN` | 403 | Insufficient permissions | -| `NOT_FOUND` | 404 | Resource not found | -| `BAD_REQUEST` | 400 | Invalid request format | -| `RATE_LIMIT_EXCEEDED` | 429 | Too many requests | - -**Rate limiting**: Default 100 requests/minute. Check `X-RateLimit-Remaining` header. - -## Best Practices - -1. **Cache bearer tokens** - Valid for 15-60 minutes; reuse until near expiry -2. **Implement retry logic** - Exponential backoff on 429 errors -3. **Use batch operations** - Insert/detokenize multiple records per request -4. **Set appropriate redaction** - Use `MASKED` or `REDACTED` by default -5. **Monitor rate limits** - Check `X-RateLimit-*` headers -6. **Rotate credentials** - Regularly rotate service account keys - -## SDK Documentation - -For language-specific SDKs with additional features: - -- **Node.js**: [skyflow-node on npm](https://www.npmjs.com/package/skyflow-node) -- **Python**: [skyflow-python on PyPI](https://pypi.org/project/skyflow-python/) -- **Java**: [skyflow-java on Maven](https://search.maven.org/artifact/com.skyflow/skyflow-java) - -## Usage Instructions - -When helping users with API operations: - -1. **Identify the API** - Data, Detect, or Management -2. **Link to the detailed doc** - data-api.md, detect-api.md, or management-api.md -3. **Show the endpoint** - HTTP method and URL pattern -4. **Provide a curl example** - Complete, copy-pastable command -5. **Explain key parameters** - Required fields and common options -6. **Reference OpenAPI spec** - For complete schema details diff --git a/skyflow-skills-plugin/skills/call-rest-apis/data-api.md b/skyflow-skills-plugin/skills/call-rest-apis/data-api.md deleted file mode 100644 index 7c4984c..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/data-api.md +++ /dev/null @@ -1,251 +0,0 @@ -# Data API - -The Data API handles all data operations: inserting, retrieving, updating, and deleting sensitive data with automatic tokenization. - -**Base URL**: `https://{vaultURL}/v1/vaults/{vaultID}` - -**Authentication**: Bearer token required in all requests - -**OpenAPI Spec**: See [data.openapi.json](data.openapi.json) for complete request/response schemas - -## Common Headers - -``` -Authorization: Bearer {token} -Content-Type: application/json -X-Skyflow-Account-ID: {accountID} # optional, for audit logs -``` - ---- - -## INSERT - Store and Tokenize Data - -**Endpoint**: `POST /v1/vaults/{vaultID}/{tableName}` -**Operation**: `insert_records` - -Inserts records and returns tokens for sensitive fields. - -```bash -curl -X POST "https://$VAULT_URL/v1/vaults/$VAULT_ID/users" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "records": [{ - "fields": { - "email": "user@example.com", - "ssn": "123-45-6789" - } - }], - "tokenization": true - }' -``` - -**Response**: -```json -{ - "records": [{ - "skyflow_id": "f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d", - "tokens": { - "email": "token_1234abcd", - "ssn": "token_5678efgh" - } - }] -} -``` - -**Parameters**: -- `tokenization` (boolean): Return tokens for fields -- `continueOnError` (boolean): Continue processing on partial failures - ---- - -## GET BY ID - Retrieve Data - -**Endpoint**: `GET /v1/vaults/{vaultID}/{tableName}` -**Operation**: `get_records` - -Retrieves records by Skyflow ID with configurable redaction. - -```bash -curl -X GET "https://$VAULT_URL/v1/vaults/$VAULT_ID/users?skyflow_ids=id1,id2&redaction=MASKED" \ - -H "Authorization: Bearer $TOKEN" -``` - -**Response**: -```json -{ - "records": [{ - "fields": { - "skyflow_id": "id1", - "email": "user@example.com", - "ssn": "XXX-XX-6789" - } - }] -} -``` - -**Query Parameters**: -- `skyflow_ids`: Comma-separated Skyflow IDs -- `redaction`: `PLAIN_TEXT`, `MASKED`, `REDACTED`, or `DEFAULT` -- `fields`: Comma-separated field names to retrieve - ---- - -## DETOKENIZE - Retrieve Original Values - -**Endpoint**: `POST /v1/vaults/{vaultID}/detokenize` -**Operation**: `detokenize` - -Converts tokens back to original values (requires permissions). - -```bash -curl -X POST "https://$VAULT_URL/v1/vaults/$VAULT_ID/detokenize" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "detokenizationParameters": [ - {"token": "token_1234abcd", "redaction": "PLAIN_TEXT"} - ] - }' -``` - -**Response**: -```json -{ - "records": [{ - "token": "token_1234abcd", - "value": "user@example.com" - }] -} -``` - ---- - -## UPDATE - Modify Existing Records - -**Endpoint**: `PUT /v1/vaults/{vaultID}/{tableName}/{skyflow_id}` -**Operation**: `update_record` - -Updates specific fields in an existing record. The record ID is specified in the URL path. - -```bash -curl -X PUT "https://$VAULT_URL/v1/vaults/$VAULT_ID/users/f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "record": { - "fields": { - "email": "newemail@example.com" - } - }, - "tokenization": true - }' -``` - -**Response**: - -```json -{ - "skyflow_id": "f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d", - "tokens": { - "email": "token_newabcd1234" - } -} -``` - -**Request Body**: - -- `record.fields` (object): Field values to update -- `tokenization` (boolean): Return tokens for updated fields - ---- - -## DELETE - Remove Records - -**Endpoint**: `DELETE /v1/vaults/{vaultID}/{tableName}` -**Operation**: `delete_records` - -Permanently removes records from the vault. - -```bash -curl -X DELETE "https://$VAULT_URL/v1/vaults/$VAULT_ID/users" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "skyflow_ids": [ - "f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d", - "a1b2c3d4-5678-90ab-cdef-1234567890ab" - ] - }' -``` - -**Response**: - -```json -{ - "RecordIDResponse": [ - "f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d", - "a1b2c3d4-5678-90ab-cdef-1234567890ab" - ] -} -``` - -**Request Body**: - -- `skyflow_ids` (array): Skyflow IDs of records to delete. Use `["*"]` to delete all records in the table. - ---- - -## QUERY - SQL Queries - -**Endpoint**: `POST /v1/vaults/{vaultID}/query` -**Operation**: `execute_query` - -Executes SQL SELECT queries against vault data. Returns up to 25 records per query. - -```bash -curl -X POST "https://$VAULT_URL/v1/vaults/$VAULT_ID/query" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "query": "SELECT * FROM users WHERE skyflow_id = \"f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d\"" - }' -``` - -**Response**: - -```json -{ - "records": [ - { - "fields": { - "skyflow_id": "f8d8c7e4-63c7-4361-a89e-4e9a07e1ae9d", - "email": "user@example.com", - "ssn": "XXX-XX-6789" - } - } - ] -} -``` - -**Request Body**: - -- `query` (string): SQL SELECT query with inline values - -**Supported SQL**: - -- Commands: `SELECT` -- Operators: `>`, `<`, `=`, `AND`, `OR`, `NOT`, `LIKE`, `ILIKE`, `NULL`, `NOT NULL` -- Keywords: `FROM`, `JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `FULL JOIN`, `WHERE`, `OFFSET`, `LIMIT` -- Functions: `AVG()`, `SUM()`, `COUNT()`, `MIN()`, `MAX()`, `REDACTION()` - ---- - -## Redaction Levels - -| Level | Description | -|-------|-------------| -| `PLAIN_TEXT` | Unmasked data (requires permissions) | -| `MASKED` | Partially masked (e.g., `XXX-XX-6789`) | -| `REDACTED` | Fully redacted (e.g., `*********`) | -| `DEFAULT` | Uses field's default redaction policy | diff --git a/skyflow-skills-plugin/skills/call-rest-apis/data.openapi.json b/skyflow-skills-plugin/skills/call-rest-apis/data.openapi.json deleted file mode 100644 index 8ee5793..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/data.openapi.json +++ /dev/null @@ -1,3004 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "Data API", - "description": "This API inserts, retrieves, and otherwise manages data in a vault.\n\nThe Data API is available from two base URIs. *identifier* is the identifier in your vault's URL.
  • Sandbox: https://*identifier*.vault.skyflowapis-preview.com
  • Production: https://*identifier*.vault.skyflowapis.com
\n\nWhen you make an API call, you need to add a header:
HeaderValueExample
AuthorizationA Bearer Token. See API Authentication.Authorization: Bearer eyJhbGciOiJSUzI...1NiIsJdfPA
", - "license": { - "name": "Proprietary", - "url": "https://docs.skyflow.com" - }, - "version": "2026.04" - }, - "servers": [ - { - "url": "https://{identifier}.vault.skyflowapis.com", - "description": "Production", - "variables": { - "identifier": { - "default": "{{vault_uri}}", - "description": "The unique identifier for the vault." - } - } - }, - { - "url": "https://{identifier}.vault.skyflowapis-preview.com", - "description": "Sandbox", - "variables": { - "identifier": { - "default": "{{vault_uri}}", - "description": "The unique identifier for the vault." - } - } - } - ], - "externalDocs": { - "description": "Guides, tutorials, and references for using Skyflow.", - "url": "https://docs.skyflow.com/" - }, - "paths": { - "/v1/audit/events": { - "get": { - "tags": [ - "Audit" - ], - "summary": "List Data Audit Events", - "description": "Lists data audit events that match query parameters.", - "operationId": "list_data_audit_events", - "parameters": [ - { - "name": "filterOps.context.changeID", - "in": "query", - "description": "ID for the audit event. Use this to uniquely identify a specific audit record.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.requestID", - "in": "query", - "description": "ID for the request that caused the event. Use to correlate multiple audit events triggered by a single API request.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.sessionID", - "in": "query", - "description": "ID for the session in which the request was sent. Present when a session context is available.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.actor", - "in": "query", - "description": "Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID. For users this is their email address.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.actorType", - "in": "query", - "description": "Type of member who sent the request.", - "schema": { - "enum": [ - "NONE", - "USER", - "GROUP", - "SERVICE_ACCOUNT", - "SQL_SERVICE_ACCOUNT" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "filterOps.context.accessType", - "in": "query", - "description": "Type of access for the request.", - "schema": { - "enum": [ - "ACCESS_NONE", - "API", - "SQL", - "OKTA_LOGIN" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "filterOps.context.ipAddress", - "in": "query", - "description": "IP Address of the client that made the request.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.origin", - "in": "query", - "description": "HTTP Origin request header (including scheme, hostname, and port) of the request. Present only for browser-originated requests. Absent for server-to-server API calls.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.authMode", - "in": "query", - "description": "Authentication mode the `actor` used. `OKTA_JWT`: Federated identity via Okta SSO. `SERVICE_ACCOUNT_JWT`: Service account JWT (machine-to-machine). `PAT_JWT`: Personal Access Token issued as a JWT. `API_KEY`: Static API key.", - "schema": { - "enum": [ - "AUTH_NONE", - "OKTA_JWT", - "SERVICE_ACCOUNT_JWT", - "PAT_JWT", - "API_KEY", - "STS" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "filterOps.context.jwtID", - "in": "query", - "description": "ID of the JWT token (the `jti` claim). Identifies the specific token used for this request.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.context.bearerTokenContextID", - "in": "query", - "description": "User context embedded in the bearer token. Present when a bearer token encodes additional user context.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.parentAccountID", - "in": "query", - "description": "Resources with the specified parent account ID.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.accountID", - "in": "query", - "schema": { - "type": "string" - }, - "required": true - }, - { - "name": "filterOps.workspaceID", - "in": "query", - "description": "Resources with the specified workspace ID.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.vaultID", - "in": "query", - "description": "Resources with the specified vault ID.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.resourceIDs", - "in": "query", - "description": "Resources with a specified ID. If a resource matches at least one ID, the associated event is returned. Format is a comma-separated list of \"\\/\\\". For example, \"VAULT/12345, USER/67890\".", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuditResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.accountID", - "filterOps.context.actor", - "filterOps.context.actorType", - "filterOps.context.accessType", - "filterOps.context.authMode", - "filterOps.context.bearerTokenContextID", - "filterOps.context.changeID", - "filterOps.context.ipAddress", - "filterOps.context.jwtID", - "filterOps.context.origin", - "filterOps.context.requestID", - "filterOps.context.sessionID", - "filterOps.parentAccountID", - "filterOps.resourceIDs", - "filterOps.workspaceID", - "filterOps.vaultID" - ], - "x-required-query-parameters": [ - "filterOps.accountID" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}": { - "post": { - "tags": [ - "Records" - ], - "summary": "Batch Operation", - "description": "Performs multiple record operations in a single transaction.", - "operationId": "batch_operation", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BatchOperationRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BatchOperationResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/detokenize": { - "post": { - "tags": [ - "Tokens" - ], - "summary": "Detokenize", - "description": "Returns records that correspond to the specified tokens.", - "operationId": "detokenize", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetokenizePayload" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetokenizeResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/query": { - "post": { - "tags": [ - "Query" - ], - "summary": "Execute Query", - "description": "Returns records for a valid SQL query. This endpoint
  • Can return redacted record values.
  • Supports only the SELECT command.
  • Returns a maximum of 25 records. To return additional records, perform another query using the OFFSET keyword.
  • Can't modify the vault or perform transactions.
  • Can't return tokens.
  • Can't return file download or render URLs.
  • Doesn't support the WHERE keyword with columns using transient tokenization.
  • Doesn't support `?` conditional for columns with column-level encryption disabled.
    • ", - "operationId": "execute_query", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetQueryRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetQueryResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/tokenize": { - "post": { - "tags": [ - "Tokens" - ], - "summary": "Tokenize", - "description": "Returns tokens that correspond to the specified records. Only applicable for fields with deterministic tokenization.

      Note: This endpoint doesn't insert records—it returns tokens for existing values. To insert records and return tokens for that new record's values, see Insert Records' `tokenization` parameter.", - "operationId": "tokenize", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenizePayload" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenizeResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/{objectName}": { - "get": { - "tags": [ - "Records" - ], - "summary": "Get Records", - "description": "Returns the specified records from a table.", - "operationId": "get_records", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "skyflow_ids", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "redaction", - "in": "query", - "schema": { - "enum": [ - "DEFAULT", - "REDACTED", - "MASKED", - "PLAIN_TEXT" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "tokenization", - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "fields", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "offset", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "downloadURL", - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "column_name", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "column_values", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "order_by", - "in": "query", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING", - "NONE" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "returnFileMetadata", - "in": "query", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkGetRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "skyflow_ids", - "redaction", - "tokenization", - "returnFileMetadata", - "fields", - "offset", - "limit", - "downloadURL", - "column_name", - "column_values", - "order_by" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "tags": [ - "Records" - ], - "summary": "Insert Records", - "description": "Inserts a record in the specified table.

      The time-to-live (TTL) for a transient field begins when the field value is set during record insertion.

      Columns that have a string data type and a uniqueness constraint accept strings up to 2500 characters. If an inserted string exceeds 2500 characters, the call returns a token insertion error.", - "operationId": "insert_records", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InsertRecordRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InsertRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "delete": { - "tags": [ - "Records" - ], - "summary": "Delete Records", - "description": "Deletes the specified records from a table.", - "operationId": "delete_records", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "description": "Name of the table.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkDeleteRecordRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkDeleteRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/{objectName}/{ID}": { - "get": { - "tags": [ - "Records" - ], - "summary": "Get Record By ID", - "description": "Returns the specified record from a table.", - "operationId": "get_record_by_id", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "redaction", - "in": "query", - "schema": { - "enum": [ - "DEFAULT", - "REDACTED", - "MASKED", - "PLAIN_TEXT" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "tokenization", - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "fields", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "downloadURL", - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "returnFileMetadata", - "in": "query", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFieldRecords" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "redaction", - "tokenization", - "returnFileMetadata", - "downloadURL", - "fields" - ], - "x-fern-audiences": [ - "external" - ] - }, - "put": { - "tags": [ - "Records" - ], - "summary": "Update Record", - "description": "Updates the specified record in a table.

      When you update a field, include the entire contents you want the field to store. For JSON fields, include all nested fields and values. If a nested field isn't included, it's removed.

      The time-to-live (TTL) for a transient field resets when the field value is updated.", - "operationId": "update_record", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRecordRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "delete": { - "tags": [ - "Records" - ], - "summary": "Delete Record", - "description": "Deletes the specified record from a table.

      Note: This method doesn't delete transient field tokens. Transient field values are available until they expire based on the fields' time-to-live (TTL) setting.", - "operationId": "delete_record", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "description": "Name of the table.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "description": "`skyflow_id` of the record to delete.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/{objectName}/{ID}/files": { - "post": { - "tags": [ - "Files" - ], - "summary": "Upload File", - "description": "Uploads a file to the specified record.", - "operationId": "upload_file", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "objectName", - "in": "path", - "description": "Name of the table.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "description": "`skyflow_id` of the record.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "fileColumnName": { - "type": "string", - "description": "The key for `fileColumnName` is the name of the column to store the file in, which must have a `file` data type. The value is the file to upload.", - "format": "binary" - } - }, - "additionalProperties": false - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRecordResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "deprecated": true, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/{tableName}/{ID}/files/{columnName}": { - "delete": { - "tags": [ - "Files" - ], - "summary": "Delete File", - "description": "Deletes a file from a specified record.", - "operationId": "delete_file", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tableName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "columnName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFileResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/{tableName}/{ID}/files/{columnName}/scan-status": { - "get": { - "tags": [ - "Files" - ], - "summary": "Get File Scan Status", - "description": "Returns the anti-virus scan status of a file.", - "operationId": "get_file_scan_status", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "tableName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "columnName", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFileScanStatusResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "deprecated": true, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/vaults/{vaultID}/files/upload": { - "post": { - "tags": [ - "Files" - ], - "summary": "Upload File", - "description": "Uploads a file to a new or specified record.", - "operationId": "upload_file_v2", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/UploadFileRequestV2" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFileResponseV2" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/vaults/{vaultID}/files/uploadStatus": { - "post": { - "tags": [ - "Files" - ], - "summary": "Get Files Upload Status", - "description": "Returns the upload and scan status for the specified file columns across multiple records.", - "operationId": "get_files_upload_status", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFilesUploadStatusRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFilesUploadStatusResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - } - }, - "components": { - "schemas": { - "AuditAfterOptions": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "description": "Timestamp provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank." - }, - "changeID": { - "type": "string", - "description": "Change ID provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank." - } - }, - "x-visibility": [ - "external" - ] - }, - "AuditEvent_Context": { - "required": [ - "changeID", - "requestID", - "traceID", - "actor", - "actorType", - "accessType", - "ipAddress", - "authMode", - "jwtID" - ], - "type": "object", - "properties": { - "changeID": { - "type": "string", - "description": "ID for the audit event. Use this to uniquely identify a specific audit record." - }, - "requestID": { - "type": "string", - "description": "ID for the request that caused the event. Use to correlate multiple audit events triggered by a single API request." - }, - "traceID": { - "type": "string", - "description": "ID for the request set by the service that received the request. Use with your distributed tracing tool to follow a request across Skyflow services." - }, - "sessionID": { - "deprecated": true, - "type": "string", - "description": "ID for the session in which the request was sent. Present when a session context is available." - }, - "actor": { - "type": "string", - "description": "Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID. For users this is their email address." - }, - "actorType": { - "enum": [ - "USER", - "SERVICE_ACCOUNT" - ], - "type": "string", - "description": "Type of member who sent the request.", - "format": "enum" - }, - "accessType": { - "enum": [ - "API", - "SQL" - ], - "type": "string", - "description": "Type of access for the request.", - "format": "enum" - }, - "ipAddress": { - "type": "string", - "description": "IP Address of the client that made the request." - }, - "origin": { - "type": "string", - "description": "HTTP Origin request header (including scheme, hostname, and port) of the request. Present only for browser-originated requests. Absent for server-to-server API calls." - }, - "authMode": { - "enum": [ - "OKTA_JWT", - "SERVICE_ACCOUNT_JWT", - "PAT_JWT", - "API_KEY", - "STS" - ], - "type": "string", - "description": "Authentication mode the `actor` used. `OKTA_JWT`: Federated identity via Okta SSO. `SERVICE_ACCOUNT_JWT`: Service account JWT (machine-to-machine). `PAT_JWT`: Personal Access Token issued as a JWT. `API_KEY`: Static API key.", - "format": "enum" - }, - "jwtID": { - "type": "string", - "description": "ID of the JWT token (the `jti` claim). Identifies the specific token used for this request." - }, - "bearerTokenContextID": { - "type": "string", - "description": "User context embedded in the bearer token. Present when a bearer token encodes additional user context." - }, - "keyID": { - "type": "string", - "description": "Key ID of the API key used to make the request. Present when `authMode` is `SERVICE_ACCOUNT_JWT` or `API_KEY`. Absent for `PAT_JWT` and `OKTA_JWT`." - }, - "subject": { - "type": "string", - "description": "This represents the user on whose behalf the request is made. It may differ from the actor (act) when delegation is involved." - } - }, - "description": "Context for an audit event.", - "x-visibility": [ - "external" - ] - }, - "AuditEvent_Data": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "The entire body of the request or response." - } - }, - "description": "Data (if any).", - "x-visibility": [ - "external" - ] - }, - "AuditEvent_NestedResponse": { - "required": [ - "code", - "message", - "identifier" - ], - "type": "object", - "properties": { - "code": { - "type": "integer", - "description": "Status code for the operation.", - "format": "int32" - }, - "message": { - "type": "string", - "description": "Status message for the operation. Describes the failure reason for errored items. Empty string on success." - }, - "identifier": { - "type": "string", - "description": "ID for the resource that was modified, in `{resourceType}/{resourceID}` format. For example, `VAULT/cd1d815aa09b4cbfbb803bd20349f202`. May be empty if the item identifier couldn't be resolved." - }, - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/AuditEvent_Data" - } - ], - "description": "Data (if any) for the response." - } - }, - "x-visibility": [ - "external" - ] - }, - "AuditEvent_Response": { - "required": [ - "code", - "message", - "timestamp" - ], - "type": "object", - "properties": { - "code": { - "type": "integer", - "description": "Status code for the overall operation. For batch operations, a 200 doesn't mean every item succeeded. Check `nestedResponse` for per-operation outcomes.", - "format": "int32" - }, - "message": { - "type": "string", - "description": "Status message for the overall operation." - }, - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/AuditEvent_Data" - } - ], - "description": "Data (if any) for the response." - }, - "timestamp": { - "type": "string", - "description": "Time when the response was created. RFC 3339 format with nanosecond precision." - }, - "nestedResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AuditEvent_NestedResponse" - }, - "description": "Details for nested operations, if any. An array of per-item results returned for batch operations. Absent for non-batch operations." - } - }, - "description": "Response properties of the event.", - "x-visibility": [ - "external" - ] - }, - "AuditResponse": { - "example": { - "event": [ - { - "accountID": "f244fg04bgh876qemk6c3a32256e2k90", - "context": { - "accessType": "API", - "actor": "web31628f5a74bf7994459921c67eef8", - "actorType": "USER", - "authMode": "PAT_JWT", - "bearerTokenContextID": "bcf4b254-a415-4b3f-a8b9-0a1f02e52e18", - "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d", - "ipAddress": "27.116.16.50", - "jwtID": "o82d1d5bcbf148eb890a937593321ff8", - "keyID": "y72c0826fb1146b3bb8a0d48ab4d0653", - "origin": "https://area51-beta.skyflow.dev", - "requestID": "5a682b12-1a44-922b-a487-ab108f018cc4", - "sessionID": "cb598f8c-786e-48da-898d-830ec92417b7", - "traceID": "9f1707bd-3da0-4946-bf7a-ca99e7e12e5b" - }, - "parentAccountID": "b894gg34fbn866eabd6c2ce1457r4b45", - "request": { - "actionType": "READ", - "apiName": "/v1.QueryService/ExecuteQuery", - "data": { - "content": "select * from persons where skyflow_id=\"5b6c8110-58b3-4aa0-8b36-d2cfd5c7b259\"" - }, - "httpInfo": { - "URI": "/v1/vaults/cd1d815aa09b4cbfbb803bd20349f202/query", - "method": "POST" - }, - "resourceType": "RECORD", - "tags": [ - "dml" - ], - "timestamp": "2023-06-27 14:01:14.264739714", - "vaultID": "cd1d815aa09b4cbfbb803bd20349f202", - "workspaceID": "e01054d5ff3411eab9f2360c405de1ab" - }, - "resourceIDs": [ - "ACCOUNT/f244fg04bgh876qemk6c3a32256e2k90", - "TABLE/persons", - "VAULT/cd1d815aa09b4cbfbb803bd20349f202" - ], - "response": { - "code": 200, - "data": null, - "message": "success", - "timestamp": "2023-06-27 14:01:14.271659365" - } - } - ], - "nextOps": { - "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d", - "timestamp": "2023-06-27 14:01:14.264739714" - } - }, - "type": "object", - "properties": { - "event": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AuditResponseEvent" - }, - "description": "Events matching the query." - }, - "nextOps": { - "$ref": "#/components/schemas/AuditAfterOptions" - } - } - }, - "AuditResponseEvent": { - "type": "object", - "properties": { - "context": { - "$ref": "#/components/schemas/AuditEvent_Context" - }, - "response": { - "$ref": "#/components/schemas/AuditEvent_Response" - } - }, - "description": "Audit event details." - }, - "BatchOperationRequest": { - "example": { - "records": [ - { - "batchID": "persons-12345", - "downloadURL": false, - "fields": { - "drivers_license_number": "89867453", - "name": "Connor", - "phone_number": "8794523160", - "ssn": "143-89-2306" - }, - "method": "POST", - "redaction": "PLAIN_TEXT", - "tableName": "persons", - "tokenization": false, - "upsert": "drivers_license_number" - }, - { - "ID": "f1dbc55c-7c9b-495d-9a36-72bb2b619202", - "batchID": "persons-12345", - "downloadURL": true, - "method": "GET", - "redaction": "PLAIN_TEXT", - "tableName": "persons", - "tokenization": false - } - ] - }, - "required": [ - "records" - ], - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BatchRecord" - }, - "description": "Record operations to perform." - }, - "continueOnError": { - "type": "boolean", - "default": false, - "description": "If `true`, continues processing remaining operations when one operation returns an error. If `false`, stops processing remaining operations when one operation returns an error." - } - }, - "x-visibility": [ - "external" - ] - }, - "BatchOperationResponse": { - "example": { - "responses": [ - { - "records": [ - { - "fields": { - "drivers_license_number": "*REDACTED*", - "id_proof": "https:///f244fg04bgh876qemk6c3a32256e2k90/record_file/cd1d815aa09b4cbfbb803bd20349f202/c2d1debe468923c08f32470a9dh789f9/f1dbc55c-7c9b-495d-9a36-72bb2b619202/8fa99367cf58h5w296eaf15d6f42a4d237cbab65?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=&X-Amz-Date=20230622T100910Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=", - "name": "B***ok", - "phone_number": "XXXXXX7533", - "skyflow_id": "f1dbc55c-7c9b-495d-9a36-72bb2b619202", - "ssn": "XXX-XX-7645" - }, - "skyflow_id": "4bc4a3a6-dfba-4314-809d-5ca63d43c732" - } - ] - } - ], - "vaultID": "cd1d815aa09b4cbfbb803bd20349f202" - }, - "type": "object", - "properties": { - "vaultID": { - "type": "string", - "description": "ID of the vault." - }, - "responses": { - "type": "array", - "items": { - "type": "object" - }, - "description": "Responses in the same order as in the request. Responses have the same payload structure as their corresponding APIs:
      • `POST` returns an Insert Records response.
      • `PUT` returns an Update Record response.
      • `GET` returns a Get Record response.
      • `DELETE` returns a Delete Record response.
      " - } - }, - "x-visibility": [ - "external" - ] - }, - "BatchRecord": { - "required": [ - "tableName", - "fields", - "method" - ], - "type": "object", - "properties": { - "fields": { - "type": "object", - "additionalProperties": true, - "description": "Field and value key pairs. For example, `{'field_1':'value_1', 'field_2':'value_2'}`. Only valid when `method` is `POST` or `PUT`." - }, - "tableName": { - "type": "string", - "description": "Name of the table to perform the operation on." - }, - "method": { - "enum": [ - "POST", - "PUT", - "GET", - "DELETE" - ], - "type": "string", - "description": "Method of the operation.", - "format": "enum" - }, - "batchID": { - "type": "string", - "description": "ID to group operations by. Operations in the same group are executed sequentially." - }, - "redaction": { - "enum": [ - "DEFAULT", - "REDACTED", - "MASKED", - "PLAIN_TEXT" - ], - "type": "string", - "default": "DEFAULT", - "description": "Redaction level to enforce for the returned record. Subject to policies assigned to the API caller.", - "format": "enum" - }, - "tokenization": { - "type": "boolean", - "default": false, - "description": "If `true`, this operation returns tokens for fields with tokenization enabled. Only applicable if `skyflow_id` values are specified." - }, - "ID": { - "type": "string", - "description": "`skyflow_id` for the record. Only valid when `method` is `GET`, `DELETE`, or `PUT`." - }, - "downloadURL": { - "type": "boolean", - "default": false, - "description": "If `true`, returns download URLs for fields with a file data type. URLs are valid for 15 minutes. If virus scanning is enabled, only returns if the file is clean." - }, - "upsert": { - "type": "string", - "description": "Column that stores primary keys for upsert operations. The column must be marked as unique in the vault schema. Only valid when `method` is `POST`." - }, - "tokens": { - "type": "object", - "additionalProperties": true, - "description": "Fields and tokens for the record. For example, `{'field_1':'token_1', 'field_2':'token_2'}`." - }, - "returnFileMetadata": { - "type": "boolean", - "default": false, - "description": "If `true`, returns metadata for files." - } - }, - "x-visibility": [ - "external" - ] - }, - "BulkDeleteRecordRequest": { - "example": { - "skyflow_ids": [ - "51782ea4-91a5-4430-a06d-f4b76efd3d2f", - "110ce08f-6059-4874-b1ae-7c6651d286ff" - ] - }, - "type": "object", - "properties": { - "skyflow_ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "`skyflow_id` values of the records to delete. If `*` is specified, this operation deletes all records in the table." - } - }, - "x-visibility": [ - "external" - ] - }, - "BulkDeleteRecordResponse": { - "example": { - "RecordIDResponse": [ - "51782ea4-91a5-4430-a06d-f4b76efd3d2f", - "110ce08f-6059-4874-b1ae-7c6651d286ff" - ] - }, - "type": "object", - "properties": { - "RecordIDResponse": { - "type": "array", - "items": { - "type": "string" - }, - "description": "IDs for the deleted records, or `*` if all records were deleted." - } - }, - "x-visibility": [ - "external" - ] - }, - "BulkGetRecordResponse": { - "example": { - "records": [ - { - "fields": { - "Estimated Value": 10000, - "Expected Close Date": "2017-07-12", - "Opportunity Name": "BPS Pilot", - "Owner": { - "email": "kat+collab15@skyflow.com", - "id": "usrijG9SC4EQlq5cm", - "name": "Jess Patel" - }, - "Priority": "Medium", - "Proposal Deadline": "2017-06-14", - "Status": "Qualification" - } - }, - { - "fields": { - "Estimated Value": 24791, - "Expected Close Date": "2017-07-07", - "Opportunity Name": "BPS second use case", - "Owner": { - "email": "kat+collab36@skyflow.com", - "id": "usrGqHsNLhH41Q91M", - "name": "Sandy Hagen" - }, - "Priority": "Very Low Deprioritize", - "Status": "Proposal" - } - } - ] - }, - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetFieldRecords" - }, - "description": "The specified records." - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFileResponse": { - "example": { - "deleted": true, - "skyflow_id": "4423ccdf-75eb-4e2e-abfc-acb43b1440cd" - }, - "type": "object", - "properties": { - "skyflow_id": { - "type": "string", - "description": "ID of the record." - }, - "deleted": { - "type": "boolean", - "description": "If `true`, the file was deleted." - } - } - }, - "DeleteRecordResponse": { - "example": { - "deleted": true, - "skyflow_id": "4423ccdf-75eb-4e2e-abfc-acb43b1440cd" - }, - "type": "object", - "properties": { - "skyflow_id": { - "type": "string", - "description": "ID of the deleted record." - }, - "deleted": { - "type": "boolean", - "description": "If `true`, the record was deleted." - } - }, - "x-visibility": [ - "external" - ] - }, - "DetokenizePayload": { - "example": { - "detokenizationParameters": [ - { - "redaction": "PLAIN_TEXT", - "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125" - }, - { - "redaction": "DEFAULT", - "token": "05383487-fcae-42e5-a48e-5bd62a51af12" - } - ], - "downloadURL": false - }, - "required": [ - "detokenizationParameters" - ], - "type": "object", - "properties": { - "detokenizationParameters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DetokenizeRecordRequest" - }, - "description": "Detokenization details." - }, - "downloadURL": { - "type": "boolean", - "default": false, - "description": "If `true`, returns download URLs for fields with a file data type. URLs are valid for 15 minutes. If virus scanning is enabled, only returns if the file is clean." - }, - "continueOnError": { - "type": "boolean", - "default": false, - "description": "If `true`, the detokenization request continues even if an error occurs." - } - }, - "x-visibility": [ - "external" - ] - }, - "DetokenizeRecordRequest": { - "required": [ - "token" - ], - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Token that identifies the record to detokenize." - }, - "redaction": { - "enum": [ - "DEFAULT", - "REDACTED", - "MASKED", - "PLAIN_TEXT" - ], - "type": "string", - "default": "DEFAULT", - "description": "Redaction level to enforce for the returned record. Subject to policies assigned to the API caller.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "DetokenizeRecordResponse": { - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Token of the record." - }, - "valueType": { - "enum": [ - "STRING", - "INTEGER", - "FLOAT", - "BOOL", - "DATETIME", - "JSON", - "ARRAY", - "DATE", - "TIME" - ], - "type": "string", - "description": "Data type of the `value`.", - "format": "enum" - }, - "value": { - "type": "string", - "description": "Data corresponding to the token." - }, - "error": { - "type": "string", - "description": "Error if token isn't found." - } - }, - "x-visibility": [ - "external" - ] - }, - "DetokenizeResponse": { - "example": { - "records": [ - { - "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", - "value": "Robin", - "valueType": "STRING" - }, - { - "token": "05383487-fcae-42e5-a48e-5bd62a51af12", - "value": "*REDACTED*", - "valueType": "STRING" - } - ] - }, - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DetokenizeRecordResponse" - }, - "description": "Records corresponding to the specified tokens." - } - } - }, - "FieldRecords": { - "example": { - "fields": { - "id_proof": "https:///f244fg04bgh876qemk6c3a32256e2k90/record_file/cd1d815aa09b4cbfbb803bd20349f202/c2d1debe468923c08f32470a9dh789f9/f1dbc55c-7c9b-495d-9a36-72bb2b619202/8fa99367cf58h5w296eaf15d6f42a4d237cbab65?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=&X-Amz-Date=20230622T100910Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=", - "name": "Brook", - "ssn": "167-45-7645" - } - }, - "type": "object", - "properties": { - "fields": { - "type": "object", - "additionalProperties": true, - "description": "Fields and values for the record. For example, `{'field_1':'value_1', 'field_2':'value_2'}`." - }, - "tokens": { - "type": "object", - "additionalProperties": true, - "description": "Fields and tokens for the record. For example, `{'field_1':'token_1', 'field_2':'token_2'}`." - } - }, - "description": "Record values and tokens.", - "x-visibility": [ - "external" - ] - }, - "FileMetadata": { - "type": "object", - "properties": { - "fileName": { - "type": "string", - "description": "Name of the file, including the extension if provided." - }, - "fileSizeKB": { - "type": "integer", - "description": "Size of the file in kilobytes (KB), rounded up from bytes to the nearest KB.", - "format": "uint32" - }, - "fileType": { - "type": "string", - "description": "Type of the file, detected based on its content (MIME type)." - } - }, - "description": "Metadata about the file, including its name, size, and type.", - "x-visibility": [ - "external" - ] - }, - "FileUploadStatusRecord": { - "required": [ - "tableName", - "skyflowID", - "fileFields" - ], - "type": "object", - "properties": { - "tableName": { - "type": "string", - "description": "Name of the table to perform the operation on." - }, - "skyflowID": { - "type": "string", - "description": "`skyflow_id` of the record." - }, - "fileFields": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of column names for the file upload status." - } - }, - "additionalProperties": false - }, - "FileUploadStatusResponseRecord": { - "type": "object", - "properties": { - "fields": { - "type": "object", - "description": "Fields containing skyflow_id and per-column file scan status." - }, - "tableName": { - "type": "string", - "description": "Name of the table." - } - } - }, - "GetFieldRecords": { - "example": { - "fields": { - "id_proof": "https:///f244fg04bgh876qemk6c3a32256e2k90/record_file/cd1d815aa09b4cbfbb803bd20349f202/c2d1debe468923c08f32470a9dh789f9/f1dbc55c-7c9b-495d-9a36-72bb2b619202/8fa99367cf58h5w296eaf15d6f42a4d237cbab65?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=&X-Amz-Date=20230622T100910Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=", - "name": "Brook", - "ssn": "167-45-7645" - } - }, - "type": "object", - "properties": { - "fields": { - "type": "object", - "additionalProperties": true, - "description": "Fields and values for the record. For example, `{'field_1':'value_1', 'field_2':'value_2'}`." - }, - "tokens": { - "type": "object", - "additionalProperties": true, - "description": "Fields and tokens for the record. For example, `{'field_1':'token_1', 'field_2':'token_2'}`." - }, - "fileMetadata": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/FileMetadata" - }, - "description": "Metadata for the uploaded file, keyed by dynamic column name." - } - }, - "description": "Record values and tokens for Get and BulkGet.", - "x-visibility": [ - "external" - ] - }, - "GetFileScanStatusResponse": { - "example": { - "av_scan_status": "SCAN-CLEAN" - }, - "type": "object", - "properties": { - "file_status": { - "enum": [], - "type": "string", - "description": "Status of the file.", - "format": "enum" - }, - "av_scan_status": { - "enum": [ - "SCAN_CLEAN", - "SCAN_INFECTED", - "SCAN_DELETED", - "SCAN_ERROR", - "SCAN_PENDING", - "SCAN_UNSCANNABLE", - "SCAN_FILE_NOT_FOUND", - "SCAN_INVALID" - ], - "type": "string", - "description": "Anti-virus scan status of the file.", - "format": "enum" - } - } - }, - "GetFilesUploadStatusRequest": { - "required": [ - "records" - ], - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileUploadStatusRecord" - }, - "description": "Array of record objects corresponding to the specified files." - } - }, - "additionalProperties": false - }, - "GetFilesUploadStatusResponse": { - "example": { - "records": [ - { - "fields": { - "skyflow_id": "2a62a1fd-0399-4338-bf05-e2877c6a7bd3", - "passport": { - "file_status": "UPLOADED", - "av_scan_status": "", - "mimetype_status": "" - } - }, - "tableName": "onboarding" - } - ] - }, - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileUploadStatusResponseRecord" - }, - "description": "Array of record objects with file scan status for the specified files." - } - } - }, - "GetQueryRequest": { - "example": { - "query": "select * from opportunities where id=\"01010000ade21cded569d43944544ec6\"" - }, - "required": [ - "query" - ], - "type": "object", - "properties": { - "query": { - "type": "string", - "description": "The SQL query to execute.

      Supported commands:
      • SELECT
      Supported operators:
      • >
      • <
      • =
      • AND
      • OR
      • NOT
      • LIKE
      • ILIKE
      • NULL
      • NOT NULL
      Supported keywords:
      • FROM
      • JOIN
      • INNER JOIN
      • LEFT OUTER JOIN
      • LEFT JOIN
      • RIGHT OUTER JOIN
      • RIGHT JOIN
      • FULL OUTER JOIN
      • FULL JOIN
      • OFFSET
      • LIMIT
      • WHERE
      Supported functions:
      • AVG()
      • SUM()
      • COUNT()
      • MIN()
      • MAX()
      • REDACTION()
      " - } - } - }, - "GetQueryResponse": { - "example": { - "records": [ - { - "fields": { - "Estimated Value": 10000, - "Expected Close Date": "2017-07-12", - "Opportunity Name": "BPS Pilot", - "Owner": { - "email": "kat+collab15@skyflow.com", - "id": "usrijG9SC4EQlq5cm", - "name": "Jess Patel" - }, - "Priority": "Medium", - "Proposal Deadline": "2017-06-14", - "Status": "Qualification" - } - }, - { - "fields": { - "Estimated Value": 24791, - "Expected Close Date": "2017-07-07", - "Opportunity Name": "BPS second use case", - "Owner": { - "email": "kat+collab36@skyflow.com", - "id": "usrGqHsNLhH41Q91M", - "name": "Sandy Hagen" - }, - "Priority": "Very Low Deprioritize", - "Status": "Proposal" - } - } - ] - }, - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FieldRecords" - }, - "description": "Records returned by the query." - } - } - }, - "InsertRecordRequest": { - "example": { - "homogeneous": false, - "records": [ - { - "fields": { - "drivers_license_number": "13456789", - "name": "John", - "phone_number": "1236784563", - "ssn": "123-45-6789" - } - }, - { - "fields": { - "drivers_license_number": "98765432", - "name": "James", - "phone_number": "9876543215", - "ssn": "345-45-9876" - } - } - ], - "tokenization": true, - "upsert": "drivers_license_number" - }, - "required": [ - "records" - ], - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FieldRecords" - }, - "description": "Record values and tokens." - }, - "tokenization": { - "type": "boolean", - "default": false, - "description": "If `true`, this operation returns tokens for fields with tokenization enabled." - }, - "upsert": { - "type": "string", - "description": "Name of a unique column in the table. Uses upsert operations to check if a record exists based on the unique column's value. If a matching record exists, the record updates with the values you provide. If a matching record doesn't exist, the upsert operation inserts a new record.

      When you upsert a field, include the entire contents you want the field to store. For JSON fields, include all nested fields and values. If a nested field isn't included, it's removed." - }, - "homogeneous": { - "type": "boolean", - "default": false, - "description": "If `true`, this operation mandates that all the records have the same fields. This parameter does not work with upsert." - }, - "byot": { - "enum": [ - "DISABLE", - "ENABLE", - "ENABLE_STRICT" - ], - "type": "string", - "default": "DISABLE", - "description": "Token insertion behavior.", - "format": "enum" - } - } - }, - "InsertRecordResponse": { - "example": { - "records": [ - { - "skyflow_id": "9322ffcc-fb8b-4fbe-8551-55c80559007c", - "tokens": { - "drivers_license_number": "358a03eb-2592-4037-be31-046032471d44", - "name": "16c5aa3e-fc49-4a87-8891-5a40c6c2f880", - "phone_number": "015ef018-adf3-49a0-8590-dbe9746de044", - "ssn": "341-11-6689" - } - }, - { - "skyflow_id": "51782ea4-91a5-4430-a06d-f4b76efd3d2f", - "tokens": { - "drivers_license_number": "f7d9a190-899c-40bf-b719-9e856afb6995", - "name": "071a3ae2-62eb-4b63-bcca-17a4da96fc87", - "phone_number": "a2fba7f3-d5e5-4e40-ab44-bce2c0ba1493", - "ssn": "522-41-0947" - } - } - ] - }, - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RecordMetaProperties" - }, - "description": "Inserted records." - } - } - }, - "RecordMetaProperties": { - "type": "object", - "properties": { - "skyflow_id": { - "type": "string", - "description": "ID of the inserted record." - }, - "tokens": { - "type": "object", - "description": "Tokens for the record." - } - } - }, - "TokenizePayload": { - "required": [ - "tokenizationParameters" - ], - "type": "object", - "properties": { - "tokenizationParameters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TokenizeRecordRequest" - }, - "description": "Tokenization details." - } - }, - "x-visibility": [ - "external" - ] - }, - "TokenizeRecordRequest": { - "example": { - "columnGroup": "persons_cg", - "value": "26/02/2001" - }, - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Existing value to return a token for. Must be specified with either `columnGroup` or both `table` and `column`." - }, - "table": { - "type": "string", - "description": "Name of the table that the value belongs to. Must be specified with `column`. Can't be specified with `columnGroup`." - }, - "column": { - "type": "string", - "description": "Name of the column that the value belongs to. Must be specified with `table`. Can't be specified with `columnGroup`." - }, - "columnGroup": { - "type": "string", - "description": "Name of the column group that the value belongs to. Can't be specified with `table` or `column`." - } - }, - "x-visibility": [ - "external" - ] - }, - "TokenizeRecordResponse": { - "required": [ - "token" - ], - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Token corresponding to a value." - } - }, - "x-visibility": [ - "external" - ] - }, - "TokenizeResponse": { - "example": { - "records": [ - { - "token": "04/75/6955" - } - ] - }, - "required": [ - "records" - ], - "type": "object", - "properties": { - "records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TokenizeRecordResponse" - }, - "description": "Tokens corresponding to the specified values." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateRecordRequest": { - "example": { - "record": { - "fields": { - "drivers_license_number": "89867453", - "name": "Steve Smith", - "phone_number": "8794523160", - "ssn": "143-89-2306" - } - }, - "tokenization": true - }, - "type": "object", - "properties": { - "record": { - "$ref": "#/components/schemas/FieldRecords" - }, - "tokenization": { - "type": "boolean", - "default": false, - "description": "If `true`, this operation returns tokens for fields with tokenization enabled." - }, - "byot": { - "enum": [ - "DISABLE", - "ENABLE", - "ENABLE_STRICT" - ], - "type": "string", - "default": "DISABLE", - "description": "Token insertion behavior.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateRecordResponse": { - "example": { - "skyflow_id": "4423ccdf-75eb-4e2e-abfc-acb43b1440cd", - "tokens": { - "drivers_license_number": "2fd8e729-228a-43cf-8274-d0d0efe47f6c", - "name": "f5c268b7-5dd4-4d37-a12d-05d148a8a440", - "phone_number": "4639c565-85c8-4120-94a6-e0e91ffaeca4", - "ssn": "736-96-1306" - } - }, - "type": "object", - "properties": { - "skyflow_id": { - "type": "string", - "description": "ID of the updated record." - }, - "tokens": { - "type": "object", - "additionalProperties": true, - "description": "Tokens for the record." - } - }, - "x-visibility": [ - "external" - ] - }, - "UploadFileRequestV2": { - "required": [ - "tableName", - "columnName", - "file" - ], - "type": "object", - "properties": { - "tableName": { - "type": "string", - "description": "Name of the table." - }, - "columnName": { - "type": "string", - "description": "Name of the column that contains the file." - }, - "skyflowID": { - "type": "string", - "description": "ID of the record to update." - }, - "file": { - "type": "string", - "description": "Path of the file to upload. Each request only supports one file." - }, - "returnFileMetadata": { - "type": "boolean", - "default": false, - "description": "If `true`, returns metadata about the uploaded file." - } - }, - "additionalProperties": false - }, - "UploadFileResponseV2": { - "example": { - "skyflowID": "4423ccdf-75eb-4e2e-abfc-acb43b1440cd", - "fileMetadata": { - "fileName": "kyc.jpeg", - "fileSize": 1024, - "fileType": "application/jpeg" - } - }, - "type": "object", - "properties": { - "skyflowID": { - "type": "string", - "description": "ID of the record to update." - }, - "fileMetadata": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/FileMetadata" - }, - "description": "Metadata for the uploaded file with keys based on the name of the column containing the file." - } - } - }, - "http_code": { - "description": "HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.", - "x-visibility": [ - "external" - ], - "type": "integer", - "format": "int32", - "minimum": 100, - "maximum": 599 - }, - "error_response": { - "type": "object", - "additionalProperties": false, - "required": [ - "error" - ], - "properties": { - "error": { - "type": "object", - "additionalProperties": false, - "required": [ - "grpc_code", - "http_code", - "http_status", - "message" - ], - "properties": { - "grpc_code": { - "description": "gRPC status codes. See https://grpc.io/docs/guides/status-codes.", - "type": "integer", - "format": "int32", - "minimum": 0, - "maximum": 16 - }, - "http_code": { - "$ref": "#/components/schemas/http_code" - }, - "http_status": { - "type": "string", - "maxLength": 100 - }, - "message": { - "type": "string", - "maxLength": 1000 - }, - "details": { - "type": "array", - "maxItems": 25, - "items": { - "x-visibility": [ - "external" - ], - "type": "object", - "additionalProperties": true - } - } - } - } - } - } - }, - "securitySchemes": { - "Bearer": { - "type": "http", - "description": "Access token, prefixed by `Bearer `.", - "scheme": "bearer", - "bearerFormat": "JWT" - } - }, - "headers": { - "x-request-id": { - "description": "Unique identifier for the request.", - "schema": { - "type": "string", - "minLength": 36, - "maxLength": 36 - }, - "example": "d4410ea0-1d83-473c-a09a-24c6b03096d4" - } - }, - "examples": { - "400_response": { - "value": { - "error": { - "grpc_code": 3, - "http_code": 400, - "http_status": "Bad Request", - "message": "The request was invalid or cannot be served. Check the request parameters and try again.", - "details": [] - } - } - }, - "401_response": { - "value": { - "error": { - "grpc_code": 16, - "http_code": 401, - "http_status": "Unauthorized", - "message": "The request is unauthorized. Make sure you have a valid access token.", - "details": [] - } - } - }, - "404_response": { - "value": { - "error": { - "grpc_code": 5, - "http_code": 404, - "http_status": "Not Found", - "message": "The requested resource wasn't found.", - "details": [] - } - } - }, - "500_response": { - "value": { - "error": { - "grpc_code": 13, - "http_code": 500, - "http_status": "Internal Server Error", - "message": "Skyflow services experienced an internal error. Contact Skyflow support with request ID d4410ea0-1d83-473c-a09a-24c6b03096d4 for more information.", - "details": [] - } - } - } - }, - "responses": { - "400": { - "description": "Returned when the request is invalid or cannot be served.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Bad request": { - "$ref": "#/components/examples/400_response" - } - } - } - } - }, - "401": { - "description": "Returned when the request is unauthorized.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Unauthorized": { - "$ref": "#/components/examples/401_response" - } - } - } - } - }, - "404": { - "description": "Returned when a resource doesn't exist.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Not found": { - "$ref": "#/components/examples/404_response" - } - } - } - } - }, - "500": { - "description": "An unexpected error response.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Internal server error": { - "$ref": "#/components/examples/500_response" - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/call-rest-apis/detect-api.md b/skyflow-skills-plugin/skills/call-rest-apis/detect-api.md deleted file mode 100644 index 0049c23..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/detect-api.md +++ /dev/null @@ -1,541 +0,0 @@ -# Detect API (PII Detection & De-identification) - -The Detect API automatically identifies and redacts PII in text and documents using ML-based entity detection. - -**Base URL**: `https://{clusterID}.vault.skyflowapis.com` - -**Authentication**: Bearer token required - -**OpenAPI Spec**: See [detect.openapi.json](detect.openapi.json) for complete request/response schemas - -## API Versions - -The Detect API has two versions: - -- **v1** (`/v1/detect/...`) — Generally available. Uses `snake_case` fields and a per-request `vault_id` plus inline options. -- **v2** (`/v2/detect/...`) — **In beta and feature-flagged.** Uses `camelCase` fields and a reusable Detect **configuration** (via `configurationId` or an inline `configuration` object). See [V2 Endpoints (beta)](#v2-endpoints-beta) below. - -Both versions cover the same operations (de-identify/re-identify strings and files, guardrails, and run status). Use v1 unless you specifically need the v2 configuration-based workflow. - ---- - -## DEIDENTIFY TEXT - Detect and Replace PII - -**Endpoint**: `POST /v1/detect/deidentify/string` -**Operation**: `deidentify_string` - -Scans text for PII and replaces with tokens or placeholders. - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v1/detect/deidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "text": "Contact John at john@example.com or 555-123-4567", - "entity_types": ["EMAIL", "PHONE_NUMBER", "NAME"], - "token_type": "ENTITY_UNIQUE_COUNTER" - }' -``` - -**Response**: -```json -{ - "processed_text": "Contact at or ", - "entities": [ - { - "type": "NAME", - "value": "John", - "location": {"start": 8, "end": 12}, - "confidence": 0.95, - "token": "" - }, - { - "type": "EMAIL", - "value": "john@example.com", - "location": {"start": 16, "end": 32}, - "confidence": 0.99, - "token": "" - } - ] -} -``` - -**Token Types**: - -| Type | Description | Example | -|------|-------------|---------| -| `ENTITY_ONLY` | Simple replacement | `` | -| `ENTITY_UNIQUE_COUNTER` | With counter | ``, `` | -| `VAULT_TOKEN` | Stores in vault, returns Skyflow tokens | `tok_abc123` | - ---- - -## REIDENTIFY TEXT - Restore Original PII - -**Endpoint**: `POST /v1/detect/reidentify/string` -**Operation**: `reidentify_string` - -Restores original values from de-identified text using entity mappings. - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v1/detect/reidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "processed_text": "Contact at ", - "entities": [ - {"type": "NAME", "token": "", "value": "John"}, - {"type": "EMAIL", "token": "", "value": "john@example.com"} - ] - }' -``` - -**Response**: -```json -{ - "text": "Contact John at john@example.com" -} -``` - ---- - -## DEIDENTIFY FILE - Process Documents - -**Endpoint**: `POST /v1/detect/deidentify/file` -**Operation**: `deidentify_file` - -Processes documents (PDF, images) to detect and redact PII. Returns an async run ID; poll `GET /v1/detect/runs/{run_id}` for the result. - -```bash -# Submit file for processing -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v1/detect/deidentify/file" \ - -H "Authorization: Bearer $TOKEN" \ - -F "file=@document.pdf" \ - -F 'entity_types=["NAME","SSN","EMAIL"]' \ - -F "masking_method=REDACT" \ - -F "output_processed_image=true" -``` - -**Response** (async): -```json -{ - "request_id": "abc-123-def-456", - "status": "PROCESSING" -} -``` - -**Check Status**: -```bash -curl -X GET "https://$CLUSTER_ID.vault.skyflowapis.com/v1/detect/runs/abc-123-def-456" \ - -H "Authorization: Bearer $TOKEN" -``` - -**Completed Response**: -```json -{ - "request_id": "abc-123-def-456", - "status": "COMPLETED", - "processed_file_url": "https://...", - "entities": [ - { - "type": "NAME", - "value": "John Doe", - "confidence": 0.95, - "page": 1, - "bounding_box": {...} - } - ] -} -``` - -**Form Fields**: -- `file`: Binary file content -- `entity_types`: JSON array of types to detect (optional, detects all if omitted) -- `masking_method`: `REDACT`, `MASK`, or `REPLACE` (default: `REDACT`) -- `output_processed_image`: Return redacted file (default: `true`) -- `output_ocr_text`: Return extracted text (default: `false`) - ---- - -# V2 Endpoints (beta) - -> **Note**: The v2 API is **in beta and feature-flagged**. Endpoints, fields, and behavior are subject to change. Contact Skyflow to have v2 enabled for your account. - -The v2 API keeps the same set of operations as v1 but changes the request/response shape: - -- Fields use **`camelCase`** (`processedText`, `entityType`, `startIndex`, `runId`) instead of v1's `snake_case`. -- De-identify operations reference a reusable **Detect configuration** — pass either a `configurationId` (ID of a saved configuration) **or** an inline `configuration` object. Only one is required. -- File operations describe the input with `dataSource` + `value` + `dataFormat` instead of a nested `file` object. -- Enum values (status, output type) are **UPPERCASE** (`SUCCESS`, `IN_PROGRESS`, `FAILED`, `BASE64`, `SKYFLOW_ID`, `PRESIGNED_URL`). -- Responses include a `metrics` object (size, word/character count, pages, slides, duration). - -| Operation | Method | Endpoint | Operation ID | -| --- | --- | --- | --- | -| De-identify String | POST | `/v2/detect/deidentify/string` | `deidentify_string_v2` | -| De-identify File | POST | `/v2/detect/deidentify/file` | `deidentify_file_v2` | -| Re-identify String | POST | `/v2/detect/reidentify/string` | `reidentify_string_v2` | -| Re-identify File | POST | `/v2/detect/reidentify/file` | `reidentify_file_v2` | -| Check Guardrails | POST | `/v2/detect/guardrails` | `check_guardrails_v2` | -| Get Detect Run | GET | `/v2/detect/runs/{runId}` | `get_run_v2` | - ---- - -## DEIDENTIFY STRING (v2) - -**Endpoint**: `POST /v2/detect/deidentify/string` -**Operation**: `deidentify_string_v2` - -Provide either `configurationId` or an inline `configuration` — only one is required. - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/deidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "text": "My name is John Doe, and my email is johndoe@acme.com.", - "configurationId": "'"$CONFIGURATION_ID"'" - }' -``` - -**Request fields**: -- `text` (required): Text to de-identify. -- `configurationId` (required unless `configuration` is provided): ID of the Detect configuration to use. -- `configuration` (required unless `configurationId` is provided): Inline Detect configuration object (see [Configurations](#configurations-v2)). - -**Response**: -```json -{ - "processedText": "My name is [NAME_1] and my email is [EMAIL_ADDRESS_1].", - "entities": [ - { - "token": "NAME_1", - "value": "John Doe", - "location": { - "startIndex": 11, - "endIndex": 19, - "startIndexProcessed": 11, - "endIndexProcessed": 19 - }, - "entityType": "NAME", - "entityScores": { "NAME": 0.9152 } - }, - { - "token": "EMAIL_ADDRESS_1", - "value": "johndoe@acme.com", - "location": { - "startIndex": 36, - "endIndex": 52, - "startIndexProcessed": 36, - "endIndexProcessed": 53 - }, - "entityType": "EMAIL_ADDRESS", - "entityScores": { "EMAIL_ADDRESS": 0.8955 } - } - ], - "metrics": { "size": 0.05, "wordCount": 10, "characterCount": 53 } -} -``` - ---- - -## DEIDENTIFY FILE (v2) - -**Endpoint**: `POST /v2/detect/deidentify/file` -**Operation**: `deidentify_file_v2` - -Async operation — returns a `runId`. Poll `GET /v2/detect/runs/{runId}` for the result. - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/deidentify/file" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "dataSource": "BASE64", - "value": "'"$BASE64_DATA"'", - "dataFormat": "pdf", - "configurationId": "'"$CONFIGURATION_ID"'" - }' -``` - -**Request fields**: -- `dataSource` (required): `BASE64` (base64-encoded file string), `SKYFLOW_ID` (reference a file by vault ID), or `PRESIGNED_URL` (S3 presigned URL of the input file). -- `value` (required): File data corresponding to the `dataSource` type. -- `dataFormat` (required): Input file format. One of `mp3`, `wav`, `pdf`, `txt`, `csv`, `json`, `jpg`, `jpeg`, `tif`, `tiff`, `png`, `bmp`, `xls`, `xlsx`, `doc`, `docx`, `ppt`, `pptx`, `xml`, `dcm`, `jsonl`, `zip`, `gif`. -- `configurationId` (required unless `configuration` is provided): ID of the Detect configuration to use. -- `configuration` (required unless `configurationId` is provided): Inline Detect configuration object. - -**Response**: -```json -{ "runId": "$RUN_ID" } -``` - ---- - -## GET DETECT RUN (v2) - -**Endpoint**: `GET /v2/detect/runs/{runId}` -**Operation**: `get_run_v2` - -Poll for the status and output of an async file operation. Requires the `vaultId` query parameter. - -```bash -curl -X GET "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/runs/$RUN_ID?vaultId=$VAULT_ID" \ - -H "Authorization: Bearer $TOKEN" -``` - -**Response**: -```json -{ - "status": "SUCCESS", - "outputType": "PRESIGNED_URL", - "output": [ - { "processedFile": "$REDACTED_TEXT_URL", "processedFileType": "REDACTED_TEXT" }, - { "processedFile": "$ENTITIES_URL", "processedFileType": "ENTITIES" } - ], - "message": "De-identification completed successfully." -} -``` - -- `status`: `UNKNOWN`, `FAILED`, `SUCCESS`, or `IN_PROGRESS`. -- `outputType`: `BASE64`, `SKYFLOW_ID`, or `PRESIGNED_URL`. -- `output[]`: Each entry has `processedFile`, `processedFileType`, and optional `processedFileExtension`. - ---- - -## REIDENTIFY STRING (v2) - -**Endpoint**: `POST /v2/detect/reidentify/string` -**Operation**: `reidentify_string_v2` - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/reidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "vaultId": "'"$VAULT_ID"'", - "text": "My name is [NAME_1], and my email is [EMAIL_ADDRESS_1]." - }' -``` - -**Request fields**: -- `vaultId` (required): ID of the vault used for de-identification. -- `text` (required): Text to re-identify. -- `redactionLevel` (optional): Array of replacement patterns applied to entity types during re-identification. - -**Response**: -```json -{ "processedText": "My name is John Doe, and my email is johndoe@acme.com." } -``` - ---- - -## REIDENTIFY FILE (v2) - -**Endpoint**: `POST /v2/detect/reidentify/file` -**Operation**: `reidentify_file_v2` - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/reidentify/file" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "dataSource": "BASE64", - "value": "'"$BASE64_DATA"'", - "dataFormat": "txt", - "vaultId": "'"$VAULT_ID"'" - }' -``` - -**Request fields**: -- `dataSource` (required): `BASE64`, `SKYFLOW_ID`, or `PRESIGNED_URL`. -- `value` (required): File data corresponding to the `dataSource` type. -- `dataFormat` (required): Input file format (same set as De-identify File). -- `vaultId` (required): ID of the vault used for de-identification. -- `redactionLevel` (optional): Array of replacement patterns applied to entity types during re-identification. - -**Response**: -```json -{ - "status": "SUCCESS", - "outputType": "BASE64", - "output": [ - { - "processedFile": "$PROCESSED_FILE", - "processedFileType": "REIDENTIFIED_FILE", - "processedFileExtension": "txt" - } - ] -} -``` - ---- - -## CHECK GUARDRAILS (v2) - -**Endpoint**: `POST /v2/detect/guardrails` -**Operation**: `check_guardrails_v2` - -Checks text for toxicity and denied topics to preserve safety and compliance with usage policies. - -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/guardrails" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "vaultId": "'"$VAULT_ID"'", - "text": "I love to play cricket.", - "checkToxicity": true, - "denyTopics": ["sports"] - }' -``` - -**Request fields**: -- `vaultId` (required): ID of the vault. -- `text` (required): Text to check against guardrails (max 500,000 characters). -- `checkToxicity` (optional, default `true`): If `true`, checks for toxicity. -- `denyTopics` (optional): List of topics to deny (max 100 items, each up to 60 characters). - -**Response**: -```json -{ - "text": "I love to play cricket.", - "toxic": false, - "deniedTopic": true, - "validation": "FAILED" -} -``` - -- `validation`: `PASSED` or `FAILED`. - -> **Beta caveat**: The v2 guardrails **schema** uses `camelCase` (`checkToxicity`, `denyTopics`, `deniedTopic`) and uppercase `validation` values, as documented above. Some examples in the beta OpenAPI spec still show `snake_case` (`check_toxicity`, `deny_topics`, `denied_topic`) and lowercase `validation`. If a request fails, confirm the expected casing with your Skyflow contact until the beta spec is finalized. - ---- - -## Configurations (v2) - -De-identify operations in v2 use a reusable **Detect configuration** instead of passing options on every request. Reference a saved configuration by `configurationId`, or send an inline `configuration` object. - -A configuration is bound to a vault and can describe detection settings and file/media handling. Minimal inline example: - -```json -{ - "configuration": { - "name": "my-detect-config", - "vaultId": "$VAULT_ID", - "detect": { } - } -} -``` - -Key fields: -- `vaultId` (required): ID of the vault the configuration applies to. -- `name`, `description`: Human-readable identifiers. -- `detect`: Detection and de-identification settings. -- `fileMapping`: Mappings for source and de-identified file locations. -- `media`: Media (audio/document/image) handling options. - -See `DetectConfigV2` in [detect.openapi.json](detect.openapi.json) for the complete configuration schema. - ---- - -# Migrating from v1 to v2 - -> **Note**: v2 is **in beta and feature-flagged**. Keep v1 in place until v2 is enabled for your account and validated against your workloads. The two versions can run side by side — migrate one operation at a time. - -## Endpoint mapping - -| Operation | v1 | v2 | -| --- | --- | --- | -| De-identify string | `POST /v1/detect/deidentify/string` | `POST /v2/detect/deidentify/string` | -| De-identify file | `POST /v1/detect/deidentify/file` | `POST /v2/detect/deidentify/file` | -| Re-identify string | `POST /v1/detect/reidentify/string` | `POST /v2/detect/reidentify/string` | -| Re-identify file | `POST /v1/detect/reidentify/file` | `POST /v2/detect/reidentify/file` | -| Check guardrails | `POST /v1/detect/guardrails` | `POST /v2/detect/guardrails` | -| Get detect run | `GET /v1/detect/runs/{run_id}` | `GET /v2/detect/runs/{runId}` | - -The v1 category- and type-specific de-identify file endpoints (`/v1/detect/deidentify/file/document`, `/file/image`, `/file/audio`, `/file/document/pdf`, etc.) are **consolidated** in v2: use the single `POST /v2/detect/deidentify/file` and drive file-type behavior through the Detect **configuration** (`media` / `fileMapping`) instead. - -## What changes - -1. **Options move into a configuration.** v1 passes `vault_id` plus inline options on every request. v2 replaces this with a reusable Detect configuration — send a `configurationId` **or** an inline `configuration` object. (Re-identify and guardrails still take `vaultId` directly.) -2. **Fields are `camelCase`.** All request/response fields switch from `snake_case` to `camelCase`. -3. **File inputs are flattened.** The nested `file: { base64, data_format }` object becomes three top-level fields: `dataSource` (`BASE64` \| `SKYFLOW_ID` \| `PRESIGNED_URL`), `value`, and `dataFormat`. -4. **Enum values are UPPERCASE.** `status` (`SUCCESS`, `IN_PROGRESS`, `FAILED`, `UNKNOWN`), `outputType`, and processed-file types are uppercase in v2. Note `outputType` **replaces** v1's `efs_path` with `PRESIGNED_URL`. -5. **New `metrics` object.** String responses now return `metrics` (`size`, `wordCount`, `characterCount`, and for files `pages`/`slides`/`duration`). In v1, `word_count`/`character_count` were top-level fields. -6. **A couple of response shapes changed** (see the field reference below) — notably re-identify string's output field and re-identify file's `output` container. - -## Field name reference - -Common renames (v1 → v2): - -| v1 (`snake_case`) | v2 (`camelCase`) | -| --- | --- | -| `vault_id` | `vaultId` (or a `configurationId` for de-identify) | -| `processed_text` | `processedText` | -| `entity_type` | `entityType` | -| `entity_scores` | `entityScores` | -| `start_index` / `end_index` | `startIndex` / `endIndex` | -| `start_index_processed` / `end_index_processed` | `startIndexProcessed` / `endIndexProcessed` | -| `word_count` / `character_count` (top-level) | `metrics.wordCount` / `metrics.characterCount` | -| `run_id` | `runId` | -| `output_type` | `outputType` | -| `processed_file` / `processed_file_type` | `processedFile` / `processedFileType` | -| `processed_file_extension` | `processedFileExtension` | -| `check_toxicity` / `deny_topics` / `denied_topic` | `checkToxicity` / `denyTopics` / `deniedTopic` (see guardrails caveat) | - -Shape changes to watch for: -- **Re-identify string** — the result field is renamed from `text` (v1) to `processedText` (v2). -- **Re-identify file** — `output` changes from a single object (v1) to an **array** of file outputs (v2). -- **Processed-file types** — lowercase in v1 (`redacted_text`, `entities`, `reidentified_file`) become uppercase in v2 (`REDACTED_TEXT`, `ENTITIES`, `REIDENTIFIED_FILE`). - -## Before / after example - -De-identify a string. - -**v1**: -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v1/detect/deidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "vault_id": "'"$VAULT_ID"'", - "text": "My name is John Doe, and my email is johndoe@acme.com." - }' -# -> { "processed_text": "...", "word_count": 10, "character_count": 53, "entities": [...] } -``` - -**v2**: -```bash -curl -X POST "https://$CLUSTER_ID.vault.skyflowapis.com/v2/detect/deidentify/string" \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d '{ - "configurationId": "'"$CONFIGURATION_ID"'", - "text": "My name is John Doe, and my email is johndoe@acme.com." - }' -# -> { "processedText": "...", "entities": [...], "metrics": { "wordCount": 10, "characterCount": 53 } } -``` - -## Migration checklist - -- [ ] Confirm v2 is enabled for your account (beta / feature-flagged). -- [ ] Create a Detect **configuration** (capturing your v1 inline options) and note its `configurationId`, or build an inline `configuration`. -- [ ] Point requests at `/v2/detect/...`. -- [ ] Rename request fields to `camelCase`; flatten file inputs to `dataSource`/`value`/`dataFormat`. -- [ ] Update response parsing: `camelCase` fields, `metrics` object, uppercase enums, re-identify field/shape changes. -- [ ] For guardrails, verify field casing against the live endpoint (see the [beta caveat](#check-guardrails-v2)). -- [ ] Run v1 and v2 in parallel and diff outputs before cutting over. - ---- - -## Supported Entity Types - -| Category | Entity Types | -|----------|--------------| -| **Personal** | `NAME`, `PERSON`, `DATE_OF_BIRTH`, `DOB`, `AGE`, `GENDER` | -| **Contact** | `EMAIL`, `EMAIL_ADDRESS`, `PHONE`, `PHONE_NUMBER`, `ADDRESS`, `STREET_ADDRESS` | -| **Government IDs** | `SSN`, `SOCIAL_SECURITY_NUMBER`, `DRIVER_LICENSE`, `DRIVERS_LICENSE_NUMBER`, `PASSPORT`, `PASSPORT_NUMBER` | -| **Financial** | `CREDIT_CARD`, `CREDIT_CARD_NUMBER`, `US_BANK_ACCOUNT_NUMBER`, `ROUTING_NUMBER` | -| **Network** | `IP_ADDRESS`, `IPV4`, `IPV6` | - -See the OpenAPI spec for the complete list of 50+ supported entity types. diff --git a/skyflow-skills-plugin/skills/call-rest-apis/detect.openapi.json b/skyflow-skills-plugin/skills/call-rest-apis/detect.openapi.json deleted file mode 100644 index 15a2b6c..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/detect.openapi.json +++ /dev/null @@ -1,7545 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "Detect API", - "description": "**Note:** This API is in beta and subject to change.\n\nThis API detects and de-identifies sensitive data in the specified content.\n\nThe Detect API is available from two base URIs. *identifier* is the identifier in your vault's URL.\n\n- **Sandbox:** https://*identifier*.vault.skyflowapis-preview.com\n- **Production:** https://*identifier*.vault.skyflowapis.com\n\nThe user or service account calling the Detect API must have Detect Invoker or Vault Owner permissions for the specified vault.\n\nWhen you make an API call, you need to add an *Authorization* header:\n\n| Header | Value | Example |\n| --- | --- | --- |\n| Authorization | A Bearer Token. See [API Authentication](/docs/fundamentals/api-authentication). | `Authorization: Bearer eyJhbGciOiJSUzI...1NiIsJdfPA` |", - "license": { - "name": "Proprietary", - "url": "https://docs.skyflow.com" - }, - "version": "2026.06" - }, - "servers": [ - { - "url": "https://{identifier}.vault.skyflowapis.com", - "description": "Production", - "variables": { - "identifier": { - "default": "{{vaultUri}}", - "description": "The unique identifier for the vault." - } - } - }, - { - "url": "https://{identifier}.vault.skyflowapis-preview.com", - "description": "Sandbox", - "variables": { - "identifier": { - "default": "{{vaultUri}}", - "description": "The unique identifier for the vault." - } - } - } - ], - "externalDocs": { - "description": "Guides, tutorials, and references for using Skyflow.", - "url": "https://docs.skyflow.com/" - }, - "paths": { - "/v1/detect/deidentify/file": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify File", - "description": "De-identifies sensitive data from a file. This operation includes options applicable to all supported file types.

      For more specific options, see the category-specific operations (like De-identify Document) and the file type-specific opertions (like De-identify PDF).

      Note:
      Layout may vary with token-based redaction for MS Office files (PPT, DOCX, and XLS) and PDFs when token-based PDF processing is selected.", - "operationId": "deidentify_file", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_file" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/audio": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Audio", - "description": "De-identifies sensitive data from an audio file. This operation includes options applicable to all supported audio file types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_audio", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileAudioRequest_deidentify_audio" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "mp3" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "mp3" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/document": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Document", - "description": "De-identifies sensitive data from a document file. This operation includes options applicable to all supported document file types.

      For more specific options, see the file type-specific opertions (like De-identify PDF) where they're available. For broader file type support, see De-identify File.", - "operationId": "deidentify_document", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_document" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "docx" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "docx" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/document/pdf": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify PDF", - "description": "De-identifies sensitive data from a PDF file. This operation includes options specific to PDF files.

      For broader file type support, see De-identify Document and De-identify File.", - "operationId": "deidentify_pdf", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileDocumentPdfRequest_deidentify_pdf" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "pdf" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "pdf" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/image": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Image", - "description": "De-identifies sensitive data from an image file. This operation includes options applicable to all supported image file types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_image", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileImageRequest_deidentify_image" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "jpg" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "jpg" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/presentation": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Presentation", - "description": "De-identifies sensitive data from a presentation file. This operation includes options applicable to all supported presentation file types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_presentation", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_presentation" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "pptx" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "pptx" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/spreadsheet": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Spreadsheet", - "description": "De-identifies sensitive data from a spreadsheet file. This operation includes options applicable to all supported spreadsheet file types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_spreadsheet", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_spreadsheet" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "csv" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "csv" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/structured_text": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Structured Text", - "description": "De-identifies sensitive data from a structured text file. This operation includes options applicable to all supported structured text file types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_structured_text", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_structured_text" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "json" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "json" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/file/text": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "De-identify Text", - "description": "De-identifies sensitive data from a text file. This operation includes options applicable to all supported image text types.

      For broader file type support, see De-identify File.", - "operationId": "deidentify_text", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequest_deidentify_text" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "run_id": "8e1f02be-95f1-4868-af33-3c8419bd0d73" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/deidentify/string": { - "post": { - "tags": [ - "Strings V1" - ], - "summary": "De-identify String", - "description": "De-identifies sensitive data from a string.", - "operationId": "deidentify_string", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyStringRequest" - }, - "examples": { - "Placeholders": { - "value": { - "vault_id": "$VAULT_ID", - "text": "My name is John Doe, and my email is johndoe@acme.com." - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyStringResponse" - }, - "examples": { - "Placeholders": { - "value": { - "processed_text": "My name is [NAME_1] and my email is [EMAIL_ADDRESS_1].", - "word_count": 10, - "character_count": 53, - "entities": [ - { - "token": "NAME_1", - "value": "John Doe", - "location": { - "start_index": 11, - "end_index": 19, - "start_index_processed": 11, - "end_index_processed": 19 - }, - "entity_type": "NAME", - "entity_scores": { - "NAME": 0.9152, - "NAME_FAMILY": 0.4583, - "NAME_GIVEN": 0.4457 - } - }, - { - "token": "EMAIL_ADDRESS_1", - "value": "johndoe@acme.com", - "location": { - "start_index": 36, - "end_index": 52, - "start_index_processed": 36, - "end_index_processed": 53 - }, - "entity_type": "EMAIL_ADDRESS", - "entity_scores": { - "EMAIL_ADDRESS": 0.8955 - } - } - ] - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "vault_id": "$VAULT_ID", - "text": "My name is John Doe, and my email is johndoe@acme.com." - } - }, - "response": { - "200": { - "body": { - "processed_text": "My name is [NAME_1] and my email is [EMAIL_ADDRESS_1].", - "word_count": 10, - "character_count": 53, - "entities": [ - { - "token": "NAME_1", - "value": "John Doe", - "location": { - "start_index": 11, - "end_index": 19, - "start_index_processed": 11, - "end_index_processed": 19 - }, - "entity_type": "NAME", - "entity_scores": { - "NAME": 0.9152, - "NAME_FAMILY": 0.4583, - "NAME_GIVEN": 0.4457 - } - }, - { - "token": "EMAIL_ADDRESS_1", - "value": "johndoe@acme.com", - "location": { - "start_index": 36, - "end_index": 52, - "start_index_processed": 36, - "end_index_processed": 53 - }, - "entity_type": "EMAIL_ADDRESS", - "entity_scores": { - "EMAIL_ADDRESS": 0.8955 - } - } - ] - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/guardrails": { - "post": { - "tags": [ - "Guardrails V1" - ], - "summary": "Check Guardrails", - "description": "Preserve safety and compliance with usage policies.", - "operationId": "check_guardrails", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectGuardrailsRequest" - }, - "examples": { - "Placeholders": { - "value": { - "vault_id": "$VAULT_ID", - "text": "I love to play cricket.", - "check_toxicity": true, - "deny_topics": [ - "sports" - ] - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectGuardrailsResponse" - }, - "examples": { - "Placeholders": { - "value": { - "text": "I love to play cricket.", - "toxic": false, - "denied_topic": true, - "validation": "failed" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "vault_id": "$VAULT_ID", - "text": "I love to play cricket.", - "check_toxicity": true, - "deny_topics": [ - "sports" - ] - } - }, - "response": { - "200": { - "body": { - "text": "I love to play cricket.", - "toxic": false, - "denied_topic": true, - "validation": "failed" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/reidentify/file": { - "post": { - "tags": [ - "Files V1" - ], - "summary": "Re-identify File", - "description": "Re-identifies tokens in a file.", - "operationId": "reidentify_file", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyFileRequest_reidentify_file" - }, - "examples": { - "Placeholders": { - "value": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyFileResponse" - }, - "examples": { - "Placeholders": { - "value": { - "status": "success", - "output_type": "BASE64", - "output": { - "processed_file": "$PROCESSED_FILE", - "processed_file_type": "reidentified_file", - "processed_file_extension": "txt" - } - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "file": { - "base64": "$BASE64_DATA", - "data_format": "txt" - }, - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "status": "success", - "output_type": "BASE64", - "output": { - "processed_file": "$PROCESSED_FILE", - "processed_file_type": "reidentified_file", - "processed_file_extension": "txt" - } - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/reidentify/string": { - "post": { - "tags": [ - "Strings V1" - ], - "summary": "Re-identify String", - "description": "Re-identifies tokens in a string.", - "operationId": "reidentify_string", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyStringRequest" - }, - "examples": { - "Placeholders": { - "value": { - "text": "My name is [NAME_1], and my email is [EMAIL_1].", - "vault_id": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdentifyResponse" - }, - "examples": { - "Placeholders": { - "value": { - "text": "My name is John Doe, and my email is johndoe@acme.com" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "text": "My name is [NAME_1], and my email is [EMAIL_1].", - "vault_id": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "text": "My name is John Doe, and my email is johndoe@acme.com" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/runs/{run_id}": { - "get": { - "tags": [ - "Files V1" - ], - "summary": "Get Detect Run", - "description": "Returns the status of a detect run.", - "operationId": "get_run", - "parameters": [ - { - "name": "run_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "vault_id", - "in": "query", - "schema": { - "type": "string" - }, - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectRunsResponse" - }, - "examples": { - "Placeholders": { - "value": { - "status": "success", - "output_type": "efs_path", - "output": [ - { - "processed_file": "$REDACTED_TEXT_URL", - "processed_file_type": "redacted_text" - }, - { - "processed_file": "$ENTITIES_URL", - "processed_file_type": "entities" - } - ], - "message": "De-identification completed successfully." - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "vault_id" - ], - "x-required-query-parameters": [ - "vault_id" - ], - "x-examples": [ - { - "name": "Placeholders", - "response": { - "200": { - "body": { - "status": "success", - "output_type": "efs_path", - "output": [ - { - "processed_file": "$REDACTED_TEXT_URL", - "processed_file_type": "redacted_text" - }, - { - "processed_file": "$ENTITIES_URL", - "processed_file_type": "entities" - } - ], - "message": "De-identification completed successfully." - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/deidentify/file": { - "post": { - "tags": [ - "Files V2" - ], - "summary": "De-identify File V2", - "description": "De-identifies sensitive data from a file.

      Note:\n- Layout may vary with token-based redaction for MS Office files (PPT, DOCX, and XLS) and PDFs when token-based PDF processing is selected.\n- V2 API is in beta and feature-flagged.", - "operationId": "deidentify_file_v2", - "requestBody": { - "description": "Request to de-identify a file. Provide either `configurationId` or `configuration` — only one is required.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileRequestV2" - }, - "examples": { - "Placeholders": { - "value": { - "dataSource": "BASE64", - "value": "$BASE64_DATA", - "dataFormat": "pdf", - "configurationId": "$CONFIGURATION_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyFileResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "runId": "$RUN_ID" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "dataSource": "BASE64", - "value": "$BASE64_DATA", - "dataFormat": "pdf", - "configurationId": "$CONFIGURATION_ID" - } - }, - "response": { - "200": { - "body": { - "runId": "$RUN_ID" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/deidentify/string": { - "post": { - "tags": [ - "Strings V2" - ], - "summary": "De-identify String V2", - "description": "De-identifies sensitive data from a string.

      Note: V2 API is in beta and feature-flagged.", - "operationId": "deidentify_string_v2", - "requestBody": { - "description": "Request to de-identify a string. Provide either `configurationId` or `configuration` — only one is required.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyStringRequestV2" - }, - "examples": { - "Placeholders": { - "value": { - "text": "My name is John Doe, and my email is johndoe@acme.com.", - "configurationId": "$CONFIGURATION_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeidentifyStringResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "processedText": "My name is [NAME_1] and my email is [EMAIL_ADDRESS_1].", - "entities": [ - { - "token": "NAME_1", - "value": "John Doe", - "location": { - "startIndex": 11, - "endIndex": 19, - "startIndexProcessed": 11, - "endIndexProcessed": 19 - }, - "entityType": "NAME", - "entityScores": { - "NAME": 0.9152 - } - }, - { - "token": "EMAIL_ADDRESS_1", - "value": "johndoe@acme.com", - "location": { - "startIndex": 36, - "endIndex": 52, - "startIndexProcessed": 36, - "endIndexProcessed": 53 - }, - "entityType": "EMAIL_ADDRESS", - "entityScores": { - "EMAIL_ADDRESS": 0.8955 - } - } - ], - "metrics": { - "size": 0.05, - "wordCount": 10, - "characterCount": 53 - } - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "text": "My name is John Doe, and my email is johndoe@acme.com.", - "configurationId": "$CONFIGURATION_ID" - } - }, - "response": { - "200": { - "body": { - "processedText": "My name is [NAME_1] and my email is [EMAIL_ADDRESS_1].", - "entities": [ - { - "token": "NAME_1", - "value": "John Doe", - "location": { - "startIndex": 11, - "endIndex": 19, - "startIndexProcessed": 11, - "endIndexProcessed": 19 - }, - "entityType": "NAME", - "entityScores": { - "NAME": 0.9152 - } - }, - { - "token": "EMAIL_ADDRESS_1", - "value": "johndoe@acme.com", - "location": { - "startIndex": 36, - "endIndex": 52, - "startIndexProcessed": 36, - "endIndexProcessed": 53 - }, - "entityType": "EMAIL_ADDRESS", - "entityScores": { - "EMAIL_ADDRESS": 0.8955 - } - } - ], - "metrics": { - "size": 0.05, - "wordCount": 10, - "characterCount": 53 - } - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/guardrails": { - "post": { - "tags": [ - "Guardrails V2" - ], - "summary": "Check Guardrails V2", - "description": "Preserve safety and compliance with usage policies.

      Note: V2 API is in beta and feature-flagged.", - "operationId": "check_guardrails_v2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectGuardrailsRequestV2" - }, - "examples": { - "Placeholders": { - "value": { - "vault_id": "$VAULT_ID", - "text": "I love to play cricket.", - "check_toxicity": true, - "deny_topics": [ - "sports" - ] - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectGuardrailsResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "text": "I love to play cricket.", - "toxic": false, - "denied_topic": true, - "validation": "failed" - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "vault_id": "$VAULT_ID", - "text": "I love to play cricket.", - "check_toxicity": true, - "deny_topics": [ - "sports" - ] - } - }, - "response": { - "200": { - "body": { - "text": "I love to play cricket.", - "toxic": false, - "denied_topic": true, - "validation": "failed" - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/reidentify/file": { - "post": { - "tags": [ - "Files V2" - ], - "summary": "Re-identify File V2", - "description": "Re-identifies tokens in a file.

      Note: V2 API is in beta and feature-flagged.", - "operationId": "reidentify_file_v2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyFileRequestV2" - }, - "examples": { - "Placeholders": { - "value": { - "dataSource": "BASE64", - "value": "$BASE64_DATA", - "dataFormat": "txt", - "vaultId": "$VAULT_ID" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyFileResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "status": "SUCCESS", - "outputType": "BASE64", - "output": [ - { - "processedFile": "$PROCESSED_FILE", - "processedFileType": "REIDENTIFIED_FILE", - "processedFileExtension": "txt" - } - ] - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "dataSource": "BASE64", - "value": "$BASE64_DATA", - "dataFormat": "txt", - "vaultId": "$VAULT_ID" - } - }, - "response": { - "200": { - "body": { - "status": "SUCCESS", - "outputType": "BASE64", - "output": [ - { - "processedFile": "$PROCESSED_FILE", - "processedFileType": "REIDENTIFIED_FILE", - "processedFileExtension": "txt" - } - ] - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/reidentify/string": { - "post": { - "tags": [ - "Strings V2" - ], - "summary": "Re-identify String V2", - "description": "Re-identifies tokens in a string.

      Note: V2 API is in beta and feature-flagged.", - "operationId": "reidentify_string_v2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyStringRequestV2" - }, - "examples": { - "Placeholders": { - "value": { - "vaultId": "$VAULT_ID", - "text": "My name is [NAME_1], and my email is [EMAIL_ADDRESS_1]." - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReidentifyStringResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "processedText": "My name is John Doe, and my email is johndoe@acme.com." - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-examples": [ - { - "name": "Placeholders", - "request": { - "body": { - "vaultId": "$VAULT_ID", - "text": "My name is [NAME_1], and my email is [EMAIL_ADDRESS_1]." - } - }, - "response": { - "200": { - "body": { - "processedText": "My name is John Doe, and my email is johndoe@acme.com." - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/detect/runs/{runId}": { - "get": { - "tags": [ - "Files V2" - ], - "summary": "Get Detect Run V2", - "description": "Returns the status of a detect run.

      Note: V2 API is in beta and feature-flagged.", - "operationId": "get_run_v2", - "parameters": [ - { - "name": "runId", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "vaultId", - "in": "query", - "schema": { - "type": "string" - }, - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DetectRunsResponseV2" - }, - "examples": { - "Placeholders": { - "value": { - "status": "SUCCESS", - "outputType": "PRESIGNED_URL", - "output": [ - { - "processedFile": "$REDACTED_TEXT_URL", - "processedFileType": "REDACTED_TEXT" - }, - { - "processedFile": "$ENTITIES_URL", - "processedFileType": "ENTITIES" - } - ], - "message": "De-identification completed successfully." - } - } - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "vaultId" - ], - "x-required-query-parameters": [ - "vaultId" - ], - "x-examples": [ - { - "name": "Placeholders", - "response": { - "200": { - "body": { - "status": "SUCCESS", - "outputType": "PRESIGNED_URL", - "output": [ - { - "processedFile": "$REDACTED_TEXT_URL", - "processedFileType": "REDACTED_TEXT" - }, - { - "processedFile": "$ENTITIES_URL", - "processedFileType": "ENTITIES" - } - ], - "message": "De-identification completed successfully." - } - } - } - } - ], - "x-fern-audiences": [ - "external" - ] - } - } - }, - "components": { - "schemas": { - "AudioV2": { - "type": "object", - "properties": { - "outputProcessedAudio": { - "type": "boolean", - "default": true, - "description": "If `true`, includes processed audio file in the response." - }, - "outputTranscription": { - "enum": [ - "NONE", - "TRANSCRIPTION", - "MEDICAL_TRANSCRIPTION", - "DIARIZED_TRANSCRIPTION", - "MEDICAL_DIARIZED_TRANSCRIPTION" - ], - "type": "string", - "default": "NONE", - "description": "Transcription type to include in the response.", - "format": "enum" - }, - "bleep": { - "$ref": "#/components/schemas/AudioV2_Bleep" - } - }, - "description": "Audio detection and deidentification configuration.", - "x-visibility": [ - "external" - ] - }, - "AudioV2_Bleep": { - "type": "object", - "properties": { - "startPadding": { - "maximum": 20, - "type": "number", - "default": 0.5, - "description": "Padding added to the beginning of a bleep, in seconds. Range: 0–20. Defaults to 0.5.", - "format": "float" - }, - "stopPadding": { - "maximum": 20, - "type": "number", - "default": 0.2, - "description": "Padding added to the end of a bleep, in seconds. Range: 0–20. Defaults to 0.2.", - "format": "float" - }, - "frequency": { - "maximum": 20000, - "minimum": 20, - "type": "integer", - "default": 600, - "description": "Frequency of the sine wave used for the bleep sound, in Hz.", - "format": "int32" - }, - "gain": { - "minimum": -60, - "type": "integer", - "default": -3, - "description": "Relative loudness of the bleep. Positive values increase loudness and negative values decrease it.", - "format": "int32" - } - }, - "description": "Configuration for the bleep sound used to mask detected entities in audio.", - "x-visibility": [ - "external" - ] - }, - "DeidentifiedFileOutput": { - "type": "object", - "properties": { - "processedFile": { - "type": "string", - "description": "File content in Base64 format." - }, - "processedFileType": { - "enum": [ - "redacted_audio", - "redacted_image", - "redacted_transcription", - "redacted_file", - "redacted_text", - "entities", - "redacted_transcription_diarize_json" - ], - "type": "string", - "description": "Type of the processed file.", - "format": "enum" - }, - "processedFileExtension": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "zip", - "gif" - ], - "type": "string", - "description": "Extension of the processed file.", - "format": "enum" - } - }, - "description": "Details of output files. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "DeidentifyFileRequestV2": { - "required": [ - "dataSource", - "value", - "configurationId", - "dataFormat" - ], - "type": "object", - "properties": { - "dataSource": { - "enum": [ - "BASE64", - "SKYFLOW_ID", - "PRESIGNED_URL" - ], - "type": "string", - "description": "Data source of the input file. `BASE64`: Base64-encoded file string. `SKYFLOW_ID`: Reference file by vault ID. `PRESIGNED_URL`: S3 presigned URL of input file.", - "format": "enum" - }, - "value": { - "type": "string", - "description": "File data corresponding to the specified `dataSource` type." - }, - "dataFormat": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "zip", - "gif" - ], - "type": "string", - "description": "Format of the input file.", - "format": "enum" - }, - "configurationId": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification." - }, - "configuration": { - "$ref": "#/components/schemas/DetectConfigV2" - } - }, - "description": "De-identifies sensitive data in a file. Provide either `configurationId` or `configuration` — only one is required.", - "x-visibility": [ - "external" - ] - }, - "DeidentifyFileResponse": { - "type": "object", - "properties": { - "run_id": { - "type": "string", - "description": "Status URL for the Detect run." - } - }, - "description": "Response to deidentify a file." - }, - "DeidentifyFileResponseV2": { - "type": "object", - "properties": { - "runId": { - "type": "string", - "description": "Run ID of the deidentification request." - } - }, - "description": "Response containing the run ID for tracking the async deidentification job." - }, - "DeidentifyStringRequest": { - "example": { - "text": [ - "S: 62yo female here for first visit. No concerns today. Her FP (Dr. Benyamin) is retiring soon. Up to date on pap, mammo, labs, BMD. On the waitlist for colonoscopy. Past Medical and Surgical hx: nil. Meds: nil. Allergies: Pn. Family and Social hx: see CPP. O: Temp 35.2;BP 145-73; HR 58. Appears well. A: First visit. P: CPP updated. RTC prn. A007. First visit. Type Name: Clinical Note" - ], - "vault_id": "f4b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b" - }, - "required": [ - "text", - "vault_id" - ], - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "Text to de-identify." - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "String Request to deidentify a string." - }, - "DeidentifyStringRequestV2": { - "required": [ - "text", - "configurationId" - ], - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "Text to deidentify." - }, - "configurationId": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification." - }, - "configuration": { - "$ref": "#/components/schemas/DetectConfigV2" - } - }, - "description": "De-identifies sensitive data in a string. Provide either `configurationId` or `configuration` — only one is required.", - "x-visibility": [ - "external" - ] - }, - "DeidentifyStringResponse": { - "example": { - "word_count": 70, - "character_count": 552, - "entities": [ - { - "best_label": "NAME", - "labels": { - "NAME": 0.8016 - }, - "location": { - "end_index": 1, - "end_index_processed": 8, - "start_idx": 0, - "start_idx_processed": 0 - }, - "value": "S", - "token": "NAME_1" - }, - { - "best_label": "AGE", - "labels": { - "AGE": 0.9003 - }, - "location": { - "end_index": 7, - "end_index_processed": 17, - "start_idx": 3, - "start_idx_processed": 10 - }, - "value": "62yo", - "token": "AGE_1" - }, - { - "best_label": "GENDER_SEXUALITY", - "labels": { - "GENDER_SEXUALITY": 0.9487 - }, - "location": { - "end_index": 14, - "end_index_processed": 38, - "start_idx": 8, - "start_idx_processed": 18 - }, - "value": "female", - "token": "GENDER_SEXUALITY_1" - }, - { - "best_label": "OCCUPATION", - "labels": { - "OCCUPATION": 0.6695 - }, - "location": { - "end_index": 62, - "end_index_processed": 98, - "start_idx": 60, - "start_idx_processed": 84 - }, - "value": "FP", - "token": "OCCUPATION_1" - }, - { - "best_label": "OCCUPATION", - "labels": { - "OCCUPATION": 0.9102 - }, - "location": { - "end_index": 66, - "end_index_processed": 114, - "start_idx": 64, - "start_idx_processed": 100 - }, - "value": "Dr", - "token": "OCCUPATION_2" - }, - { - "best_label": "NAME_FAMILY", - "labels": { - "NAME": 0.9109, - "NAME_FAMILY": 0.8204 - }, - "location": { - "end_index": 76, - "end_index_processed": 131, - "start_idx": 68, - "start_idx_processed": 116 - }, - "value": "Benyamin", - "token": "NAME_FAMILY_1" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.9443 - }, - "location": { - "end_index": 113, - "end_index_processed": 184, - "start_idx": 110, - "start_idx_processed": 165 - }, - "value": "pap", - "token": "MEDICAL_PROCESS_1" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.9415 - }, - "location": { - "end_index": 120, - "end_index_processed": 205, - "start_idx": 115, - "start_idx_processed": 186 - }, - "value": "mammo", - "token": "MEDICAL_PROCESS_2" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.9361 - }, - "location": { - "end_index": 126, - "end_index_processed": 226, - "start_idx": 122, - "start_idx_processed": 207 - }, - "value": "labs", - "token": "MEDICAL_PROCESS_3" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.9304 - }, - "location": { - "end_index": 131, - "end_index_processed": 247, - "start_idx": 128, - "start_idx_processed": 228 - }, - "value": "BMD", - "token": "MEDICAL_PROCESS_4" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.9374 - }, - "location": { - "end_index": 164, - "end_index_processed": 288, - "start_idx": 153, - "start_idx_processed": 269 - }, - "value": "colonoscopy", - "token": "MEDICAL_PROCESS_5" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.5688 - }, - "location": { - "end_index": 178, - "end_index_processed": 314, - "start_idx": 171, - "start_idx_processed": 295 - }, - "value": "Medical", - "token": "MEDICAL_PROCESS_6" - }, - { - "best_label": "MEDICAL_PROCESS", - "labels": { - "MEDICAL_PROCESS": 0.5271 - }, - "location": { - "end_index": 194, - "end_index_processed": 338, - "start_idx": 183, - "start_idx_processed": 319 - }, - "value": "Surgical hx", - "token": "MEDICAL_PROCESS_7" - }, - { - "best_label": "CONDITION", - "labels": { - "CONDITION": 0.9266 - }, - "location": { - "end_index": 221, - "end_index_processed": 369, - "start_idx": 212, - "start_idx_processed": 356 - }, - "value": "Allergies", - "token": "CONDITION_1" - }, - { - "best_label": "HEALTHCARE_NUMBER", - "labels": { - "HEALTHCARE_NUMBER": 0.7927 - }, - "location": { - "end_index": 348, - "end_index_processed": 513, - "start_idx": 344, - "start_idx_processed": 492 - }, - "value": "A007", - "token": "HEALTHCARE_NUMBER_1" - } - ], - "processed_text": "[NAME_1]: [AGE_1] [GENDER_SEXUALITY_1] here for first visit. No concerns today. Her [OCCUPATION_1] ([OCCUPATION_2]. [NAME_FAMILY_1]) is retiring soon. Up to date on [MEDICAL_PROCESS_1], [MEDICAL_PROCESS_2], [MEDICAL_PROCESS_3], [MEDICAL_PROCESS_4]. On the waitlist for [MEDICAL_PROCESS_5]. Past [MEDICAL_PROCESS_6] and [MEDICAL_PROCESS_7]: nil. Meds: nil. [CONDITION_1]: Pn. Family and Social hx: see CPP. O: Temp 35.2;BP 145-73; HR 58. Appears well. A: First visit. P: CPP updated. RTC prn. [HEALTHCARE_NUMBER_1]. First visit. Type Name: Clinical Note" - }, - "type": "object", - "properties": { - "processed_text": { - "type": "string", - "description": "De-identified text." - }, - "entities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StringResponseEntities" - }, - "description": "Detected entities." - }, - "word_count": { - "type": "integer", - "description": "Number of words from the input text.", - "format": "int32" - }, - "character_count": { - "type": "integer", - "description": "Number of characters from the input text.", - "format": "int32" - } - }, - "description": "Response to deidentify a string." - }, - "DeidentifyStringResponseV2": { - "type": "object", - "properties": { - "processedText": { - "type": "string", - "description": "Deidentified text with sensitive entities replaced." - }, - "entities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DeidentifyStringResponseV2_DetectedEntity" - }, - "description": "Detected entities." - }, - "metrics": { - "$ref": "#/components/schemas/Metrics" - } - }, - "description": "Response containing the deidentified string and detected entity metadata." - }, - "DeidentifyStringResponseV2_DetectedEntity": { - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Processed text of the entity." - }, - "value": { - "type": "string", - "description": "Original text of the entity." - }, - "location": { - "$ref": "#/components/schemas/DeidentifyStringResponseV2_EntityLocation" - }, - "entityType": { - "type": "string", - "description": "Highest-rated label." - }, - "entityScores": { - "type": "object", - "additionalProperties": { - "maximum": 1, - "type": "number" - }, - "description": "Labels and their scores." - } - }, - "description": "Detected entities for String" - }, - "DeidentifyStringResponseV2_EntityLocation": { - "type": "object", - "properties": { - "startIndex": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the first character of the string in the original text.", - "format": "int32" - }, - "endIndex": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the last character of the string in the original text.", - "format": "int32" - }, - "startIndexProcessed": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the first character of the string in the processed text.", - "format": "int32" - }, - "endIndexProcessed": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the last character of the string in the processed text.", - "format": "int32" - } - }, - "description": "Locations of an entity in the text.", - "x-visibility": [ - "external" - ] - }, - "Detect": { - "type": "object", - "properties": { - "entities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Detect_Entity" - }, - "description": "Entities and their deidentification settings." - }, - "objectEntities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Detect_ObjectEntity" - }, - "description": "Object entities and their deidentification settings." - }, - "restrict": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `skip` and `restrict`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict` pattern only matches a substring of it, the `restrict` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "skip": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `skip` and `restrict`, the entity is displayed in plaintext." - }, - "customTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Detect_CustomTypes" - }, - "description": "Custom entity type definitions." - }, - "returnEntities": { - "enum": [ - "EXCLUDE_SENSITIVE_DATA", - "ALL", - "NONE" - ], - "type": "string", - "default": "EXCLUDE_SENSITIVE_DATA", - "description": "Controls which entities are returned in the response.", - "format": "enum" - } - }, - "description": "Entity detection and deidentification settings.", - "x-visibility": [ - "external" - ] - }, - "DetectConfigV2": { - "required": [ - "vaultId" - ], - "type": "object", - "properties": { - "ID": { - "readOnly": true, - "type": "string", - "description": "ID of the configuration." - }, - "name": { - "type": "string", - "description": "Name of the configuration." - }, - "namespace": { - "readOnly": true, - "type": "string", - "description": "Namespace of the configuration." - }, - "description": { - "type": "string", - "description": "Description of the configuration." - }, - "vaultId": { - "type": "string", - "description": "ID of the vault." - }, - "vaultType": { - "readOnly": true, - "enum": [ - "NONE", - "PRIVACYDB", - "FLOWDB", - "FLOWDB_SCHEMALESS" - ], - "type": "string", - "description": "Type of the vault.", - "format": "enum" - }, - "detect": { - "$ref": "#/components/schemas/Detect" - }, - "fileMapping": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileMapping" - }, - "description": "Mappings for source and deidentified file locations." - }, - "media": { - "$ref": "#/components/schemas/Media" - } - }, - "description": "Configuration for detecting and deidentifying entities in a vault.", - "x-visibility": [ - "external" - ] - }, - "DetectGuardrailsRequest": { - "required": [ - "vault_id", - "text" - ], - "type": "object", - "properties": { - "text": { - "maxLength": 500000, - "type": "string", - "description": "Text to check against guardrails." - }, - "check_toxicity": { - "type": "boolean", - "default": true, - "description": "If `true`, checks for toxicity in the text." - }, - "deny_topics": { - "maxItems": 100, - "type": "array", - "items": { - "maxLength": 60, - "type": "string" - }, - "description": "List of topics to deny." - }, - "vault_id": { - "type": "string", - "description": "ID of the vault." - } - } - }, - "DetectGuardrailsRequestV2": { - "required": [ - "vaultId", - "text" - ], - "type": "object", - "properties": { - "text": { - "maxLength": 500000, - "type": "string", - "description": "Text to check against guardrails." - }, - "checkToxicity": { - "type": "boolean", - "default": true, - "description": "If `true`, checks for toxicity in the text." - }, - "denyTopics": { - "maxItems": 100, - "type": "array", - "items": { - "maxLength": 60, - "type": "string" - }, - "description": "List of topics to deny." - }, - "vaultId": { - "type": "string", - "description": "ID of the vault." - } - }, - "description": "Request Object for detect guardrails" - }, - "DetectGuardrailsResponse": { - "required": [ - "text", - "validation" - ], - "type": "object", - "properties": { - "text": { - "maxLength": 500000, - "type": "string", - "description": "Text that was checked against guardrails." - }, - "toxic": { - "type": "boolean", - "description": "Whether the text is toxic." - }, - "denied_topic": { - "type": "boolean", - "description": "Whether the text included a denied topic." - }, - "validation": { - "enum": [ - "failed", - "passed" - ], - "type": "string", - "description": "Whether the text passed validation.", - "format": "enum" - } - } - }, - "DetectGuardrailsResponseV2": { - "required": [ - "text", - "validation" - ], - "type": "object", - "properties": { - "text": { - "maxLength": 500000, - "type": "string", - "description": "Text that was checked against guardrails." - }, - "toxic": { - "type": "boolean", - "description": "Whether the text is toxic." - }, - "deniedTopic": { - "type": "boolean", - "description": "Whether the text included a denied topic." - }, - "validation": { - "enum": [ - "FAILED", - "PASSED" - ], - "type": "string", - "description": "Whether the text passed validation.", - "format": "enum" - } - }, - "description": "Response object for detect guardrails" - }, - "DetectRunsResponse": { - "type": "object", - "properties": { - "status": { - "enum": [ - "UNKNOWN", - "FAILED", - "SUCCESS", - "IN_PROGRESS" - ], - "type": "string", - "description": "Status of the operation.", - "format": "enum" - }, - "outputType": { - "enum": [ - "UNKNOWN", - "BASE64" - ], - "type": "string", - "description": "Format of the output file.", - "format": "enum" - }, - "output": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DeidentifiedFileOutput" - }, - "description": "Details of output files. Files are specified as Base64-encoded data." - }, - "message": { - "maxLength": 1000, - "type": "string", - "description": "Status details about the Detect run." - }, - "size": { - "type": "number", - "description": "Size of the processed file in kilobytes (KB).", - "format": "float" - }, - "wordCharacterCount": { - "$ref": "#/components/schemas/WordCharacterCount" - }, - "duration": { - "type": "number", - "description": "Duration of the processed audio in seconds.", - "format": "float" - }, - "pages": { - "type": "integer", - "description": "Number of pages in the processed PDF.", - "format": "int32" - }, - "slides": { - "type": "integer", - "description": "Number of slides in the processed presentation.", - "format": "int32" - } - }, - "description": "Response to get the status of a file deidentification request." - }, - "DetectRunsResponseV2": { - "type": "object", - "properties": { - "status": { - "enum": [ - "UNKNOWN", - "FAILED", - "SUCCESS", - "IN_PROGRESS" - ], - "type": "string", - "description": "Status of the detect run.", - "format": "enum" - }, - "outputType": { - "enum": [ - "BASE64", - "SKYFLOW_ID", - "PRESIGNED_URL" - ], - "type": "string", - "description": "Data source of the output file. `BASE64`: Base64-encoded file string. `SKYFLOW_ID`: Reference file by vault ID. `PRESIGNED_URL`: S3 presigned URL of input file.", - "format": "enum" - }, - "output": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileOutput" - }, - "description": "Details of output files." - }, - "message": { - "type": "string", - "description": "Status details about the Detect run." - }, - "metrics": { - "$ref": "#/components/schemas/Metrics" - } - }, - "description": "Response containing the status and output of a v2 detect run." - }, - "Detect_CustomTypes": { - "type": "object", - "properties": { - "label": { - "type": "string", - "description": "Label of the custom type. Note: Vault tokens are currently not supported." - }, - "match": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[]' enclosed in square brackets. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be redacted. Expressions don't match across entity boundaries. If a string or entity matches both `skip` and `customType.label`, the entity is displayed in plaintext. If a string is detected as an entity and a `customType.match` pattern matches the entire detected entity, the entity is replaced with '[]'. If a string is detected as an entity but a `customType.match` pattern only matches a substring of it, the `customType.match` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings." - } - }, - "description": "Custom entity type defined by a label and a list of match values." - }, - "Detect_Entity": { - "type": "object", - "properties": { - "entityType": { - "enum": [ - "NONE", - "BANK_ACCOUNT", - "CREDIT_CARD", - "CREDIT_CARD_EXPIRATION", - "CVV", - "DATE", - "DATE_INTERVAL", - "DOB", - "DRIVER_LICENSE", - "EMAIL_ADDRESS", - "HEALTHCARE_NUMBER", - "IP_ADDRESS", - "LOCATION", - "NAME", - "NUMERICAL_PII", - "PHONE_NUMBER", - "SSN", - "URL", - "VEHICLE_ID", - "MEDICAL_CODE", - "NAME_FAMILY", - "NAME_GIVEN", - "ACCOUNT_NUMBER", - "EVENT", - "FILENAME", - "GENDER", - "LANGUAGE", - "LOCATION_ADDRESS", - "LOCATION_CITY", - "LOCATION_COORDINATE", - "LOCATION_COUNTRY", - "LOCATION_STATE", - "LOCATION_ZIP", - "MARITAL_STATUS", - "MONEY", - "NAME_MEDICAL_PROFESSIONAL", - "OCCUPATION", - "ORGANIZATION", - "ORGANIZATION_MEDICAL_FACILITY", - "ORIGIN", - "PASSPORT_NUMBER", - "PASSWORD", - "PHYSICAL_ATTRIBUTE", - "POLITICAL_AFFILIATION", - "RELIGION", - "TIME", - "USERNAME", - "ZODIAC_SIGN", - "BLOOD_TYPE", - "CONDITION", - "DOSE", - "DRUG", - "INJURY", - "MEDICAL_PROCESS", - "STATISTICS", - "ROUTING_NUMBER", - "CORPORATE_ACTION", - "FINANCIAL_METRIC", - "PRODUCT", - "TREND", - "DURATION", - "LOCATION_ADDRESS_STREET", - "AGE", - "SEXUALITY", - "EFFECT", - "PROJECT", - "ORGANIZATION_ID", - "DAY", - "MONTH", - "YEAR", - "ALL" - ], - "type": "string", - "default": "ALL", - "description": "Type of entity to detect.", - "format": "enum" - }, - "deidentificationType": { - "enum": [ - "UNKNOWN", - "ENTITY_UNIQUE_COUNTER", - "ENTITY_ONLY", - "VAULT_TOKEN" - ], - "type": "string", - "default": "ENTITY_UNIQUE_COUNTER", - "description": "Type of deidentification to apply.", - "format": "enum" - }, - "destination": { - "type": "string", - "description": "Target destination of the entity to be stored in vault." - }, - "transformation": { - "$ref": "#/components/schemas/Entity_Transformation" - } - }, - "description": "Entity detection and deidentification configuration." - }, - "Detect_ObjectEntity": { - "type": "object", - "properties": { - "entityType": { - "enum": [ - "NONE", - "FACE", - "LICENSE_PLATE", - "LOGO", - "SIGNATURE", - "ALL" - ], - "type": "string", - "default": "ALL", - "description": "Type of entity to detect.", - "format": "enum" - }, - "deidentificationType": { - "enum": [ - "UNKNOWN", - "REDACT", - "UNREDACT" - ], - "type": "string", - "default": "UNREDACT", - "description": "Type of deidentification to apply.", - "format": "enum" - } - }, - "description": "Object entity detection and deidentification configuration (e.g. faces, license plates)." - }, - "DocumentV2": { - "type": "object", - "properties": { - "pdf": { - "$ref": "#/components/schemas/DocumentV2_Pdf" - } - }, - "description": "Document detection and deidentification configuration.", - "x-visibility": [ - "external" - ] - }, - "DocumentV2_Pdf": { - "type": "object", - "properties": { - "processingMode": { - "enum": [ - "NONE", - "OCR", - "TEXT_LAYER" - ], - "type": "string", - "default": "TEXT_LAYER", - "description": "Processing mode of the PDF file.", - "format": "enum" - }, - "density": { - "maximum": 1000, - "type": "integer", - "default": 200, - "description": "Pixel density at which to process the PDF file.", - "format": "int32" - }, - "maxResolution": { - "maximum": 3000, - "minimum": 72, - "type": "integer", - "default": 3000, - "description": "Max resolution at which to process the PDF file.", - "format": "int32" - } - }, - "description": "Advanced options for processing PDF documents.", - "x-visibility": [ - "external" - ] - }, - "Entity_Transformation": { - "type": "object", - "properties": { - "shiftDates": { - "$ref": "#/components/schemas/Transformation_ShiftDates" - } - }, - "description": "Optional transformations to apply to detected entity values.", - "x-visibility": [ - "external" - ] - }, - "FileData": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "zip", - "gif" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileMapping": { - "type": "object", - "properties": { - "source": { - "type": "string", - "description": "Location of the source file." - }, - "destination": { - "type": "string", - "description": "Location of the target file." - } - }, - "description": "Source and destination file paths for a deidentification job." - }, - "FileOutput": { - "type": "object", - "properties": { - "processedFile": { - "type": "string", - "description": "Value of the processed file." - }, - "processedFileType": { - "enum": [], - "type": "string", - "description": "Type of the processed file.", - "format": "enum" - }, - "processedFileExtension": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "zip", - "gif" - ], - "type": "string", - "description": "Processed file extension.", - "format": "enum" - } - }, - "description": "Represents a single processed output file along with its type and format." - }, - "Format": { - "type": "object", - "properties": { - "redacted": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to fully redact." - }, - "masked": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to mask." - }, - "plaintext": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to return in plaintext." - } - }, - "description": "Mapping of preferred data formatting options to entity types. Returned values are dependent on the configuration of the vault storing the data and the permissions of the user or account making the request.", - "x-visibility": [ - "external" - ] - }, - "IdentifyResponse": { - "required": [ - "text" - ], - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "Re-identified text." - } - }, - "description": "Response after identifying text." - }, - "ImageV2": { - "type": "object", - "properties": { - "outputProcessedImage": { - "type": "boolean", - "default": true, - "description": "If `true`, includes processed image in the output." - }, - "outputOcrText": { - "type": "boolean", - "default": false, - "description": "If `true`, includes text detected by OCR in the response." - }, - "maskingMethod": { - "enum": [ - "NONE", - "BLUR", - "BLACKBOX" - ], - "type": "string", - "default": "BLACKBOX", - "description": "Method to mask the entities in the image.", - "format": "enum" - } - }, - "description": "Image detection and deidentification configuration.", - "x-visibility": [ - "external" - ] - }, - "Locations": { - "type": "object", - "properties": { - "start_index": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the first character of the string in the original text.", - "format": "int32" - }, - "end_index": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the last character of the string in the original text.", - "format": "int32" - }, - "start_index_processed": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the first character of the string in the processed text.", - "format": "int32" - }, - "end_index_processed": { - "maximum": 1000000000, - "type": "integer", - "description": "Index of the last character of the string in the processed text.", - "format": "int32" - } - }, - "description": "Locations of an entity in the text.", - "x-visibility": [ - "external" - ] - }, - "Media": { - "type": "object", - "properties": { - "audio": { - "$ref": "#/components/schemas/AudioV2" - }, - "document": { - "$ref": "#/components/schemas/DocumentV2" - }, - "image": { - "$ref": "#/components/schemas/ImageV2" - } - }, - "description": "Media-specific detection and deidentification configuration.", - "x-visibility": [ - "external" - ] - }, - "Metrics": { - "type": "object", - "properties": { - "size": { - "type": "number", - "description": "Size of the input text(KB).", - "format": "float" - }, - "wordCount": { - "type": "integer", - "description": "Total number of words processed.", - "format": "int32" - }, - "characterCount": { - "type": "integer", - "description": "Total number of characters processed.", - "format": "int32" - }, - "slides": { - "type": "integer", - "description": "Total number of slides processed.", - "format": "int32" - }, - "pages": { - "type": "integer", - "description": "Total number of pages processed.", - "format": "int32" - }, - "duration": { - "type": "number", - "description": "Total duration processed(seconds).", - "format": "float" - } - }, - "description": "Performance metrics for the detection and deidentification operation.", - "x-visibility": [ - "external" - ] - }, - "RedactionLevel": { - "type": "object", - "properties": { - "replacePattern": { - "type": "string", - "description": "Redaction method to apply. For PDB vaults: `MASKED`, `REDACTED`, or `PLAINTEXT`. For FlowDB vaults: the name of the redaction pattern configured in the vault (e.g., `Mask1`)." - }, - "source": { - "type": "string", - "description": "Identifies the entity to redact. For PDB vaults: entity name in uppercase (e.g., `SSN`, `NAME`). For FlowDB vaults: token group name (e.g., `tokenGroup1`)." - } - }, - "description": "Specifies a replacement pattern and the entity types it applies to during reidentification." - }, - "ReidentifiedFileOutput": { - "type": "object", - "properties": { - "processed_file": { - "type": "string", - "description": "File content in Base64 format." - }, - "processed_file_type": { - "enum": [ - "reidentified_file" - ], - "type": "string", - "description": "Type of the processed file.", - "format": "enum" - }, - "processed_file_extension": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "gif" - ], - "type": "string", - "description": "Extension of the processed file.", - "format": "enum" - } - }, - "description": "Details of output files. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "ReidentifyFileRequestV2": { - "required": [ - "dataSource", - "value", - "vaultId", - "dataFormat" - ], - "type": "object", - "properties": { - "dataSource": { - "enum": [ - "BASE64", - "SKYFLOW_ID", - "PRESIGNED_URL" - ], - "type": "string", - "description": "Data source of the input file. `BASE64`: Base64-encoded file string. `SKYFLOW_ID`: Reference file by vault ID. `PRESIGNED_URL`: S3 presigned URL of input file.", - "format": "enum" - }, - "value": { - "type": "string", - "description": "File data corresponding to the specified `dataSource` type." - }, - "dataFormat": { - "enum": [ - "mp3", - "wav", - "pdf", - "txt", - "csv", - "json", - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "xls", - "xlsx", - "doc", - "docx", - "ppt", - "pptx", - "xml", - "dcm", - "jsonl", - "zip", - "gif" - ], - "type": "string", - "description": "Format of the input file.", - "format": "enum" - }, - "vaultId": { - "type": "string", - "description": "ID of the vault used for de-identification." - }, - "redactionLevel": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RedactionLevel" - }, - "description": "Replacement patterns applied to entity types during re-identification." - } - }, - "description": "Request to reidentify tokens in a file back to their original values.", - "x-visibility": [ - "external" - ] - }, - "ReidentifyFileResponse": { - "type": "object", - "properties": { - "status": { - "enum": [ - "UNKNOWN", - "FAILED", - "SUCCESS", - "IN_PROGRESS" - ], - "type": "string", - "description": "Status of the operation.", - "format": "enum" - }, - "output_type": { - "enum": [ - "UNKNOWN", - "BASE64" - ], - "type": "string", - "description": "Format of the output file.", - "format": "enum" - }, - "output": { - "$ref": "#/components/schemas/ReidentifiedFileOutput" - } - }, - "description": "Response to get the status & response of a file re-identification request." - }, - "ReidentifyFileResponseV2": { - "type": "object", - "properties": { - "status": { - "enum": [ - "UNKNOWN", - "FAILED", - "SUCCESS", - "IN_PROGRESS" - ], - "type": "string", - "description": "Status of the reidentification request.", - "format": "enum" - }, - "outputType": { - "enum": [ - "BASE64", - "SKYFLOW_ID", - "PRESIGNED_URL" - ], - "type": "string", - "description": "Data source of the output file. `BASE64`: Base64-encoded file string. `SKYFLOW_ID`: Reference file by vault ID. `PRESIGNED_URL`: S3 presigned URL of input file.", - "format": "enum" - }, - "output": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileOutput" - }, - "description": "Details of output files" - }, - "metrics": { - "$ref": "#/components/schemas/Metrics" - } - }, - "description": "Response containing the status and output of a file reidentification job." - }, - "ReidentifyStringRequest": { - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "Text to reidentify." - }, - "vault_id": { - "type": "string", - "description": "ID of the vault where the entities are stored." - }, - "format": { - "$ref": "#/components/schemas/Format" - } - }, - "description": "Request to re-identify string." - }, - "ReidentifyStringRequestV2": { - "required": [ - "text", - "vaultId" - ], - "type": "object", - "properties": { - "vaultId": { - "type": "string", - "description": "ID of the vault used for de-identification." - }, - "text": { - "type": "string", - "description": "Text to reidentify." - }, - "redactionLevel": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RedactionLevel" - }, - "description": "Replacement patterns applied to entity types during re-identification." - } - }, - "description": "Request to reidentify tokens in a string back to their original values.", - "x-visibility": [ - "external" - ] - }, - "ReidentifyStringResponseV2": { - "type": "object", - "properties": { - "processedText": { - "type": "string", - "description": "Reidentified text." - }, - "metrics": { - "$ref": "#/components/schemas/Metrics" - } - }, - "description": "Response containing the reidentified string with tokens replaced by original values." - }, - "ShiftDates": { - "type": "object", - "properties": { - "min_days": { - "type": "integer", - "description": "Minimum number of days to shift the date by.", - "format": "int32" - }, - "max_days": { - "type": "integer", - "description": "Maximum number of days to shift the date by.", - "format": "int32" - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "date", - "date_interval", - "dob" - ], - "type": "string", - "format": "enum", - "maxLength": 3 - }, - "description": "Entity types to shift dates for." - } - }, - "description": "Shift dates by a specified number of days.", - "x-visibility": [ - "external" - ] - }, - "StringResponseEntities": { - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Processed text of the entity." - }, - "value": { - "type": "string", - "description": "Original text of the entity." - }, - "location": { - "$ref": "#/components/schemas/Locations" - }, - "entity_type": { - "type": "string", - "description": "Highest-rated label." - }, - "entity_scores": { - "type": "object", - "additionalProperties": { - "maximum": 1, - "type": "number" - }, - "description": "Labels and their scores." - } - }, - "description": "Detected entities for String" - }, - "TokenTypeMapping": { - "type": "object", - "properties": { - "vault_token": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with vault tokens." - }, - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only", - "vault_token" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "Transformation_ShiftDates": { - "type": "object", - "properties": { - "minDays": { - "type": "integer", - "description": "Minimum number of days to shift dates.", - "format": "int32" - }, - "maxDays": { - "type": "integer", - "description": "Maximum number of days to shift dates.", - "format": "int32" - } - }, - "description": "Shifts detected date values by a random number of days within the given range.", - "x-visibility": [ - "external" - ] - }, - "Transformations": { - "type": "object", - "properties": { - "shift_dates": { - "$ref": "#/components/schemas/ShiftDates" - } - }, - "description": "Transformations to apply to detected entities.", - "x-visibility": [ - "external" - ] - }, - "WordCharacterCount": { - "type": "object", - "properties": { - "wordCount": { - "type": "integer", - "description": "Number of words in the processed text.", - "format": "int32" - }, - "characterCount": { - "type": "integer", - "description": "Number of characters in the processed text.", - "format": "int32" - } - }, - "description": "Word and character count of the processed text.", - "x-visibility": [ - "external" - ] - }, - "http_code": { - "description": "HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.", - "x-visibility": [ - "external" - ], - "type": "integer", - "format": "int32", - "minimum": 100, - "maximum": 599 - }, - "error_response": { - "type": "object", - "additionalProperties": false, - "required": [ - "error" - ], - "properties": { - "error": { - "type": "object", - "additionalProperties": false, - "required": [ - "grpc_code", - "http_code", - "http_status", - "message" - ], - "properties": { - "grpc_code": { - "description": "gRPC status codes. See https://grpc.io/docs/guides/status-codes.", - "type": "integer", - "format": "int32", - "minimum": 0, - "maximum": 16 - }, - "http_code": { - "$ref": "#/components/schemas/http_code" - }, - "http_status": { - "type": "string", - "maxLength": 100 - }, - "message": { - "type": "string", - "maxLength": 1000 - }, - "details": { - "type": "array", - "maxItems": 25, - "items": { - "x-visibility": [ - "external" - ], - "type": "object", - "additionalProperties": true - } - } - } - } - } - }, - "FileData_deidentify_audio": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "mp3", - "wav" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_document": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "pdf", - "doc", - "docx" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_image": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "jpg", - "jpeg", - "tif", - "tiff", - "png", - "bmp", - "dcm", - "gif" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_pdf": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "pdf" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_presentation": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "ppt", - "pptx" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_spreadsheet": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "csv", - "xls", - "xlsx" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_structured_text": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "json", - "xml", - "jsonl" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_deidentify_text": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "txt" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "FileData_reidentify_file": { - "required": [ - "base64", - "data_format" - ], - "type": "object", - "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data of the file." - }, - "data_format": { - "enum": [ - "txt", - "csv", - "json", - "xml", - "jsonl" - ], - "type": "string", - "description": "Format of the file.", - "format": "enum" - }, - "skyflow_id": { - "type": "string", - "description": "Skyflow ID of the record that contains the file to act on." - } - }, - "description": "File to process. Files are specified as Base64-encoded data.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_audio": { - "type": "object", - "properties": { - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_document": { - "type": "object", - "properties": { - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_image": { - "type": "object", - "properties": { - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_pdf": { - "type": "object", - "properties": { - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_presentation": { - "type": "object", - "properties": { - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only" - ], - "type": "string", - "description": "Default token type to generate for detected entities.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_spreadsheet": { - "type": "object", - "properties": { - "vault_token": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with vault tokens. Only supported for CSV file types." - }, - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only", - "vault_token" - ], - "type": "string", - "description": "Default token type to generate for detected entities. `vault_token` is only supported for CSV files.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "TokenTypeMapping_deidentify_file": { - "type": "object", - "properties": { - "vault_token": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with vault tokens. Not supported for audio, document, image, presentation, or most spreadsheet file types." - }, - "entity_only": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens." - }, - "entity_unq_counter": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entity types to replace with entity tokens with unique counters." - }, - "default": { - "enum": [ - "entity_unq_counter", - "entity_only", - "vault_token" - ], - "type": "string", - "description": "Default token type to generate for detected entities. `vault_token` isn't supported for audio, document, image, presentation, or most spreadsheet file types.", - "format": "enum" - } - }, - "description": "Mapping of token types to detected entities.", - "x-visibility": [ - "external" - ] - }, - "DeidentifyFileAudioRequest_deidentify_audio": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_audio" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "output_transcription": { - "enum": [ - "transcription", - "medical_transcription", - "diarized_transcription", - "medical_diarized_transcription" - ], - "type": "string", - "description": "Type of transcription to output.", - "format": "enum" - }, - "output_processed_audio": { - "type": "boolean", - "default": true, - "description": "Whether to include the processed audio file in the response." - }, - "bleep_start_padding": { - "maximum": 20, - "type": "number", - "default": 0.5, - "description": "Padding added to the beginning of a bleep, in seconds.", - "format": "float" - }, - "bleep_stop_padding": { - "maximum": 20, - "type": "number", - "default": 0.2, - "description": "Padding added to the end of a bleep, in seconds.", - "format": "float" - }, - "bleep_frequency": { - "maximum": 20000, - "minimum": 20, - "type": "integer", - "default": 600, - "description": "The pitch of the bleep sound, in Hz. The higher the number, the higher the pitch.", - "format": "int32" - }, - "bleep_gain": { - "minimum": -60, - "type": "integer", - "default": -3, - "description": "Relative loudness of the bleep in dB. Positive values increase its loudness, and negative values decrease it.", - "format": "int32" - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_audio" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a audio file." - }, - "DeidentifyFileRequest_deidentify_document": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_document" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_document" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - }, - "DeidentifyFileImageRequest_deidentify_image": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_image" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "output_processed_image": { - "type": "boolean", - "description": "If `true`, includes processed image in the output." - }, - "output_ocr_text": { - "type": "boolean", - "description": "If `true`, includes text detected by OCR in the response." - }, - "masking_method": { - "enum": [ - "blur", - "blackbox" - ], - "type": "string", - "description": "Method to mask the entities in the image.", - "format": "enum" - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_image" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a image file." - }, - "DeidentifyFileDocumentPdfRequest_deidentify_pdf": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_pdf" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "density": { - "maximum": 1000, - "type": "integer", - "default": 200, - "description": "Pixel density at which to process the PDF file.", - "format": "int32" - }, - "max_resolution": { - "maximum": 3000, - "minimum": 72, - "type": "integer", - "default": 3000, - "description": "Max resolution at which to process the PDF file.", - "format": "int32" - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_pdf" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a pdf file." - }, - "DeidentifyFileRequest_deidentify_presentation": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_presentation" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_presentation" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - }, - "DeidentifyFileRequest_deidentify_spreadsheet": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_spreadsheet" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_spreadsheet" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - }, - "DeidentifyFileRequest_deidentify_structured_text": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_structured_text" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - }, - "DeidentifyFileRequest_deidentify_text": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_deidentify_text" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - }, - "ReidentifyFileRequest_reidentify_file": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData_reidentify_file" - }, - "vault_id": { - "type": "string", - "description": "ID of the vault where the entities are stored." - }, - "format": { - "$ref": "#/components/schemas/Format" - } - }, - "description": "Request to re-identify file." - }, - "DeidentifyFileRequest_deidentify_file": { - "required": [ - "file", - "vault_id" - ], - "type": "object", - "properties": { - "file": { - "$ref": "#/components/schemas/FileData" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault that you have Detect Invoker or Vault Owner permissions for." - }, - "entity_types": { - "type": "array", - "items": { - "enum": [ - "age", - "bank_account", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "driver_license", - "email_address", - "healthcare_number", - "ip_address", - "location", - "name", - "numerical_pii", - "phone_number", - "ssn", - "url", - "vehicle_id", - "medical_code", - "name_family", - "name_given", - "account_number", - "event", - "filename", - "gender", - "language", - "location_address", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "money", - "name_medical_professional", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "physical_attribute", - "political_affiliation", - "religion", - "time", - "username", - "zodiac_sign", - "blood_type", - "condition", - "dose", - "drug", - "injury", - "medical_process", - "statistics", - "routing_number", - "corporate_action", - "financial_metric", - "product", - "trend", - "duration", - "location_address_street", - "all", - "sexuality", - "effect", - "project", - "organization_id", - "day", - "month", - "year" - ], - "type": "string", - "format": "enum", - "maxLength": 70 - }, - "description": "Entities to detect and de-identify." - }, - "token_type": { - "$ref": "#/components/schemas/TokenTypeMapping_deidentify_file" - }, - "allow_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to display in plaintext. Entities appear in plaintext if an expression matches either the entirety of a detected entity or a substring of it. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext." - }, - "restrict_regex": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext. If a string is detected as an entity and a `restrict_regex` pattern matches the entire detected entity, the entity is replaced with '[RESTRICTED]'. If a string is detected as an entity but a `restrict_regex` pattern only matches a substring of it, the `restrict_regex` pattern is ignored, and the entity is processed according to the specified tokenization and transformation settings. Note: Vault tokens are currently not supported." - }, - "transformations": { - "$ref": "#/components/schemas/Transformations" - }, - "configuration_id": { - "type": "string", - "description": "ID of the Detect configuration to use for de-identification. Can't be specified with fields other than `vault_id`, `text`, and `file`." - } - }, - "description": "Request to deidentify a file." - } - }, - "securitySchemes": { - "Bearer": { - "type": "http", - "description": "Access token, prefixed by `Bearer `.", - "scheme": "bearer", - "bearerFormat": "JWT" - } - }, - "headers": { - "x-request-id": { - "description": "Unique identifier for the request.", - "schema": { - "type": "string", - "minLength": 36, - "maxLength": 36 - }, - "example": "d4410ea0-1d83-473c-a09a-24c6b03096d4" - } - }, - "examples": { - "400_response": { - "value": { - "error": { - "grpc_code": 3, - "http_code": 400, - "http_status": "Bad Request", - "message": "The request was invalid or cannot be served. Check the request parameters and try again.", - "details": [] - } - } - }, - "401_response": { - "value": { - "error": { - "grpc_code": 16, - "http_code": 401, - "http_status": "Unauthorized", - "message": "The request is unauthorized. Make sure you have a valid access token.", - "details": [] - } - } - }, - "500_response": { - "value": { - "error": { - "grpc_code": 13, - "http_code": 500, - "http_status": "Internal Server Error", - "message": "Skyflow services experienced an internal error. Contact Skyflow support with request ID d4410ea0-1d83-473c-a09a-24c6b03096d4 for more information.", - "details": [] - } - } - } - }, - "responses": { - "400": { - "description": "Returned when the request is invalid or cannot be served.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Bad request": { - "$ref": "#/components/examples/400_response" - } - } - } - } - }, - "401": { - "description": "Returned when the request is unauthorized.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Unauthorized": { - "$ref": "#/components/examples/401_response" - } - } - } - } - }, - "500": { - "description": "An unexpected error response.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Internal server error": { - "$ref": "#/components/examples/500_response" - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/call-rest-apis/management-api.md b/skyflow-skills-plugin/skills/call-rest-apis/management-api.md deleted file mode 100644 index 36b722b..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/management-api.md +++ /dev/null @@ -1,271 +0,0 @@ -# Management API (Vault Administration) - -The Management API handles vault administration: creating vaults, managing schemas, configuring policies, and accessing audit logs. - -**Base URL**: `https://manage.skyflowapis.com/v1` - -**Authentication**: Bearer token with management permissions - -**OpenAPI Spec**: See [management.openapi.json](management.openapi.json) for complete request/response schemas - ---- - -## GET BEARER TOKEN - -**Endpoint**: `POST /v1/auth/sa/oauth/token` -**Operation**: `AuthenticationService_GetAuthToken` - -Generates a Bearer token for authenticating with Skyflow APIs. This endpoint does not require an existing Authorization header - it's the starting point for API authentication. - -**How it works**: You create a signed JWT assertion using your service account credentials, then exchange it for a bearer token. - -```bash -curl -X POST "https://manage.skyflowapis.com/v1/auth/sa/oauth/token" \ - -H "Content-Type: application/json" \ - -d '{ - "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer", - "assertion": "" - }' -``` - -**Response**: - -```json -{ - "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...", - "tokenType": "Bearer" -} -``` - -**Request Body**: - -| Field | Required | Description | -| ----- | -------- | ----------- | -| `grant_type` | Yes | Must be `urn:ietf:params:oauth:grant-type:jwt-bearer` | -| `assertion` | Yes | Signed JWT containing: `iss` (client ID), `key` (key ID), `aud` (audience URL), `exp` (expiry), `sub` (client ID) | -| `scope` | No | Subset of roles: `"role: role:"` | - -**Creating the JWT Assertion**: - -The `assertion` JWT must include these claims: - -- `iss`: Your service account's client ID -- `key`: Your key ID -- `aud`: `https://manage.skyflowapis.com` -- `exp`: Expiration timestamp (typically 1 hour from now) -- `sub`: Your service account's client ID - -Sign the JWT with your service account's private key using RS256. - -**Using the Token**: - -Include in subsequent API requests: - -```text -Authorization: Bearer {accessToken} -``` - -Tokens are typically valid for 60 minutes. Cache and reuse until near expiry. - ---- - -## LIST VAULTS - -**Endpoint**: `GET /v1/vaults` -**Operation**: `list-vaults` - -Returns all vaults accessible to the authenticated user. - -```bash -curl -X GET "https://manage.skyflowapis.com/v1/vaults?limit=25&offset=0" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" -``` - -**Response**: - -```json -{ - "vaults": [ - { - "ID": "vault_id_123", - "name": "Production Vault", - "url": "https://example.vault.skyflowapis.com", - "created_at": "2024-01-15T10:30:00Z" - } - ], - "total": 10 -} -``` - -**Query Parameters**: - -- `filterOps.name`: Filter by vault name -- `filterOps.status`: Filter by status (`ACTIVE`, `PENDING`, `CREATED`, `DELETED`, etc.) -- `filterOps.type`: Filter by vault type (`PII_DATA`, `PAYMENT`, `CUSTOMER_IDENTITY`, etc.) -- `sortOps.orderBy`: Sort order (`ASCENDING` or `DESCENDING`) -- `limit`: Results per page (default: 25) -- `offset`: Pagination offset -- `fetchMetadataOnly`: If `true`, returns only vault ID, name, description, status, namespace - ---- - -## CREATE VAULT - -**Endpoint**: `POST /v1/vaults` -**Operation**: `create-vault` - -Creates a new vault. You can create from a template or with a custom schema. - -### Create from Template - -```bash -curl -X POST "https://manage.skyflowapis.com/v1/vaults" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "my_vault", - "description": "Production PII vault", - "templateID": "TEMPLATE_ID", - "workspaceID": "WORKSPACE_ID" - }' -``` - -### Create with Custom Schema - -```bash -curl -X POST "https://manage.skyflowapis.com/v1/vaults" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "my_vault", - "description": "Custom vault with PII table", - "workspaceID": "WORKSPACE_ID", - "vaultSchema": { - "schemas": [ - { - "name": "users", - "fields": [ - {"name": "skyflow_id", "datatype": "DT_STRING"}, - {"name": "email", "datatype": "DT_STRING"}, - {"name": "ssn", "datatype": "DT_STRING"} - ] - } - ] - } - }' -``` - -**Response**: - -```json -{ - "ID": "v123abc456" -} -``` - -**Request Body** (choose ONE of templateID or vaultSchema): - -- `name`\* (string): Vault name (no spaces or underscores) -- `description` (string): Vault description -- `workspaceID`\* (string): Workspace to create the vault in -- `templateID` (string): Template ID to create from (use GET /v1/vault-templates to list) -- `vaultSchema` (object): Custom schema with tables and fields -- `owners` (array): Members to assign as vault owners - -**Available Templates**: `QUICKSTART`, `PAYMENT`, `PII_DATA`, `CUSTOMER_IDENTITY`, `PLAID` - ---- - -## CREATE POLICY - -**Endpoint**: `POST /v1/policies` -**Operation**: `PolicyAuthoringService_CreatePolicy` - -Creates access control policies for a specified resource (vault, workspace, etc.). - -```bash -curl -X POST "https://manage.skyflowapis.com/v1/policies" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -d '{ - "name": "read_pii_policy", - "displayName": "Read PII Policy", - "description": "Allow reading PII with redaction", - "resource": { - "ID": "VAULT_ID", - "type": "VAULT" - }, - "ruleParams": [ - { - "name": "read_users_email", - "columnRuleParams": { - "vaultID": "VAULT_ID", - "columns": ["users.email", "users.phone"], - "action": "READ", - "effect": "ALLOW", - "redaction": "MASKED" - } - } - ], - "activated": true - }' -``` - -**Resource Types**: `VAULT`, `WORKSPACE`, `ACCOUNT`, `SERVICE_ACCOUNT`, `RECORD`, `TOKEN` - -**Actions**: `READ`, `WRITE`, `DELETE`, `TOKENIZE`, `DETOKENIZE` - -**Effects**: `ALLOW`, `DENY` - ---- - -## GET AUDIT EVENTS - -**Endpoint**: `GET /v1/audit/events` -**Operation**: `AuditService_ListAuditEvents` - -Retrieves audit trail of vault and account operations. - -```bash -curl -X GET "https://manage.skyflowapis.com/v1/audit/events?filterOps.accountID=$ACCOUNT_ID&filterOps.startTime=2024-01-01T00:00:00Z&filterOps.endTime=2024-01-31T23:59:59Z&limit=100" \ - -H "Authorization: Bearer $TOKEN" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" -``` - -**Response**: - -```json -{ - "events": [ - { - "context": { - "changeID": "change_123", - "requestID": "req_456", - "actor": "user_id", - "actorType": "USER", - "ipAddress": "192.168.1.1" - }, - "actionType": "CREATE", - "resourceType": "RECORD", - "responseCode": 200, - "timestamp": "2024-01-15T10:30:00Z" - } - ] -} -``` - -**Query Parameters** (required marked with \*): - -- `filterOps.accountID`\*: Account ID to filter events -- `filterOps.startTime`: Start timestamp (SQL format) -- `filterOps.endTime`: End timestamp (SQL format) -- `filterOps.vaultID`: Filter by vault ID -- `filterOps.actionType`: `CREATE`, `READ`, `UPDATE`, `DELETE`, `LIST`, `EXECUTE` -- `filterOps.resourceType`: `VAULT`, `RECORD`, `TOKEN`, `USER`, `SERVICE_ACCOUNT`, `POLICY` -- `filterOps.context.actor`: Filter by user or service account ID -- `limit`: Results per page (default: 25) -- `offset`: Pagination offset diff --git a/skyflow-skills-plugin/skills/call-rest-apis/management.openapi.json b/skyflow-skills-plugin/skills/call-rest-apis/management.openapi.json deleted file mode 100644 index dade59e..0000000 --- a/skyflow-skills-plugin/skills/call-rest-apis/management.openapi.json +++ /dev/null @@ -1,35462 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "contact": { - "email": "support@skyflow.com", - "name": "Skyflow", - "url": "https://www.skyflow.com/" - }, - "description": "This API controls aspects of your account and schema, including workspaces, vaults, keys, users, permissions, and more.\n\nThe Management API is available from two base URIs:\n\n- **Sandbox:** https://manage.skyflowapis-preview.com\n- **Production:** https://manage.skyflowapis.com\n\nWhen you make an API call, you need to add two headers:\n\n| Header | Value | Example |\n| --- | --- | --- |\n| Authorization | A Bearer Token. See [API Authentication](/docs/fundamentals/api-authentication). | `Authorization: Bearer eyJhbGciOiJSUzI...1NiIsJdfPA` |\n| X-Skyflow-Account-ID | Your Skyflow account ID. | `X-Skyflow-Account-ID: h451b763713e4424a7jke1bbkbbc84ef` |", - "title": "Management API", - "version": "2026.04", - "license": { - "name": "Proprietary", - "url": "https://docs.skyflow.com" - } - }, - "servers": [ - { - "url": "https://manage.skyflowapis.com", - "description": "Production" - }, - { - "url": "https://manage.skyflowapis-preview.com", - "description": "Sandbox" - } - ], - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - { - "name": "private", - "description": "Management API" - }, - { - "name": "Accounts", - "x-order": 1 - }, - { - "name": "Audit", - "x-order": 2 - }, - { - "name": "Authentication", - "x-order": 3 - }, - { - "name": "Connections", - "x-order": 5 - }, - { - "name": "Data Types", - "x-order": 6 - }, - { - "name": "Detect Configurations", - "x-order": 7 - }, - { - "name": "Functions", - "x-order": 8 - }, - { - "name": "Key Management", - "x-order": 9 - }, - { - "name": "Roles", - "x-order": 10 - }, - { - "name": "Pipelines", - "x-order": 11 - }, - { - "name": "Policies", - "x-order": 12 - }, - { - "name": "Service Accounts", - "x-order": 13 - }, - { - "name": "Triggers", - "x-order": 14 - }, - { - "name": "Users", - "x-order": 15 - }, - { - "name": "Vault Templates", - "x-order": 16 - }, - { - "name": "Vaults", - "x-order": 17 - }, - { - "name": "Workspaces", - "x-order": 18 - }, - { - "name": "Webhooks", - "x-order": 19 - } - ], - "externalDocs": { - "description": "Guides, tutorials, and references for using Skyflow.", - "url": "https://docs.skyflow.com/" - }, - "paths": { - "/v1/accounts": { - "get": { - "description": "Lists accounts that the user can access.", - "operationId": "AccountService_ListAccounts", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Filter that limits returned accounts to those that include the specified email address.", - "in": "query", - "name": "userEmail", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits returned accounts to those that include the specified name.", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits returned accounts to those that match the specified status.", - "in": "query", - "name": "status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start retrieving accounts.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of accounts to retrieve.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "Filter that limits accounts to those that are children of the specified account ID.", - "in": "query", - "name": "accountID", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListAccountsResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Accounts", - "tags": [ - "Accounts" - ], - "x-severity": 3 - } - }, - "/v1/accounts/{ID}": { - "get": { - "description": "Returns an account.", - "operationId": "AccountService_GetAccount", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Account", - "tags": [ - "Accounts" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates an account.", - "operationId": "AccountService_UpdateAccount", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountServiceUpdateAccountBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Account", - "tags": [ - "Accounts" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/accounts/{accountID}/pipelines/encryptionKeys": { - "get": { - "description": "Gets public encryption keys for the specified account.", - "operationId": "AccountService_ListPipelineEncryptionKeys", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListPipelineEncryptionKeysResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Pipeline Encryption Key", - "tags": [ - "Pipelines" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a PGP encryption key to use in a pipeline.", - "operationId": "AccountService_CreatePipelineEncryptionKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountServiceCreatePipelineEncryptionKeyBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreatePipelineEncryptionKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Pipeline Encryption Key", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/accounts/{accountID}/pipelines/encryptionKeys/{ID}": { - "delete": { - "description": "Deletes the encryption key pair for the specified pipeline.", - "operationId": "AccountService_DeletePipelineEncryptionKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the key.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeletePipelineEncryptionKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Pipeline Encryption Key", - "tags": [ - "Pipelines" - ], - "x-severity": 3 - }, - "get": { - "description": "Gets the specified public encryption key.", - "operationId": "AccountService_GetPipelineEncryptionKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the key.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetPipelineEncryptionKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Pipeline Encryption Key", - "tags": [ - "Pipelines" - ], - "x-severity": 3 - } - }, - "/v1/accounts/{accountID}/pipelines/encryptionKeys/{ID}/rotate": { - "put": { - "description": "Rotates the encryption key pair for the specified pipeline.", - "operationId": "AccountService_RotatePipelineEncryptionKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the key.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AccountServiceRotatePipelineEncryptionKeyBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RotatePipelineEncryptionKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Rotate Pipeline Encryption Key", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/accounts/{accountID}/regions": { - "get": { - "description": "List regions availble to an account. You can create workspaces in available regions.", - "operationId": "AccountService_ListRegions", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "path", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListRegionsResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Regions", - "tags": [ - "Accounts" - ], - "x-severity": 3 - } - }, - "/v1/audit/events": { - "get": { - "description": "Lists audit events that match query parameters.", - "operationId": "AuditService_ListAuditEvents", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID for the audit event.", - "in": "query", - "name": "filterOps.context.changeID", - "schema": { - "type": "string" - } - }, - { - "description": "ID for the request that caused the event.", - "in": "query", - "name": "filterOps.context.requestID", - "schema": { - "type": "string" - } - }, - { - "description": "ID for the request set by the service that received the request.", - "in": "query", - "name": "filterOps.context.traceID", - "schema": { - "type": "string" - } - }, - { - "description": "ID for the session in which the request was sent.", - "in": "query", - "name": "filterOps.context.sessionID", - "schema": { - "type": "string" - } - }, - { - "description": "Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID.", - "in": "query", - "name": "filterOps.context.actor", - "schema": { - "type": "string" - } - }, - { - "description": "Type of member who sent the request.", - "in": "query", - "name": "filterOps.context.actorType", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "USER", - "SERVICE_ACCOUNT" - ], - "type": "string" - } - }, - { - "description": "Type of access for the request.", - "in": "query", - "name": "filterOps.context.accessType", - "schema": { - "default": "ACCESS_NONE", - "enum": [ - "ACCESS_NONE", - "API", - "SQL", - "OKTA_LOGIN" - ], - "type": "string" - } - }, - { - "description": "IP Address of the client that made the request.", - "in": "query", - "name": "filterOps.context.ipAddress", - "schema": { - "type": "string" - } - }, - { - "description": "HTTP Origin request header (including scheme, hostname, and port) of the request.", - "in": "query", - "name": "filterOps.context.origin", - "schema": { - "type": "string" - } - }, - { - "description": "Authentication mode the `actor` used.", - "in": "query", - "name": "filterOps.context.authMode", - "schema": { - "default": "AUTH_NONE", - "enum": [ - "AUTH_NONE", - "OKTA_JWT", - "SERVICE_ACCOUNT_JWT", - "PAT_JWT" - ], - "type": "string" - } - }, - { - "description": "ID of the JWT token.", - "in": "query", - "name": "filterOps.context.jwtID", - "schema": { - "type": "string" - } - }, - { - "description": "Embedded User Context.", - "in": "query", - "name": "filterOps.context.bearerTokenContextID", - "schema": { - "type": "string" - } - }, - { - "description": "Resources with the specified parent account ID.", - "in": "query", - "name": "filterOps.parentAccountID", - "schema": { - "type": "string" - } - }, - { - "description": "Resources with the specified account ID.", - "in": "query", - "name": "filterOps.accountID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Resources with the specified workspace ID.", - "in": "query", - "name": "filterOps.workspaceID", - "schema": { - "type": "string" - } - }, - { - "description": "Resources with the specified vault ID.", - "in": "query", - "name": "filterOps.vaultID", - "schema": { - "type": "string" - } - }, - { - "description": "Resources with a specified ID. If a resource matches at least one ID, the associated event is returned. Format is a comma-separated list of \"\\/\\\". For example, \"VAULT/12345, USER/67890\".", - "in": "query", - "name": "filterOps.resourceIDs", - "schema": { - "type": "string" - } - }, - { - "description": "Events with the specified action type.", - "in": "query", - "name": "filterOps.actionType", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ASSIGN", - "CREATE", - "DELETE", - "EXECUTE", - "LIST", - "READ", - "UNASSIGN", - "UPDATE", - "VALIDATE", - "LOGIN", - "ROTATE", - "SCHEDULEROTATION", - "SCHEDULEROTATIONALERT", - "IMPORT", - "GETIMPORTPARAMETERS", - "PING", - "GETCLOUDPROVIDER" - ], - "type": "string" - } - }, - { - "description": "Resources with the specified type.", - "in": "query", - "name": "filterOps.resourceType", - "schema": { - "default": "NONE_API", - "enum": [ - "NONE_API", - "ACCOUNT", - "AUDIT", - "BASE_DATA_TYPE", - "FIELD_TEMPLATE", - "FILE", - "KEY", - "POLICY", - "PROTO_PARSE", - "RECORD", - "ROLE", - "RULE", - "SECRET", - "SERVICE_ACCOUNT", - "TOKEN", - "USER", - "VAULT", - "VAULT_TEMPLATE", - "WORKSPACE", - "TABLE", - "POLICY_TEMPLATE", - "MEMBER", - "TAG", - "CONNECTION", - "MIGRATION", - "SCHEDULED_JOB", - "JOB", - "COLUMN_NAME", - "NETWORK_TOKEN", - "SUBSCRIPTION" - ], - "type": "string" - } - }, - { - "description": "Events with associated tags. If an event matches at least one tag, the event is returned. Comma-separated list. For example, \"login, get\".", - "in": "query", - "name": "filterOps.tags", - "schema": { - "type": "string" - } - }, - { - "description": "HTTP response code of the request.", - "in": "query", - "name": "filterOps.responseCode", - "schema": { - "format": "int32", - "type": "integer" - } - }, - { - "description": "Start timestamp for the query, in SQL format.", - "in": "query", - "name": "filterOps.startTime", - "schema": { - "type": "string" - } - }, - { - "description": "End timestamp for the query, in SQL format.", - "in": "query", - "name": "filterOps.endTime", - "schema": { - "type": "string" - } - }, - { - "description": "Name of the API called in the request.", - "in": "query", - "name": "filterOps.apiName", - "schema": { - "type": "string" - } - }, - { - "description": "Response message of the request.", - "in": "query", - "name": "filterOps.responseMessage", - "schema": { - "type": "string" - } - }, - { - "description": "HTTP method of the request.", - "in": "query", - "name": "filterOps.httpMethod", - "schema": { - "type": "string" - } - }, - { - "description": "HTTP URI of the request.", - "in": "query", - "name": "filterOps.httpURI", - "schema": { - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Timestamp provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.", - "in": "query", - "name": "afterOps.timestamp", - "schema": { - "type": "string" - } - }, - { - "description": "Change ID provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.", - "in": "query", - "name": "afterOps.changeID", - "schema": { - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": 25, - "format": "int64", - "type": "integer" - } - }, - { - "description": "Record position at which to start returning results.", - "in": "query", - "name": "offset", - "schema": { - "default": 0, - "format": "int64", - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1AuditResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Audit Events", - "tags": [ - "Audit" - ], - "x-severity": 2 - } - }, - "/v1/auth/sa/oauth/token": { - "post": { - "description": "

      Generates a Bearer Token to authenticate with Skyflow. This method doesn't require the Authorization header.

      Note: For recommended ways to authenticate, see API authentication.

      ", - "operationId": "AuthenticationService_GetAuthToken", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetAuthTokenRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetAuthTokenResponse" - } - } - }, - "description": "A successful response." - }, - "400": { - "content": { - "application/json": { - "schema": { - "example": { - "error": { - "details": [], - "grpc_code": 3, - "http_code": 400, - "http_status": "Bad Request", - "message": "Scopes in request token in wrong format" - } - }, - "format": "object", - "type": "object" - } - } - }, - "description": "Invalid scope format." - }, - "401": { - "content": { - "application/json": { - "schema": { - "example": { - "error": { - "details": [], - "grpc_code": 16, - "http_code": 401, - "http_status": "Unauthorized", - "message": "Error: Key expired, consider rotating." - } - }, - "format": "object", - "type": "object" - } - } - }, - "description": "Key expired or JWT token unparseable." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Bearer Token", - "tags": [ - "Authentication" - ], - "x-severity": 1, - "x-codegen-request-body-name": "body" - } - }, - "/v1/auth/sts/token": { - "post": { - "description": "

      Generates a Bearer Token to authenticate with Skyflow. This method doesn't require the Authorization header.

      ", - "operationId": "AuthenticationService_GetSTSToken", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetSTSTokenRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetSTSTokenResponse" - } - } - }, - "description": "A successful response." - }, - "400": { - "content": { - "application/json": { - "schema": { - "example": { - "error": { - "details": [], - "grpc_code": 3, - "http_code": 400, - "http_status": "Bad Request", - "message": "Scopes in request token in wrong format" - } - }, - "format": "object", - "type": "object" - } - } - }, - "description": "Invalid scope format." - }, - "401": { - "content": { - "application/json": { - "schema": { - "example": { - "error": { - "details": [], - "grpc_code": 16, - "http_code": 401, - "http_status": "Unauthorized", - "message": "Error: Key expired, consider rotating." - } - }, - "format": "object", - "type": "object" - } - } - }, - "description": "Key expired or JWT token unparseable." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get STS Token", - "tags": [ - "Token Exchange" - ], - "x-severity": 1, - "x-codegen-request-body-name": "body" - } - }, - "/v1/sts/config": { - "get": { - "description": "Lists STS configurations for given account", - "operationId": "TokenExchangeService_ListSTSConfigs", - "parameters": [ - { - "description": "position at which to start returning results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "description": "ID of the account.", - "in": "query", - "name": "accountID", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListSTSConfigResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List STS Configs", - "tags": [ - "Token Exchange" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a new STS configuration", - "operationId": "TokenExchangeService_CreateSTSConfig", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateSTSConfigRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateSTSConfigResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create STS Config", - "tags": [ - "Token Exchange" - ], - "x-codegen-request-body-name": "body" - } - }, - "/v1/sts/config/{ID}": { - "delete": { - "description": "Deletes an STS configuration", - "operationId": "TokenExchangeService_DeleteSTSConfig", - "parameters": [ - { - "description": "ID of the STS config to delete", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteSTSConfigResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete STS Config", - "tags": [ - "Token Exchange" - ] - }, - "get": { - "description": "Fetches an STS configuration by ID", - "operationId": "TokenExchangeService_GetSTSConfig", - "parameters": [ - { - "description": "ID of the STS config to retrieve", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1STSConfig" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get STS Config", - "tags": [ - "Token Exchange" - ] - }, - "post": { - "description": "Updates an existing STS configuration", - "operationId": "TokenExchangeService_UpdateSTSConfig", - "parameters": [ - { - "description": "ID of the STS config to update", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenExchangeServiceUpdateSTSConfigBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1STSConfig" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update STS Config", - "tags": [ - "Token Exchange" - ], - "x-codegen-request-body-name": "body" - } - }, - "/v1/base-data-types": { - "get": { - "description": "Lists the base data types supported in vault schema.", - "operationId": "list-base-data-types", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListBaseDataTypesResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Base Data Types", - "tags": [ - "Data Types" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/cloudProviders": { - "get": { - "description": "Gets details of cloud providers for key management workflows.", - "operationId": "get-cloud-provider-details", - "parameters": [ - { - "name": "workspaceID", - "in": "query", - "description": "ID of the workspace.", - "schema": { - "type": "string" - }, - "required": true - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetCloudProviderDetailsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Cloud Provider Details", - "tags": [ - "Key Management" - ], - "x-enable": "cloudProviders", - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "workspaceID" - ], - "x-required-query-parameters": [ - "workspaceID" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/detect/configurations": { - "post": { - "summary": "Create Detect Configuration", - "description": "Create a new configuration to manage tokenization, transformations, regex filters, entity-to-column mappings, and more.", - "operationId": "create_detect_configuration", - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Detect Configurations" - ], - "x-severity": 2, - "x-permission": "detect.invoker", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/detect_configuration" - }, - "examples": { - "Create": { - "$ref": "#/components/examples/create_detect_configuration_example" - } - } - } - } - }, - "responses": { - "200": { - "description": "Successful create response.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/create_detect_configuration_response" - }, - "examples": { - "Create": { - "$ref": "#/components/examples/create_detect_configuration_response_example" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - }, - "get": { - "summary": "List Detect Configurations", - "description": "Retrieve all available Detect configurations.", - "operationId": "list_detect_configurations", - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Detect Configurations" - ], - "x-severity": 2, - "x-permission": "detect.invoker", - "parameters": [ - { - "name": "vault_id", - "in": "query", - "description": "ID of the vault for which to retrieve configurations.", - "required": true, - "schema": { - "type": "string" - }, - "example": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b" - } - ], - "responses": { - "200": { - "description": "Successful response listing detect configurations.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/list_detect_configurations_response" - }, - "examples": { - "List": { - "$ref": "#/components/examples/list_configurations_response_example" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/v1/detect/configurations/{configuration_id}": { - "get": { - "summary": "Get Detect Configuration", - "description": "Retrieve a configuration by its unique identifier.", - "operationId": "get_detect_configuration", - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Detect Configurations" - ], - "x-severity": 2, - "x-permission": "detect.invoker", - "parameters": [ - { - "name": "configuration_id", - "in": "path", - "description": "Unique ID of the configuration.", - "required": true, - "schema": { - "type": "string" - }, - "example": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b" - } - ], - "responses": { - "200": { - "description": "Successful read response.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/get_detect_configuration_response" - }, - "examples": { - "Get": { - "$ref": "#/components/examples/get_detect_configuration_response" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - }, - "put": { - "summary": "Update Detect Configuration", - "description": "Update an existing Detect configuration. Fields omitted in the request body are removed from the configuration.", - "operationId": "update_detect_configuration", - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Detect Configurations" - ], - "x-severity": 2, - "x-permission": "detect.invoker", - "parameters": [ - { - "name": "configuration_id", - "in": "path", - "description": "Unique ID of the configuration.", - "required": true, - "schema": { - "type": "string" - }, - "example": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b" - } - ], - "requestBody": { - "description": "Fields omitted in the request body are removed from the configuration.", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/detect_configuration" - }, - "examples": { - "Update": { - "$ref": "#/components/examples/update_detect_configuration_request" - } - } - } - } - }, - "responses": { - "200": { - "description": "Successful update response. Returns an empty object.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/detect_configuration" - }, - "examples": { - "Update": { - "$ref": "#/components/examples/update_detect_configuration_response" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - }, - "delete": { - "summary": "Delete Detect Configuration", - "description": "Delete a configuration", - "operationId": "delete_detect_configuration", - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Detect Configurations" - ], - "x-severity": 2, - "x-permission": "detect.invoker", - "parameters": [ - { - "name": "configuration_id", - "in": "path", - "description": "Unique ID of the configuration.", - "required": true, - "schema": { - "type": "string" - }, - "example": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b" - } - ], - "responses": { - "200": { - "description": "Successful delete response. Returns an empty object.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "type": "object" - }, - "examples": { - "Delete": { - "$ref": "#/components/examples/delete_detect_configuration_response" - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/v1/field-templates": { - "get": { - "description": "Returns availble Skyflow Data Types.", - "operationId": "list-skyflow-data-types", - "parameters": [], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListFieldTemplatesResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Skyflow Data Types", - "tags": [ - "Data Types" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/field-templates/{ID}": { - "get": { - "description": "Returns the specified Skyflow Data Type.", - "operationId": "get-skyflow-data-type", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFieldTemplateResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Skyflow Data Type", - "tags": [ - "Data Types" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionConfig": { - "get": { - "description": "Returns the specified function configuration.", - "operationId": "get-function-config", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionConfigResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Function Config", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionDeployments": { - "get": { - "description": "Returns all function deployments in the account.", - "operationId": "list-function-deployments", - "parameters": [ - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start receiving results.", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return.", - "schema": { - "type": "string" - } - }, - { - "name": "functionID", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "functionEnvironmentID", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "versionTag", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListFunctionDeploymentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "List Function Deployments", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "offset", - "limit", - "functionID", - "functionEnvironmentID", - "versionTag", - "sortOps.sortBy", - "sortOps.orderBy" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a new deployment.", - "operationId": "create-function-deployment", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionDeploymentRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionDeploymentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Create Function Deployment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionDeployments/{ID}": { - "delete": { - "description": "Deletes the specified function deployment.", - "operationId": "delete-function-deployment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFunctionDeploymentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Delete Function Deployment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "get": { - "description": "Returns the specified function deployment.", - "operationId": "get-function-deployment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "verbose", - "in": "query", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionDeploymentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Function Deployment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "verbose" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Updates the specified function deployment.", - "operationId": "update-function-deployment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionDeploymentRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionDeploymentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Update Function Deployment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionDeployments/{ID}/logs": { - "get": { - "description": "Return function deployment logs.", - "operationId": "get-function-deployment-logs", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "methodName", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "startTime", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "filter", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionDeploymentLogsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Deployment Logs", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "methodName", - "startTime", - "filter" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionEnvironments": { - "get": { - "description": "Returns all function environments in the account.", - "operationId": "list-function-environments", - "parameters": [ - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start receiving results.", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.isDefault", - "in": "query", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListFunctionEnvironmentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "List Function Environments", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "offset", - "limit", - "filterOps.isDefault", - "sortOps.sortBy", - "sortOps.orderBy" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a new environment.", - "operationId": "create-function-environment", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionEnvironmentRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionEnvironmentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Create Function Environment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionEnvironments/{ID}": { - "delete": { - "description": "Deletes the specified function environment.", - "operationId": "delete-function-environment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFunctionEnvironmentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Delete Function Environment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "get": { - "description": "Returns the specified function environment.", - "operationId": "get-function-environment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionEnvironmentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Function Environment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Updates the specified function environment.", - "operationId": "update-function-environment", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionEnvironmentRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionEnvironmentResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Update Function Environment", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionEnvironments/{ID}/variable": { - "delete": { - "description": "Deletes the specified function environment variable.", - "operationId": "delete-function-environment-variable", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFunctionEnvironmentVariableRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFunctionEnvironmentVariableResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Delete Function Environment Variable", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Updates the specified function environment variable.", - "operationId": "update-function-environment-variable", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionEnvironmentVariableRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionEnvironmentVariableResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Update Function Environment Variable", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functionTags": { - "get": { - "description": "Returns all function tags for all accounts.", - "operationId": "list-all-function-tags", - "parameters": [ - { - "name": "filterOps.status", - "in": "query", - "description": "Filter that returns only results that match the specified tag status.", - "schema": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "filterOps.functionID", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.accountID", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "daysToRetrieve", - "in": "query", - "description": "daysToRetrieve in days for which for which we want to fetch function tags.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListAllFunctionTagsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "List All Function Tags", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "daysToRetrieve", - "filterOps.accountID", - "filterOps.functionID", - "filterOps.status", - "limit", - "offset", - "sortOps.orderBy", - "sortOps.sortBy" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Updates the specified function tag.", - "operationId": "update-function-tag", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionTagRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionTagResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Update Function Tag", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functions": { - "get": { - "description": "Returns all functions in the account.", - "operationId": "list-functions", - "parameters": [ - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start receiving results.", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListFunctionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "List Functions", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "offset", - "limit", - "sortOps.sortBy", - "sortOps.orderBy" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a new function. Requires the INTEROP role.", - "operationId": "create-function", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFunctionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Create Function", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functions/{ID}": { - "delete": { - "description": "Deletes the specified function.", - "operationId": "delete-function", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteFunctionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Delete Function", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "get": { - "description": "Returns the specified function.", - "operationId": "get-function", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Function", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Updates the specified function.", - "operationId": "update-function", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFunctionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Update Function", - "tags": [ - "Functions" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functions/{ID}/tags": { - "get": { - "description": "Returns all tags for the specified function.", - "operationId": "list-function-version-tags", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.status", - "in": "query", - "description": "Filter that returns only results that match the specified tag status.", - "schema": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListFunctionTagsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "List Function Tags", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "offset", - "limit", - "filterOps.status", - "sortOps.sortBy", - "sortOps.orderBy" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/functions/{ID}/tags/{versionTag}": { - "get": { - "description": "Returns the specified function tag.", - "operationId": "get-function-version-tag", - "parameters": [ - { - "name": "ID", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "versionTag", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "downloadURL", - "in": "query", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetFunctionTagResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist.", - "$ref": "#/components/responses/404" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response.", - "$ref": "#/components/responses/500" - } - }, - "summary": "Get Function Tag", - "tags": [ - "Functions" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "downloadURL" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/gateway/inboundRoutes": { - "get": { - "description": "List inbound connections for the specified vault.", - "operationId": "IntegrationService_ListInboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "ID of the vault.", - "in": "query", - "name": "vaultID", - "schema": { - "type": "string" - } - }, - { - "description": "If `true`, only returns connection IDs.", - "in": "query", - "name": "fetchIDonly", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Inbound Connections", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates an inbound connection.", - "operationId": "IntegrationService_CreateInboundIntegration", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Inbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "RelayMappings" - } - }, - "/v1/gateway/inboundRoutes/{ID}": { - "delete": { - "description": "Deletes the specified inbound connection.", - "operationId": "IntegrationService_DeleteInboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1Empty" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Inbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified inbound connection.", - "operationId": "IntegrationService_GetInboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Inbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "put": { - "description": "Updates the specified inbound connection.", - "operationId": "IntegrationService_UpdateInboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Inbound Connection ", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "RelayMappings" - } - }, - "/v1/gateway/{connectionID}/secret": { - "post": { - "description": "Update the specified secrets for a connection. Other secrets aren't updated. All properties for a secret must be specified together. For example, to update the `routeSecret`, you must specify both `publicKey` and `privateKey`.", - "operationId": "update_secrets", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "connectionID", - "required": true, - "schema": { - "type": "string" - }, - "example": "c3ec3e65-286d-4248-8bcb-66b472185848" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secrets" - }, - "examples": { - "default": { - "value": { - "routeSecret": { - "publicKey": "exampleUser", - "privateKey": "examplePassword" - }, - "soapAuthSecret": { - "userName": "soapUser", - "password": "soapPassword" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Secrets updated successfully.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1Empty" - }, - "examples": { - "default": { - "value": {} - } - } - } - } - }, - "default": { - "description": "Unexpected error." - } - }, - "summary": "Update Connection Secrets", - "tags": [ - "Connections" - ] - }, - "get": { - "description": "Identifies which secrets are set for a connection. Secret values are redacted. Returns 404 if no secrets are found.", - "operationId": "get_secrets", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "connectionID", - "required": true, - "schema": { - "type": "string" - }, - "example": "c3ec3e65-286d-4248-8bcb-66b472185848" - } - ], - "responses": { - "200": { - "description": "Secrets for the connection.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secrets" - }, - "example": { - "routeSecret": { - "publicKey": "SECRET", - "privateKey": "SECRET" - }, - "soapAuthSecret": { - "userName": "SECRET", - "password": "SECRET" - } - } - } - } - }, - "404": { - "description": "No secrets found for the connection.", - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "default": { - "description": "Unexpected error." - } - }, - "summary": "Get Connection Secrets", - "tags": [ - "Connections" - ] - } - }, - "/v1/gateway/inboundRoutes/{ID}/secret": { - "post": { - "description": "Uploads authentication information for an inbound connection.", - "operationId": "IntegrationService_UploadInboundSecret", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secrets" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1Empty" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Upload Authentication Credentials (Inbound)", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/gateway/outboundRoutes": { - "get": { - "description": "Lists outbound connections for the specified vault.", - "operationId": "IntegrationService_ListOutboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "ID of the vault.", - "in": "query", - "name": "vaultID", - "schema": { - "type": "string" - } - }, - { - "description": "If `true`, only returns connection IDs.", - "in": "query", - "name": "fetchIDonly", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Outbound Connections", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates an outbound connection for a vault.", - "operationId": "IntegrationService_CreateOutboundIntegration", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Outbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "RelayMappings" - } - }, - "/v1/gateway/outboundRoutes/{ID}": { - "delete": { - "description": "Deletes the specified outbound connection.", - "operationId": "IntegrationService_DeleteOutboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1Empty" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Outbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified outbound connection.", - "operationId": "IntegrationService_GetOutboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Outbound Connection", - "tags": [ - "Connections" - ], - "x-severity": 3 - }, - "put": { - "description": "Updates the specified outbound connection .", - "operationId": "IntegrationService_UpdateOutboundIntegration", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1RelayMappings" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateIntegrationResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Outbound Connection ", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "RelayMappings" - } - }, - "/v1/gateway/outboundRoutes/{ID}/secret": { - "post": { - "description": "Uploads authentication information for an outbound connection.", - "operationId": "IntegrationService_UploadSecret", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the connection.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/secrets" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1Empty" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Upload Authentication Credentials (Outbound)", - "tags": [ - "Connections" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/masterKeys/getImportParams": { - "get": { - "description": "Gets parameters to import an external master key into a workspace.", - "operationId": "get-master-key-import-parameters", - "parameters": [ - { - "name": "workspaceID", - "in": "query", - "description": "ID of the workspace.", - "schema": { - "type": "string" - }, - "required": true - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetMasterKeyImportResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Master Key Import Parameters", - "tags": [ - "Key Management" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "workspaceID" - ], - "x-required-query-parameters": [ - "workspaceID" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/masterKeys/import": { - "post": { - "description": "Imports external master key ciphertext into a workspace.", - "operationId": "import-master-key", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportMasterKeyRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportMasterKeyResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Import Master Key", - "tags": [ - "Key Management" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/masterKeys/vaults/{vaultID}/getMasterKeyMetadata": { - "get": { - "description": "Gets metadata associated with a vault's master key.", - "operationId": "get-master-key-metadata", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetMasterKeyMetadataResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Master Key Metadata", - "tags": [ - "Key Management" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/masterKeys/vaults/{vaultID}/rotate": { - "post": { - "description": "Rotates a vault's master key.", - "operationId": "rotate-master-key", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RotateMasterKeyRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RotateMasterKeyResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "409": { - "$ref": "#/components/responses/409" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Rotate Master Key", - "tags": [ - "Key Management" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v2/operations/{ID}": { - "get": { - "description": "Returns the status and details of a specific asynchronous operation.", - "operationId": "OperationService_GetOperation", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the operation.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Operation" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Operation Status", - "tags": [ - "Operations" - ], - "x-severity": 3 - } - }, - "/v1/members/{member.ID}/permissions": { - "get": { - "description": "Lists permissions assigned to a member.", - "operationId": "RoleService_ListPermissionsOfMember", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the member.", - "in": "path", - "name": "member.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "member.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "USER", - "GROUP", - "SERVICE_ACCOUNT", - "SQL_SERVICE_ACCOUNT" - ], - "type": "string" - } - }, - { - "description": "Name of the member.", - "in": "query", - "name": "member.name", - "schema": { - "type": "string" - } - }, - { - "description": "Email address of the member.", - "in": "query", - "name": "member.email", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the member.", - "in": "query", - "name": "member.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Name of the user.", - "in": "query", - "name": "member.user.name", - "schema": { - "type": "string" - } - }, - { - "description": "Address number and street name.", - "in": "query", - "name": "member.user.contactAddress.streetAddress", - "schema": { - "type": "string" - } - }, - { - "description": "City.", - "in": "query", - "name": "member.user.contactAddress.city", - "schema": { - "type": "string" - } - }, - { - "description": "State or province.", - "in": "query", - "name": "member.user.contactAddress.state", - "schema": { - "type": "string" - } - }, - { - "description": "Country.", - "in": "query", - "name": "member.user.contactAddress.country", - "schema": { - "type": "string" - } - }, - { - "description": "Postal code.", - "in": "query", - "name": "member.user.contactAddress.zip", - "schema": { - "format": "int32", - "type": "integer" - } - }, - { - "description": "Email address of the user.", - "in": "query", - "name": "member.user.userIdentity.email", - "schema": { - "type": "string" - } - }, - { - "description": "Okta ID of the user.", - "in": "query", - "name": "member.user.userIdentity.oktaID", - "schema": { - "type": "string" - } - }, - { - "description": "ID of the user. Generated by Skyflow.", - "in": "query", - "name": "member.user.ID", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the user.", - "in": "query", - "name": "member.user.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "User who created the resource.", - "in": "query", - "name": "member.user.BasicAudit.CreatedBy", - "schema": { - "type": "string" - } - }, - { - "description": "User who last modified the resource.", - "in": "query", - "name": "member.user.BasicAudit.LastModifiedBy", - "schema": { - "type": "string" - } - }, - { - "description": "Creation time of the resource.", - "in": "query", - "name": "member.user.BasicAudit.CreatedOn", - "schema": { - "type": "string" - } - }, - { - "description": "Last modification time of the resource.", - "in": "query", - "name": "member.user.BasicAudit.LastModifiedOn", - "schema": { - "type": "string" - } - }, - { - "description": "Name of the service account.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.name", - "schema": { - "type": "string" - } - }, - { - "description": "Display name of the service account that appears in user interfaces.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.displayName", - "schema": { - "type": "string" - } - }, - { - "description": "Description of the service account.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.description", - "schema": { - "type": "string" - } - }, - { - "description": "ID of the service account. Generated by Skyflow.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.ID", - "schema": { - "type": "string" - } - }, - { - "description": "Namespace of the service account.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.namespace", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "User who created the resource.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.BasicAudit.CreatedBy", - "schema": { - "type": "string" - } - }, - { - "description": "User who last modified the resource.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.BasicAudit.LastModifiedBy", - "schema": { - "type": "string" - } - }, - { - "description": "Creation time of the resource.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.BasicAudit.CreatedOn", - "schema": { - "type": "string" - } - }, - { - "description": "Last modification time of the resource.", - "in": "query", - "name": "member.serviceAccountInfo.serviceAccount.BasicAudit.LastModifiedOn", - "schema": { - "type": "string" - } - }, - { - "description": "When `true`, all JWT assertions for this service account much contain a `ctx` claim.", - "in": "query", - "name": "member.serviceAccountInfo.clientConfiguration.enforceContextID", - "schema": { - "type": "boolean" - } - }, - { - "description": "When `true`, all data tokens sent to the vault using this service account must be signed with the associated private key.", - "in": "query", - "name": "member.serviceAccountInfo.clientConfiguration.enforceSignedDataTokens", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListPermissionsOfMemberResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Permissions of Member", - "tags": [ - "Roles" - ], - "x-severity": 3 - } - }, - "/v1/members/{member.ID}/roles": { - "get": { - "description": "Lists roles assigned to a member as role-to-resource pairs.", - "operationId": "RoleService_ListRolesOfMember", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the member.", - "in": "path", - "name": "member.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "member.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "USER", - "GROUP", - "SERVICE_ACCOUNT", - "SQL_SERVICE_ACCOUNT" - ], - "type": "string" - } - }, - { - "description": "Name of the member.", - "in": "query", - "name": "member.name", - "schema": { - "type": "string" - } - }, - { - "description": "Email address of the member.", - "in": "query", - "name": "member.email", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the member.", - "in": "query", - "name": "member.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "in": "query", - "name": "filterOps.resource.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Type of the resource.", - "in": "query", - "name": "filterOps.resource.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - }, - { - "description": "Name of the resource.", - "in": "query", - "name": "filterOps.resource.name", - "schema": { - "type": "string" - } - }, - { - "description": "Unique namespace for the resource. Generated by Skyflow.", - "in": "query", - "name": "filterOps.resource.namespace", - "schema": { - "type": "string" - } - }, - { - "description": "Description of the resource.", - "in": "query", - "name": "filterOps.resource.description", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the resource.", - "in": "query", - "name": "filterOps.resource.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Display name of the resource that appears in user interfaces.", - "in": "query", - "name": "filterOps.resource.displayName", - "schema": { - "type": "string" - } - }, - { - "description": " - SYSTEM: Defined by Skyflow.\n - CUSTOM: Defined by a user.", - "in": "query", - "name": "filterOps.roleType", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "SYSTEM", - "CUSTOM" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListRolesOfMemberResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Roles of Member", - "tags": [ - "Roles" - ], - "x-severity": 3 - } - }, - "/v1/pipelines": { - "get": { - "description": "Lists the pipelines you can access.", - "operationId": "list-pipelines", - "parameters": [ - { - "name": "filterOps.name", - "in": "query", - "description": "Name of the pipeline.", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start retrieving pipelines.", - "schema": { - "type": "integer", - "format": "uint32" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of pipelines to retrieve. Maximum 25.", - "schema": { - "type": "integer", - "format": "uint32" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListPipelinesResponse_list-pipelines" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Pipelines", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.name", - "sortOps.sortBy", - "sortOps.orderBy", - "offset", - "limit" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a pipeline.", - "operationId": "create-pipeline", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePipelineRequest" - } - } - }, - "description": "Request to create a pipeline.", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePipelineResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Pipeline", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/pipelines/{ID}": { - "delete": { - "description": "Deletes the specified pipeline and the entities it contains.", - "operationId": "delete-pipeline", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeletePipelineResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Pipeline", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "get": { - "description": "Returns the specified pipeline.", - "operationId": "get-pipeline", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetPipelineResponse_get-pipeline" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Pipeline", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "patch": { - "tags": [ - "Pipelines" - ], - "summary": "Update Pipeline", - "description": "Updates the specified pipeline.", - "operationId": "update-pipeline", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdatePipelineRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdatePipelineResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/pipelines/{ID}/run": { - "post": { - "description": "Runs the specified pipeline.", - "operationId": "run-pipeline", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RunPipelineRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RunPipelineResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Run Pipeline", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/pipelines/{ID}/runs/{runID}/stop": { - "post": { - "description": "Stops the specified pipeline run.", - "operationId": "stop-pipeline-run", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "runID", - "in": "path", - "description": "ID of the pipeline run.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StopPipelineRunRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StopPipelineRunResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Stop Pipeline Run", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/pipelines/{pipelineID}/runs": { - "get": { - "description": "Lists runs of the specified pipeline.", - "operationId": "list-pipeline-runs", - "parameters": [ - { - "name": "pipelineID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.state", - "in": "query", - "description": "State of the pipeline run.", - "schema": { - "enum": [ - "SUCCEEDED", - "FAILED" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start retrieving pipeline runs.", - "schema": { - "type": "integer", - "format": "uint32" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of pipeline runs to retrieve.", - "schema": { - "type": "integer", - "format": "uint32" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListPipelineRunsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Pipeline Runs", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.state", - "offset", - "limit" - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/pipelines/{pipelineID}/runs/{ID}": { - "get": { - "description": "Returns the specified pipeline run.", - "operationId": "get-pipeline-run", - "parameters": [ - { - "name": "pipelineID", - "in": "path", - "description": "ID of the pipeline.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ID", - "in": "path", - "description": "ID of the pipeline run.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetPipelineRunResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Pipeline Run", - "tags": [ - "Pipelines" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/policies": { - "get": { - "description": "Lists policies associated with a resource.", - "operationId": "PolicyAuthoringService_ListPolicies", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "in": "query", - "name": "resource.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Type of the resource.", - "in": "query", - "name": "resource.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - }, - { - "description": "Name of the resource.", - "in": "query", - "name": "resource.name", - "schema": { - "type": "string" - } - }, - { - "description": "Unique namespace for the resource. Generated by Skyflow.", - "in": "query", - "name": "resource.namespace", - "schema": { - "type": "string" - } - }, - { - "description": "Description of the resource.", - "in": "query", - "name": "resource.description", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the resource.", - "in": "query", - "name": "resource.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Display name of the resource that appears in user interfaces.", - "in": "query", - "name": "resource.displayName", - "schema": { - "type": "string" - } - }, - { - "description": "filter that limits results to those that match the specified name.\n\nstring ruleName = 2;\n Action action = 3;\n Effect effect = 4;", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to retrieve.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListPoliciesResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Policies", - "tags": [ - "Policies" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a policy for the specified resource.", - "operationId": "PolicyAuthoringService_CreatePolicy", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreatePolicyRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreatePolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Policy", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/assign": { - "post": { - "description": "Assigns a policy to one or more roles.", - "operationId": "PolicyAuthoringService_AssignPolicy", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1AssignPolicyRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1AssignPolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Assign Policy", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/rules": { - "post": { - "description": "Creates a rule in a policy.", - "operationId": "PolicyAuthoringService_CreateRule", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateRuleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateRuleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Rule", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/rules/{ID}": { - "delete": { - "description": "Deletes a rule from a policy.", - "operationId": "PolicyAuthoringService_DeleteRule", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the rule.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the policy that contains the rule.", - "in": "query", - "name": "policyID", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteRuleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Rule", - "tags": [ - "Policies" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified rule.", - "operationId": "PolicyAuthoringService_GetRule", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the rule.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the policy that contains the rule.", - "in": "query", - "name": "policyID", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetRuleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Rule", - "tags": [ - "Policies" - ], - "x-severity": 3 - }, - "patch": { - "description": "Update a rule.", - "operationId": "PolicyAuthoringService_UpdateRule", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the rule.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyAuthoringServiceUpdateRuleBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateRuleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Rule", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/unassign": { - "post": { - "description": "Unassigns a policy from one or more roles.", - "operationId": "PolicyAuthoringService_UnassignPolicy", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UnassignPolicyRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UnassignPolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Unassign Policy", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/{ID}": { - "delete": { - "description": "Deletes the specified policy.", - "operationId": "PolicyAuthoringService_DeletePolicy", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the policy.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeletePolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Policy", - "tags": [ - "Policies" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified policy.", - "operationId": "PolicyAuthoringService_GetPolicy", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the policy.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetPolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Policy", - "tags": [ - "Policies" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates the specified policy.", - "operationId": "PolicyAuthoringService_UpdatePolicy", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the policy.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyAuthoringServiceUpdatePolicyBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdatePolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Policy", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/{ID}/status": { - "patch": { - "description": "Updates a policy's status.", - "operationId": "PolicyAuthoringService_UpdateStatus", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the entity to update.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1PolicyAuthoringServiceUpdateStatusBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateStatusResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Policy Status", - "tags": [ - "Policies" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/policies/{policyID}/roles": { - "get": { - "description": "Lists roles assigned to a policy.", - "operationId": "RoleService_ListRolesOfPolicy", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the policy.", - "in": "path", - "name": "policyID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified role name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListRolesOfPolicyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Roles of Policy", - "tags": [ - "Roles" - ], - "x-severity": 3 - } - }, - "/v1/resources": { - "get": { - "description": "List resources under a given resource.", - "operationId": "AccountService_ListResources", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "in": "query", - "name": "resource.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Type of the resource.", - "in": "query", - "name": "resource.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - }, - { - "description": "Name of the resource.", - "in": "query", - "name": "resource.name", - "schema": { - "type": "string" - } - }, - { - "description": "Unique namespace for the resource. Generated by Skyflow.", - "in": "query", - "name": "resource.namespace", - "schema": { - "type": "string" - } - }, - { - "description": "Description of the resource.", - "in": "query", - "name": "resource.description", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the resource.", - "in": "query", - "name": "resource.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Display name of the resource that appears in user interfaces.", - "in": "query", - "name": "resource.displayName", - "schema": { - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListResourcesResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Resources", - "tags": [ - "Accounts" - ], - "x-severity": 3 - } - }, - "/v1/roleDefinitions": { - "get": { - "description": "Lists Skyflow-defined roles. You can't update or delete these roles.", - "operationId": "RoleService_ListRoleDefinitions", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Filter that limits results to those that match the specified type.", - "in": "query", - "name": "resourceType", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "FUNCTION_CONFIG", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListRoleDefinitionsResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Skyflow-defined Roles", - "tags": [ - "Roles" - ], - "x-severity": 3 - } - }, - "/v1/roles": { - "get": { - "description": "Lists roles associated with a resource.", - "operationId": "RoleService_ListRoles", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "in": "query", - "name": "resource.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Type of the resource.", - "in": "query", - "name": "resource.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - }, - { - "description": "Name of the resource.", - "in": "query", - "name": "resource.name", - "schema": { - "type": "string" - } - }, - { - "description": "Unique namespace for the resource. Generated by Skyflow.", - "in": "query", - "name": "resource.namespace", - "schema": { - "type": "string" - } - }, - { - "description": "Description of the resource.", - "in": "query", - "name": "resource.description", - "schema": { - "type": "string" - } - }, - { - "description": "Status of the resource.", - "in": "query", - "name": "resource.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Display name of the resource that appears in user interfaces.", - "in": "query", - "name": "resource.displayName", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified type.\n\n - SYSTEM: Defined by Skyflow.\n - CUSTOM: Defined by a user.", - "in": "query", - "name": "type", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "SYSTEM", - "CUSTOM" - ], - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListRolesResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Roles", - "tags": [ - "Roles" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a custom role for the specified resource. After you create a role, you need to assign the role to a user or service account.", - "operationId": "RoleService_CreateRole", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateRoleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Role", - "tags": [ - "Roles" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/roles/assign": { - "post": { - "description": "Assigns a role to a member.", - "operationId": "RoleService_AssignRole", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1AssignRoleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1AssignRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Assign Role", - "tags": [ - "Roles" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/roles/unassign": { - "post": { - "description": "Removes a role from members.", - "operationId": "RoleService_UnassignRole", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UnassignRoleRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UnassignRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Unassign Role", - "tags": [ - "Roles" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/roles/{ID}": { - "delete": { - "description": "Deletes a custom role. Attempting to delete Skyflow-defined roles results in an error.", - "operationId": "RoleService_DeleteRole", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the role.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Role", - "tags": [ - "Roles" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified role.", - "operationId": "RoleService_GetRole", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the role.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Role", - "tags": [ - "Roles" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates a custom role. Attempting to update Skyflow-defined roles results in an error.", - "operationId": "RoleService_UpdateRole", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the role.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RoleServiceUpdateRoleBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Role", - "tags": [ - "Roles" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/roles/{ID}/members": { - "get": { - "description": "Lists members that are assign the specified role.", - "operationId": "RoleService_ListMembersByRole", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the resource. For example, if the resource is `roles`, this field is the role ID. If the resource is `workspaces`, this field is the workspace ID.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified email address.", - "in": "query", - "name": "filterOps.email", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified type.", - "in": "query", - "name": "filterOps.type", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "USER", - "GROUP", - "SERVICE_ACCOUNT", - "SQL_SERVICE_ACCOUNT" - ], - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified status.", - "in": "query", - "name": "filterOps.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListMembersResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Members by Role", - "tags": [ - "Roles" - ], - "x-severity": 3 - } - }, - "/v1/roles/{roleID}/policies": { - "get": { - "description": "Lists policies assigned to a role.", - "operationId": "PolicyAuthoringService_ListPoliciesByRole", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the role.", - "in": "path", - "name": "roleID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified policy name.\n\nAction action = 2;\n Effect effect = 3;", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to receive.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListPoliciesByRoleResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Policies By Role", - "tags": [ - "Policies" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts": { - "get": { - "description": "Lists service accounts.", - "operationId": "ServiceAccountService_ListServiceAccounts", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Record position at with to start returning results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "ID of the account that the service account belongs to. Defaults to the account specified in the `X-Skyflow-Account-ID` header.", - "in": "query", - "name": "accountID", - "schema": { - "$ref": "#/components/parameters/AccountID" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Deprecated. ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "in": "query", - "name": "resource.ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Deprecated. Type of the resource.", - "in": "query", - "name": "resource.type", - "required": true, - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - } - }, - { - "description": "Deprecated. Name of the resource.", - "in": "query", - "name": "resource.name", - "schema": { - "type": "string" - } - }, - { - "description": "Deprecated. Unique namespace for the resource. Generated by Skyflow.", - "in": "query", - "name": "resource.namespace", - "schema": { - "type": "string" - } - }, - { - "description": "Deprecated. Description of the resource.", - "in": "query", - "name": "resource.description", - "schema": { - "type": "string" - } - }, - { - "description": "Deprecated. Status of the resource.", - "in": "query", - "name": "resource.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Deprecated. Display name of the resource that appears in user interfaces.", - "in": "query", - "name": "resource.displayName", - "schema": { - "type": "string" - } - }, - { - "description": "Deprecated. Number of levels of contained resources for which to return associated service accounts, starting at the specified resource.", - "in": "query", - "name": "depth", - "schema": { - "default": "5", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListServiceAccountsResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Service Accounts", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a service account.", - "operationId": "ServiceAccountService_CreateServiceAccount", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/create_service_account_request" - } - } - }, - "description": "The service account create request.", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Service Account", - "tags": [ - "Service Accounts" - ], - "x-severity": 3, - "x-permission": "serviceAccount.create" - } - }, - "/v1/serviceAccounts/{ID}": { - "delete": { - "description": "Deletes the specified service account.", - "operationId": "ServiceAccountService_DeleteServiceAccount", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Service Account", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified service account.", - "operationId": "ServiceAccountService_GetServiceAccount", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Service Account", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates the specified service account.", - "operationId": "ServiceAccountService_UpdateServiceAccount", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - }, - "example": "b24e7ba813654628819586e4c0086ca5" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/update_service_account_request" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Service Account", - "tags": [ - "Service Accounts" - ], - "x-severity": 3, - "x-permission": "serviceAccount.update" - } - }, - "/v1/serviceAccounts/{ID}/apikey": { - "get": { - "description": "Lists API keys for the specified service account.", - "operationId": "ServiceAccountService_ListAPIKeys", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListAPIKeysResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List API Keys", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates an API key for the specified service account.", - "operationId": "ServiceAccountService_CreateAPIKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create API Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts/{ID}/apikey/{keyID}": { - "delete": { - "description": "Deletes the specified API key.", - "operationId": "ServiceAccountService_DeleteAPIKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the API key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteAPIKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete API Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified API key.", - "operationId": "ServiceAccountService_GetAPIKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the API key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1APIKey" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get API Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts/{ID}/apikey/{keyID}/rotate": { - "put": { - "description": "Rotates the specified API key.", - "operationId": "ServiceAccountService_RotateAPIKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the API key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Rotate API Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/serviceAccounts/{ID}/keys": { - "get": { - "description": "Lists keys for the specified service account.", - "operationId": "ServiceAccountService_ListServiceAccountKeys", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filters that limits results to those that match the specified key type.\n\n - USER_MANAGED: Keys managed and rotated by the users.\n - SYSTEM_MANAGED: Keys managed and rotated by Skyflow.", - "explode": true, - "in": "query", - "name": "keyTypes", - "schema": { - "items": { - "enum": [ - "KEY_TYPE_UNSPECIFIED", - "USER_MANAGED", - "SYSTEM_MANAGED" - ], - "type": "string" - }, - "type": "array" - }, - "style": "form" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListServiceAccountKeysResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Keys", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a key for the specified service account.", - "operationId": "ServiceAccountService_CreateServiceAccountKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts/{ID}/keys/{KeyID}/rotate": { - "put": { - "description": "Rotates the specified key.", - "operationId": "ServiceAccountService_RotateServiceAccountKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the key linked with the service account.", - "in": "path", - "name": "KeyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ServiceAccountResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Rotate Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/serviceAccounts/{ID}/keys/{keyID}": { - "delete": { - "description": "Deletes the specified key.", - "operationId": "ServiceAccountService_DeleteServiceAccountKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the service account key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteServiceAccountKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified key.", - "operationId": "ServiceAccountService_GetServiceAccountKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the service account key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Output format of the public key.", - "in": "query", - "name": "publicKeyType", - "schema": { - "default": "TYPE_NONE", - "enum": [ - "TYPE_NONE", - "TYPE_X509_PEM_FILE", - "TYPE_RAW_PUBLIC_KEY" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ServiceAccountKey" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts/{ID}/signedtokenkey": { - "get": { - "description": "Returns signed token keys for the specified service account.", - "operationId": "ServiceAccountService_ListSignedDataTokenKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListSignedDataTokenKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Signed Token Keys", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a signed token key for the specified service account.", - "operationId": "ServiceAccountService_CreateSignedDataTokenKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1SignedDataTokenKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Signed Token Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/serviceAccounts/{ID}/signedtokenkey/{KeyID}/rotate": { - "put": { - "description": "Rotates the specified signed token key.", - "operationId": "ServiceAccountService_RotateSignedDataTokenKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the signed token key.", - "in": "path", - "name": "KeyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1SignedDataTokenKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Rotate Signed Token Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/serviceAccounts/{ID}/signedtokenkey/{keyID}": { - "delete": { - "description": "Deletes the specified signed token key.", - "operationId": "ServiceAccountService_DeleteSignedDataTokenKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the signed token key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteSignedDataTokenKeyResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Signed Token Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified signed token key.", - "operationId": "ServiceAccountService_GetSignedDataTokenKey", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the service account.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "ID of the signed token key.", - "in": "path", - "name": "keyID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1SignedDataTokenKey" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Signed Token Key", - "tags": [ - "Service Accounts" - ], - "x-severity": 3 - } - }, - "/v1/users": { - "get": { - "description": "Lists users in the account.", - "operationId": "UserService_ListUsers", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - }, - { - "description": "ID of the account.", - "in": "query", - "name": "accountID", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified email address.", - "in": "query", - "name": "filterOps.email", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified status.", - "in": "query", - "name": "filterOps.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListUsersResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Users", - "tags": [ - "Users" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a user.", - "operationId": "UserService_CreateUser", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateUserRequest" - } - } - }, - "description": "User creation request.", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateUserResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create User", - "tags": [ - "Users" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/users/{ID}": { - "delete": { - "description": "Deletes a user.", - "operationId": "UserService_DeleteUser", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the user.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteUserResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete User", - "tags": [ - "Users" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified user.", - "operationId": "UserService_GetUser", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the user.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetUserResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get User", - "tags": [ - "Users" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates the specified user.", - "operationId": "UserService_UpdateUser", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the user.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserServiceUpdateUserBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateUserResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update User", - "tags": [ - "Users" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/vault-templates": { - "get": { - "description": "Lists the vault templates available to an account.", - "operationId": "VaultTemplateService_ListVaultTemplates", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "query", - "name": "accountID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified status.", - "in": "query", - "name": "filterOps.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": 0, - "format": "int64", - "type": "integer" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": 25, - "format": "int64", - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListVaultTemplatesResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Vault Templates", - "tags": [ - "Vault Templates" - ], - "x-severity": 3 - } - }, - "/v1/vault-templates/{ID}": { - "get": { - "description": "Returns the specified vault template.", - "operationId": "VaultTemplateService_GetVaultTemplate", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the vault template.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetVaultTemplateResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Vault Template", - "tags": [ - "Vault Templates" - ], - "x-severity": 3 - } - }, - "/v1/vaults": { - "get": { - "description": "Lists the vaults you can access in a workspace.", - "operationId": "list-vaults", - "parameters": [ - { - "name": "filterOps.name", - "in": "query", - "description": "Filter that returns only results that match the specified name.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.status", - "in": "query", - "description": "Filter that returns only results that match the specified status.", - "schema": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "filterOps.type", - "in": "query", - "description": "Filter that returns only results that match the specified vault type.", - "schema": { - "enum": [ - "VAULT_TYPE_NONE", - "SCRATCH_TEMPLATE", - "QUICKSTART", - "UI_QUICKSTART", - "CUSTOMER_IDENTITY", - "PAYMENT", - "PII_DATA", - "PLAID", - "PAYMENTS_ACCEPTANCE_SAMPLE" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Record position at which to start receiving results.", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return.", - "schema": { - "type": "string" - } - }, - { - "name": "fetchMetadataOnly", - "in": "query", - "description": "If `true`, only returns the vault ID, name, description, status, namespace, and basic audit metadata.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListObjectVaultsResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Vaults", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.name", - "filterOps.status", - "filterOps.type", - "sortOps.sortyBy", - "sortOps.orderBy", - "offset", - "limit", - "fetchMetadataOnly" - ], - "x-required-query-parameters": [ - "workspaceID" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a vault.", - "operationId": "create-vault", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateObjectVaultRequest" - } - } - }, - "description": "Vault creation request.", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateObjectVaultResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Vault", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{ID}": { - "delete": { - "description": "Deletes the specified vault and everything contained within it.", - "operationId": "delete-vault", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteObjectVaultResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Vault", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "get": { - "description": "Returns the specified vault.", - "operationId": "get-vault", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "fetchMetadataOnly", - "in": "query", - "description": "If `true`, only returns the vault ID, name, description, status, namespace, and basic audit metadata.", - "schema": { - "type": "boolean" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetObjectVaultResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Vault", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "fetchMetadataOnly" - ], - "x-fern-audiences": [ - "external" - ] - }, - "patch": { - "description": "Updates the specified vault.", - "operationId": "update-vault", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateObjectVaultRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateObjectVaultResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Vault", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/versions": { - "get": { - "description": "Returns a list of schema versions for the specified vault.", - "operationId": "list-vault-schema-versions", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListObjectVaultVersionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Vault Schema Versions", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/vaults/{vaultID}/versions/{versionTag}": { - "get": { - "description": "Returns the specified vault schema version.", - "operationId": "get-vault-schema-version", - "parameters": [ - { - "name": "vaultID", - "in": "path", - "description": "ID of the vault.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "versionTag", - "in": "path", - "description": "Unique tag of the vault schema version.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetObjectVaultVersionResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Vault Schema Version", - "tags": [ - "Vaults" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/workspaces": { - "get": { - "description": "Lists the workspaces in an account.", - "operationId": "WorkspaceService_ListWorkspaces", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the account.", - "in": "query", - "name": "accountID", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified status.", - "in": "query", - "name": "status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to retrieve.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListWorkspacesResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Workspaces", - "tags": [ - "Workspaces" - ], - "x-severity": 3 - }, - "post": { - "description": "Creates a workspace for an account.", - "operationId": "WorkspaceService_CreateWorkspace", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateWorkspaceRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1CreateWorkspaceResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Workspace", - "tags": [ - "Workspaces" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/workspaces/{ID}": { - "delete": { - "description": "Deletes the specified Workspace and the entities it contains.", - "operationId": "WorkspaceService_DeleteWorkspace", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the workspace.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1DeleteWorkspaceResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Workspace", - "tags": [ - "Workspaces" - ], - "x-severity": 3 - }, - "get": { - "description": "Returns the specified workspace.", - "operationId": "WorkspaceService_GetWorkspace", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the workspace.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1GetWorkspaceResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Workspace", - "tags": [ - "Workspaces" - ], - "x-severity": 3 - }, - "patch": { - "description": "Updates the specified Workspace.", - "operationId": "WorkspaceService_UpdateWorkspace", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the workspace.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WorkspaceServiceUpdateWorkspaceBody" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1UpdateWorkspaceResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Workspace", - "tags": [ - "Workspaces" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body" - } - }, - "/v1/workspaces/{ID}/members": { - "get": { - "description": "Lists members for the specified workspace.", - "operationId": "WorkspaceService_ListMembers", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - }, - { - "description": "ID of the resource. For example, if the resource is `roles`, this field is the role ID. If the resource is `workspaces`, this field is the workspace ID.", - "in": "path", - "name": "ID", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified email address.", - "in": "query", - "name": "filterOps.email", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified type.", - "in": "query", - "name": "filterOps.type", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "USER", - "GROUP", - "SERVICE_ACCOUNT", - "SQL_SERVICE_ACCOUNT" - ], - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified name.", - "in": "query", - "name": "filterOps.name", - "schema": { - "type": "string" - } - }, - { - "description": "Filter that limits results to those that match the specified status.", - "in": "query", - "name": "filterOps.status", - "schema": { - "default": "NONE", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string" - } - }, - { - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "in": "query", - "name": "sortOps.sortBy", - "schema": { - "type": "string" - } - }, - { - "description": "Ascending or descending ordering of results.", - "in": "query", - "name": "sortOps.orderBy", - "schema": { - "default": "ASCENDING", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string" - } - }, - { - "description": "Record position at which to start receiving results.", - "in": "query", - "name": "offset", - "schema": { - "default": "0", - "format": "int64", - "type": "string" - } - }, - { - "description": "Number of results to return.", - "in": "query", - "name": "limit", - "schema": { - "default": "25", - "format": "int64", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/v1ListMembersResponse" - } - } - }, - "description": "A successful response." - }, - "404": { - "content": { - "application/json": { - "schema": { - "format": "object", - "type": "object" - } - } - }, - "description": "Returned when the resource does not exist." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Members by Workspace", - "tags": [ - "Workspaces" - ], - "x-severity": 3 - } - }, - "/v1/webhooks": { - "get": { - "description": "Gets details for multiple [webhooks](/docs/processing/webhooks/overview).", - "operationId": "list-webhooks", - "parameters": [ - { - "name": "filterOps.name", - "in": "query", - "description": "Filter by webhook name.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.URL", - "in": "query", - "description": "Filter by endpoint URL.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.eventTypes", - "in": "query", - "description": "Filter by event types.", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "description": "Number of webhooks to skip before returning results. Defaults to 0.", - "schema": { - "type": "integer", - "format": "uint32" - } - }, - { - "name": "limit", - "in": "query", - "description": "Maximum number of webhooks to return. Defaults to 25, maximum is 25.", - "schema": { - "type": "integer", - "format": "uint32" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListWebhooksResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "List Webhooks", - "tags": [ - "Webhooks" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.name", - "filterOps.URL", - "filterOps.eventTypes", - "sortOps.sortBy", - "sortOps.orderBy", - "offset", - "limit" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "description": "Creates a new [webhook](/docs/processing/webhooks/overview) to notify you about events within Skyflow.", - "operationId": "create-webhook", - "parameters": [ - { - "$ref": "#/components/parameters/AccountID" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateWebhookRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateWebhookResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Create Webhook", - "tags": [ - "Webhooks" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/webhooks/{webhookID}": { - "get": { - "description": "Gets the details of a specific [webhook](/docs/processing/webhooks/overview).", - "operationId": "get-webhook", - "parameters": [ - { - "name": "webhookID", - "in": "path", - "description": "ID of the webhook to retrieve.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetWebhookResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Get Webhook", - "tags": [ - "Webhooks" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "patch": { - "description": "Updates the details of a specific [webhook](/docs/processing/webhooks/overview).\nYou only need to include the fields you want to change in the request body. All other fields remain unchanged.", - "operationId": "update-webhook", - "parameters": [ - { - "name": "webhookID", - "in": "path", - "description": "ID of the webhook to update.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateWebhookRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateWebhookResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Update Webhook", - "tags": [ - "Webhooks" - ], - "x-severity": 3, - "x-codegen-request-body-name": "body", - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "delete": { - "description": "Deletes a specific [webhook](/docs/processing/webhooks/overview).", - "operationId": "delete-webhook", - "parameters": [ - { - "name": "webhookID", - "in": "path", - "description": "ID of the webhook to delete.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteWebhookResponse" - } - } - }, - "description": "OK", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/googlerpcStatus" - } - } - }, - "description": "An unexpected error response." - } - }, - "summary": "Delete Webhook", - "tags": [ - "Webhooks" - ], - "x-severity": 3, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/triggers": { - "get": { - "tags": [ - "Triggers" - ], - "summary": "List Triggers", - "description": "Retrieves a list of [triggers](/docs/processing/triggers/overview).", - "operationId": "list-triggers", - "parameters": [ - { - "name": "filterOps.name", - "in": "query", - "description": "Filter by trigger name.", - "schema": { - "type": "string" - } - }, - { - "name": "filterOps.eventTypes", - "in": "query", - "description": "Filter by event types.", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "sortOps.sortBy", - "in": "query", - "description": "Fully-qualified field by which to sort results. Field names should be in camel case (for example, \"capitalization.camelCase\").", - "schema": { - "type": "string" - } - }, - { - "name": "sortOps.orderBy", - "in": "query", - "description": "Ascending or descending ordering of results.", - "schema": { - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "format": "enum" - } - }, - { - "name": "offset", - "in": "query", - "schema": { - "type": "integer", - "format": "uint32" - } - }, - { - "name": "limit", - "in": "query", - "schema": { - "type": "integer", - "format": "uint32" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListTriggersResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-external-query-parameters": [ - "filterOps.name", - "filterOps.eventTypes", - "sortOps.sortBy", - "sortOps.orderBy", - "offset", - "limit" - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "tags": [ - "Triggers" - ], - "summary": "Create Trigger", - "description": "Creates a new [trigger](/docs/processing/triggers/overview) to automate actions based on input events.", - "operationId": "create-trigger", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTriggerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTriggerResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/triggers/{triggerID}": { - "get": { - "tags": [ - "Triggers" - ], - "summary": "Get Trigger", - "description": "Retrieves the specified [trigger](/docs/processing/triggers/overview).", - "operationId": "get-trigger", - "parameters": [ - { - "name": "triggerID", - "in": "path", - "description": "ID of the trigger.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetTriggerResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "delete": { - "tags": [ - "Triggers" - ], - "summary": "Delete Trigger", - "description": "Deletes the specified [trigger](/docs/processing/triggers/overview).", - "operationId": "delete-trigger", - "parameters": [ - { - "name": "triggerID", - "in": "path", - "description": "ID of the trigger.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteTriggerResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "patch": { - "tags": [ - "Triggers" - ], - "summary": "Update Trigger", - "description": "Updates the specified [trigger](/docs/processing/triggers/overview). Only properties included in the request are updated.", - "operationId": "update-trigger", - "parameters": [ - { - "name": "triggerID", - "in": "path", - "description": "ID of the trigger.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateTriggerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateTriggerResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - }, - "/v1/gateway/{ID}/secret": { - "get": { - "tags": [ - "Connections" - ], - "summary": "Get Connection Secrets", - "description": "Identifies which secrets are set for a connection. Secret values are redacted. Returns 404 if no secrets are found.", - "operationId": "get_secrets", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the connection.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetConnectionSecretResponse" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "post": { - "tags": [ - "Connections" - ], - "summary": "Update Connection Secrets", - "description": "Update the specified secrets for a connection. Other secrets aren't updated. All properties for a secret must be specified together. For example, to update the `routeSecret`, you must specify both `publicKey` and `privateKey`.", - "operationId": "update_secrets", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the connection.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateConnectionSecretRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - }, - "delete": { - "tags": [ - "Connections" - ], - "summary": "Delete Connection Secrets", - "description": "Deletes the specified secrets for a connection. Provide secret keys to delete as field paths in the connection secret object (e.g., \"messageSecrets.encPublicKey\", \"soapAuthSecret\"). See Get Connection Secrets for the connection secret object schema.", - "operationId": "delete-connection-secrets", - "parameters": [ - { - "name": "ID", - "in": "path", - "description": "ID of the connection.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteConnectionSecretRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - }, - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "401": { - "$ref": "#/components/responses/401" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "500": { - "$ref": "#/components/responses/500" - } - }, - "security": [ - { - "Bearer": [] - } - ], - "x-fern-audiences": [ - "external" - ] - } - } - }, - "components": { - "responses": { - "400": { - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - }, - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Invalid Request": { - "$ref": "#/components/examples/400_response" - }, - "Bad request": { - "$ref": "#/components/examples/400_response" - } - } - } - }, - "description": "Returned when the request is invalid or cannot be served." - }, - "401": { - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - }, - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Authorization Failed": { - "$ref": "#/components/examples/401_response" - }, - "Unauthorized": { - "$ref": "#/components/examples/401_response" - } - } - } - }, - "description": "Returned when the request is unauthorized." - }, - "404": { - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - }, - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Resource Not Found": { - "$ref": "#/components/examples/404_response" - }, - "Not found": { - "$ref": "#/components/examples/404_response" - } - } - } - }, - "description": "Returned when a resource doesn't exist." - }, - "409": { - "description": "Returned when there is a conflict with the current state of the target resource.", - "headers": { - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Conflict": { - "$ref": "#/components/examples/409_response" - } - } - } - } - }, - "500": { - "headers": { - "x-request-id": { - "$ref": "#/components/headers/x-request-id" - }, - "X-Request-ID": { - "$ref": "#/components/headers/x-request-id" - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error_response" - }, - "examples": { - "Internal server error": { - "$ref": "#/components/examples/500_response" - } - } - } - }, - "description": "An unexpected error response." - } - }, - "headers": { - "x-request-id": { - "description": "Unique identifier for the request.", - "schema": { - "type": "string", - "minLength": 36, - "maxLength": 36 - }, - "example": "d4410ea0-1d83-473c-a09a-24c6b03096d4" - } - }, - "examples": { - "delete_detect_configuration_response": { - "value": {} - }, - "get_detect_configuration_response": { - "value": { - "entity_types": [ - "all" - ], - "token_type": { - "vault_token": [ - "ssn", - "name" - ], - "entity_unq_counter": [ - "name_family", - "url" - ], - "entity_only": [ - "date" - ], - "default": "vault_token" - }, - "transformations": { - "shift_dates": { - "min_days": 1, - "max_days": 10, - "entity_types": [ - "date" - ] - } - }, - "restrict_regex": [ - "DOB" - ], - "allow_regex": [ - "Alice" - ], - "column_mappings": [ - { - "entity_types": [ - "name_given", - "name_family" - ], - "table_name": "table1", - "column_name": "name" - }, - { - "entity_types": [ - "age" - ], - "table_name": "table2", - "column_name": "age" - } - ], - "vault_id": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b", - "configuration_id": "9030b432-7ae7-4390-8ec1-f0775aeb2951", - "BasicAudit": { - "CreatedBy": "b3b7f16632d0473492e3c49ab859c9f1", - "CreatedOn": "2022-06-09 17:00:19.681177519 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "2022-07-19 06:45:01.292348 +0000 UTC" - } - } - }, - "list_configurations_response_example": { - "value": { - "configurations": [ - { - "entity_types": [ - "all" - ], - "token_type": { - "vault_token": [ - "ssn", - "name" - ], - "entity_unq_counter": [ - "name_family", - "url" - ], - "entity_only": [ - "date" - ], - "default": "vault_token" - }, - "transformations": { - "shift_dates": { - "min_days": 1, - "max_days": 10, - "entity_types": [ - "date" - ] - } - }, - "restrict_regex": [ - "DOB" - ], - "allow_regex": [ - "Alice" - ], - "column_mappings": [ - { - "entity_types": [ - "name_given", - "name_family" - ], - "table_name": "table1", - "column_name": "name" - }, - { - "entity_types": [ - "age" - ], - "table_name": "table2", - "column_name": "age" - } - ], - "audio": { - "output_processed_audio": true, - "bleep_gain": -30, - "bleep_frequency": 20, - "bleep_start_padding": 0, - "bleep_stop_padding": 0, - "output_transcription": "diarized_transcription" - }, - "document": { - "pdf": { - "density": 100, - "max_resolution": 1000 - } - }, - "image": { - "output_processed_image": true, - "output_ocr_text": true, - "masking_method": "blur" - }, - "vault_id": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b", - "configuration_id": "9030b432-7ae7-4390-8ec1-f0775aeb2951", - "BasicAudit": { - "CreatedBy": "b3b7f16632d0473492e3c49ab859c9f1", - "CreatedOn": "2022-06-09 17:00:19.681177519 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "2022-07-19 06:45:01.292348 +0000 UTC" - } - } - ] - } - }, - "create_detect_configuration_response_example": { - "value": { - "configuration_id": "9030b432-7ae7-4390-8ec1-f0775aeb2951" - } - }, - "400_response": { - "value": { - "error": { - "grpc_code": 3, - "http_code": 400, - "http_status": "Bad Request", - "message": "The request was invalid or cannot be served. Check the request parameters and try again.", - "details": [] - } - } - }, - "401_response": { - "value": { - "error": { - "grpc_code": 16, - "http_code": 401, - "http_status": "Unauthorized", - "message": "The request is unauthorized. Make sure you have a valid access token.", - "details": [] - } - } - }, - "404_response": { - "value": { - "error": { - "grpc_code": 5, - "http_code": 404, - "http_status": "Not Found", - "message": "The requested resource wasn't found.", - "details": [] - } - } - }, - "500_response": { - "value": { - "error": { - "grpc_code": 13, - "http_code": 500, - "http_status": "Internal Server Error", - "message": "Skyflow services experienced an internal error. Contact Skyflow support with request ID d4410ea0-1d83-473c-a09a-24c6b03096d4 for more information.", - "details": [] - } - } - }, - "create_detect_configuration_example": { - "value": { - "vault_id": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b", - "entity_types": [ - "all" - ], - "token_type": { - "vault_token": [ - "ssn", - "name" - ], - "entity_unq_counter": [ - "name_family", - "url" - ], - "entity_only": [ - "date" - ], - "default": "vault_token" - }, - "transformations": { - "shift_dates": { - "min_days": 1, - "max_days": 10, - "entity_types": [ - "date" - ] - } - }, - "restrict_regex": [ - "DOB" - ], - "allow_regex": [ - "Alice" - ], - "column_mappings": [ - { - "entity_types": [ - "name_given", - "name_family" - ], - "table_name": "table1", - "column_name": "name" - }, - { - "entity_types": [ - "age" - ], - "table_name": "table2", - "column_name": "age" - } - ], - "audio": { - "output_processed_audio": true, - "bleep_gain": -30, - "bleep_frequency": 20, - "bleep_start_padding": 0, - "bleep_stop_padding": 0, - "output_transcription": "diarized_transcription" - }, - "document": { - "pdf": { - "density": 100, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": true, - "output_ocr_text": true, - "masking_method": "blur" - } - } - }, - "update_detect_configuration_request": { - "value": { - "vault_id": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b", - "entity_types": [ - "all" - ], - "token_type": { - "vault_token": [ - "ssn", - "name" - ], - "entity_unq_counter": [ - "name_family", - "url" - ], - "entity_only": [ - "date" - ], - "default": "vault_token" - }, - "restrict_regex": [ - "DOB" - ], - "allow_regex": [ - "Alice" - ], - "column_mappings": [ - { - "entity_types": [ - "name_given", - "name_family" - ], - "table_name": "table1", - "column_name": "name" - } - ] - } - }, - "update_detect_configuration_response": { - "value": { - "entity_types": [ - "all" - ], - "token_type": { - "vault_token": [ - "ssn", - "name" - ], - "entity_unq_counter": [ - "name_family", - "url" - ], - "entity_only": [ - "date" - ], - "default": "vault_token" - }, - "restrict_regex": [ - "DOB" - ], - "allow_regex": [ - "Alice" - ], - "columns_mappings": [ - { - "entity_types": [ - "name_given", - "name_family" - ], - "table_name": "table1", - "column_name": "name" - } - ], - "vault_id": "f4b3b3b33b3b3b3b3b3b3b3b3b3b3b3b", - "configuration_id": "9030b432-7ae7-4390-8ec1-f0775aeb2951", - "BasicAudit": { - "CreatedBy": "b3b7f16632d0473492e3c49ab859c9f1", - "CreatedOn": "2022-06-09 17:00:19.681177519 +0000 UTC", - "LastModifiedBy": "", - "lastModifiedOn": "2022-07-19 06:45:01.292348 +0000 UTC" - } - } - }, - "409_response": { - "value": { - "error": { - "grpc_code": 10, - "http_code": 409, - "message": "Skyflow services experienced an internal error. Contact Skyflow support with request id for more information.", - "http_status": "Conflict", - "details": [] - } - } - } - }, - "schemas": { - "CreateTriggerRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the trigger." - }, - "description": { - "type": "string", - "description": "Description of the trigger." - }, - "event": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Event" - } - ], - "description": "Event that invokes the trigger." - }, - "action": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Action" - } - ], - "description": "Action that the trigger performs." - } - }, - "description": "Request to create a new trigger.", - "x-visibility": [ - "external" - ] - }, - "CreateTriggerResponse": { - "type": "object", - "properties": { - "triggerID": { - "type": "string", - "description": "ID of the trigger." - } - }, - "description": "Response containing the ID of the created trigger.", - "x-visibility": [ - "external" - ] - }, - "DeleteTriggerResponse": { - "type": "object", - "properties": { - "triggerID": { - "type": "string", - "description": "ID of the trigger." - } - }, - "description": "Response containing the ID of the deleted trigger.", - "x-visibility": [ - "external" - ] - }, - "GetTriggerResponse": { - "type": "object", - "properties": { - "triggerID": { - "type": "string", - "description": "ID of the trigger." - }, - "name": { - "type": "string", - "description": "Name of the trigger." - }, - "description": { - "type": "string", - "description": "Description of the trigger." - }, - "namespace": { - "type": "string", - "description": "Namespace of the trigger." - }, - "event": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Event" - } - ], - "description": "Event that invokes the trigger." - }, - "action": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Action" - } - ], - "description": "Action that the trigger performs." - } - }, - "description": "Response containing the details of the requested trigger.", - "x-visibility": [ - "external" - ] - }, - "ListTriggersResponse": { - "type": "object", - "properties": { - "triggers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetTriggerResponse" - }, - "description": "List of triggers." - } - }, - "description": "Response containing a list of triggers.", - "x-visibility": [ - "external" - ] - }, - "PlatformEventData": { - "type": "object", - "properties": { - "vaultColumn": { - "allOf": [ - { - "$ref": "#/components/schemas/VaultColumnEventData" - } - ], - "description": "Details about a vault column event." - }, - "deidentifyFile": { - "allOf": [ - { - "$ref": "#/components/schemas/DeidentifyFileEventData" - } - ], - "description": "Details about a de-identify file event." - } - }, - "description": "Details about the event. The structure of this object depends on the event type.", - "x-visibility": [ - "external" - ] - }, - "Trigger_Action": { - "type": "object", - "properties": { - "type": { - "enum": [ - "deidentifyFile.invoke" - ], - "type": "string", - "description": "Event type of the action in {object}.{action} format." - }, - "properties": { - "allOf": [ - { - "$ref": "#/components/schemas/PlatformEventData" - } - ], - "description": "Action properties required to perform the action." - } - }, - "description": "Action that the trigger performs." - }, - "Trigger_Event": { - "type": "object", - "properties": { - "type": { - "enum": [ - "vaultColumn.updated" - ], - "type": "string", - "description": "Event type of the invoking event in {object}.{action} format. Unlike webhooks, wildcards (`*`) aren't supported for actions." - }, - "properties": { - "allOf": [ - { - "$ref": "#/components/schemas/PlatformEventData" - } - ], - "description": "Event properties required to invoke the trigger." - } - }, - "description": "Event that invokes the trigger." - }, - "UpdateTriggerRequest": { - "type": "object", - "properties": { - "triggerID": { - "type": "string", - "description": "ID of the trigger." - }, - "name": { - "type": "string", - "description": "Name of the trigger." - }, - "description": { - "type": "string", - "description": "Description of the trigger." - }, - "event": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Event" - } - ], - "description": "Event that invokes the trigger." - }, - "action": { - "allOf": [ - { - "$ref": "#/components/schemas/Trigger_Action" - } - ], - "description": "Action that the trigger performs." - } - }, - "description": "Request to update an existing trigger.", - "x-visibility": [ - "external" - ] - }, - "UpdateTriggerResponse": { - "type": "object", - "properties": { - "triggerID": { - "type": "string", - "description": "ID of the trigger." - } - }, - "description": "Response containing the ID of the updated trigger.", - "x-visibility": [ - "external" - ] - }, - "VaultColumnEventData": { - "type": "object", - "properties": { - "vaultID": { - "type": "string", - "description": "ID of the vault." - }, - "tableName": { - "type": "string", - "description": "Name of the table." - }, - "columnName": { - "type": "string", - "description": "Name of the column." - }, - "skyflowID": { - "type": "string", - "description": "Skyflow ID of the record." - } - }, - "description": "Details about a vault column event.", - "x-visibility": [ - "external" - ], - "title": "Vault column event data", - "required": [ - "vaultID", - "tableName", - "columnName" - ] - }, - "http_code": { - "description": "HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.", - "x-visibility": [ - "external" - ], - "type": "integer", - "format": "int32", - "minimum": 100, - "maximum": 599 - }, - "routeSecret": { - "description": "Shared key and MTLS secrets for the connection.", - "properties": { - "sharedKey": { - "description": "Shared key used to connect to the inbound base URL.", - "type": "string" - }, - "publicKey": { - "description": "Public key for MTLS authentication.", - "type": "string" - }, - "privateKey": { - "description": "Private key for MTLS authentication.", - "type": "string" - } - }, - "type": "object", - "additionalProperties": false, - "example": { - "sharedKey": "sed ea commodo irure non", - "publicKey": "voluptate labore sit", - "privateKey": "minim exercitation commodo" - } - }, - "mleAuthSecret": { - "description": "Secrets for message-level encryption (MLE).", - "type": "object", - "additionalProperties": false, - "properties": { - "publicKeyMLE": { - "description": "Public key.", - "type": "string" - }, - "privateKeyMLE": { - "description": "Private key.", - "type": "string" - }, - "keyID": { - "description": "ID of the key.", - "type": "string" - } - }, - "example": { - "publicKeyMLE": "laboris commodo dolore ut ipsum", - "privateKeyMLE": "fugiat commodo sint proident in", - "keyID": "deserunt elit Lorem " - } - }, - "soapAuthSecret": { - "description": "Secrets for SOAP authentication.", - "type": "object", - "additionalProperties": false, - "properties": { - "keyStore": { - "description": "Keystore for the PFX file that contains the private key and public keychain.", - "type": "string" - }, - "binarySecurityToken": { - "description": "Binary security token.", - "type": "string" - }, - "userName": { - "description": "Username.", - "type": "string" - }, - "password": { - "description": "Password.", - "type": "string" - }, - "keyStorePassword": { - "description": "Password for the keystore file.", - "type": "string" - } - }, - "example": { - "keyStore": "non eu proident et dolore", - "binarySecurityToken": "qui in irure", - "userName": "qui commodo consequat", - "password": "est sunt exercitation non", - "keyStorePassword": "voluptate nulla" - } - }, - "messageSecrets": { - "description": "Secrets used in message encryption and signing operations.", - "properties": { - "encPublicKey": { - "description": "Public key for encrypting messages.", - "type": "string" - }, - "encPrivateKey": { - "description": "Private key for encrypting messages.", - "type": "string" - }, - "signPublicKey": { - "description": "Public key for signing messages.", - "type": "string" - }, - "signPrivateKey": { - "description": "Private key for signing messages.", - "type": "string" - }, - "encSymmetricKey": { - "description": "Symmetric key for encrypting messages.", - "type": "string" - }, - "signSymmetricKey": { - "description": "Symmetric key for signing messages.", - "type": "string" - } - }, - "type": "object", - "additionalProperties": false, - "example": { - "encPublicKey": "commodo irure", - "encPrivateKey": "nulla", - "signPublicKey": "id nisi", - "signPrivateKey": "Duis dolor ullamco mollit", - "encSymmetricKey": "in officia ut", - "signSymmetricKey": "nostrud" - } - }, - "fieldEncryptionSecret": { - "description": "Secret used in field-level encryption operations.", - "type": "string", - "example": "sit" - }, - "oAuth1aSecret": { - "type": "object", - "additionalProperties": false, - "description": "Secrets for OAuth 1.0a authentication with Mastercard APIs.", - "properties": { - "consumerKey": { - "type": "string", - "description": "Value used to identify the consumer to the service provider." - }, - "consumerSecret": { - "type": "string", - "description": "Value used to establish ownership of the consumer key. Sometimes referred to as the signing key." - } - }, - "example": { - "consumerKey": "ad ea aliquip ut", - "consumerSecret": "ut incididunt" - } - }, - "secrets": { - "type": "object", - "additionalProperties": false, - "properties": { - "routeSecret": { - "$ref": "#/components/schemas/routeSecret" - }, - "mleAuthSecret": { - "$ref": "#/components/schemas/mleAuthSecret" - }, - "soapAuthSecret": { - "$ref": "#/components/schemas/soapAuthSecret" - }, - "oAuth1aSecret": { - "$ref": "#/components/schemas/oAuth1aSecret" - }, - "messageSecrets": { - "$ref": "#/components/schemas/messageSecrets" - }, - "fieldEncryptionSecret": { - "$ref": "#/components/schemas/fieldEncryptionSecret" - }, - "authMode": { - "$ref": "#/components/schemas/connection_auth_mode" - } - }, - "example": { - "routeSecret": { - "sharedKey": "anim velit", - "publicKey": "adipisicing dolore aliqua exercitation magna", - "privateKey": "dolo" - }, - "mleAuthSecret": { - "publicKeyMLE": "aute esse", - "privateKeyMLE": "sit consequat non veniam quis", - "keyID": "ea minim" - }, - "soapAuthSecret": { - "keyStore": "cupidatat lab", - "binarySecurityToken": "cupidatat sit", - "userName": "amet", - "password": "do incididunt sit i", - "keyStorePassword": "mollit Duis irure officia" - }, - "oAuth1aSecret": { - "consumerKey": "commodo Excepteur officia ut", - "consumerSecret": "esse deserunt nostrud sunt consecte" - }, - "messageSecrets": { - "encPublicKey": "velit sint", - "encPrivateKey": "eu ad Lorem incididun", - "signPublicKey": "adipisicing sit", - "signPrivateKey": "elit veniam dolore laborum ", - "encSymmetricKey": "Lorem occaecat magna", - "signSymmetricKey": "consequat" - }, - "fieldEncryptionSecret": "in", - "authMode": "NOAUTH" - } - }, - "get_detect_configuration_response": { - "allOf": [ - { - "$ref": "#/components/schemas/detect_configuration" - }, - { - "type": "object", - "properties": { - "configuration_id": { - "type": "string", - "description": "Unique identifier for the configuration." - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - } - } - ], - "example": { - "vault_id": "laborum minim eiusmod mollit", - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "token_type": { - "default": "entity_unq_counter" - }, - "allow_regex": [ - "laborum adipisicin", - "in ullamco cupidatat minim", - "magna irure" - ], - "restrict_regex": [ - "", - "ad eu deserunt", - "deserunt occaecat commodo" - ], - "transformations": { - "shift_dates": { - "max_days": 74439063, - "min_days": 90801137, - "entity_types": [ - "dob", - "date_interval", - "date_interval" - ] - } - }, - "column_mappings": [ - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "ex", - "column_name": "Duis" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "nulla eu", - "column_name": "ip" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "magna cupidatat", - "column_name": "sunt elit non occaecat deserunt" - } - ], - "audio": { - "output_processed_audio": false, - "output_transcription": "plaintext_transcription", - "bleep_gain": -3, - "bleep_frequency": 6000, - "bleep_start_padding": 0.5, - "bleep_stop_padding": 0.2 - }, - "document": { - "pdf": { - "density": 200, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": false, - "output_ocr_text": false, - "masking_method": "blur" - }, - "configuration_id": "anim ut deserunt", - "BasicAudit": { - "CreatedBy": "Lorem eiusmod in fugiat", - "LastModifiedBy": "est officia elit magna", - "CreatedOn": "occaecat ut Ut mollit", - "LastModifiedOn": "nostrud" - } - } - }, - "list_detect_configurations_response": { - "type": "object", - "additionalProperties": false, - "properties": { - "configurations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/get_detect_configuration_response" - } - } - }, - "example": { - "configurations": [ - { - "vault_id": "dolor id", - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "token_type": { - "default": "entity_unq_counter" - }, - "allow_regex": [ - "culpa", - "nisi Excepteur qui", - "velit" - ], - "restrict_regex": [ - "elit nulla fugiat magna aliqua", - "eu", - "laboris" - ], - "transformations": { - "shift_dates": { - "max_days": -59869139, - "min_days": -53474069, - "entity_types": [ - "dob", - "date_interval", - "date" - ] - } - }, - "column_mappings": [ - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "ut do", - "column_name": "minim" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "Duis non", - "column_name": "culpa ex" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "eiusmod", - "column_name": "laboris" - } - ], - "audio": { - "output_processed_audio": false, - "output_transcription": "transcription", - "bleep_gain": -3, - "bleep_frequency": 6000, - "bleep_start_padding": 0.5, - "bleep_stop_padding": 0.2 - }, - "document": { - "pdf": { - "density": 200, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": true, - "output_ocr_text": false, - "masking_method": "blur" - }, - "configuration_id": "ut est", - "BasicAudit": { - "CreatedBy": "nisi", - "LastModifiedBy": "dolor", - "CreatedOn": "in esse dolor non", - "LastModifiedOn": "ullamco" - } - }, - { - "vault_id": "elit", - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "token_type": { - "default": "entity_unq_counter" - }, - "allow_regex": [ - "ut nulla laboris velit", - "velit deserunt consectetur aliquip esse", - "ea aute" - ], - "restrict_regex": [ - "occaecat mollit ", - "in tempor ut", - "in eu Ut non aute" - ], - "transformations": { - "shift_dates": { - "max_days": 29046789, - "min_days": 79849222, - "entity_types": [ - "date", - "dob", - "date_interval" - ] - } - }, - "column_mappings": [ - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "fugiat ipsum tempor aliquip", - "column_name": "rep" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "fugiat mollit", - "column_name": "tempor labore enim in commodo" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "laborum elit", - "column_name": "culpa proident eu" - } - ], - "audio": { - "output_processed_audio": false, - "output_transcription": "diarized_transcription", - "bleep_gain": -3, - "bleep_frequency": 6000, - "bleep_start_padding": 0.5, - "bleep_stop_padding": 0.2 - }, - "document": { - "pdf": { - "density": 200, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": false, - "output_ocr_text": true, - "masking_method": "blur" - }, - "configuration_id": "consecte", - "BasicAudit": { - "CreatedBy": "sint", - "LastModifiedBy": "enim reprehenderit sed consectetur", - "CreatedOn": "consectetur reprehenderit", - "LastModifiedOn": "magna" - } - }, - { - "vault_id": "et ea venia", - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "token_type": { - "default": "entity_unq_counter" - }, - "allow_regex": [ - "velit aliquip fugiat", - "mollit", - "nulla commodo" - ], - "restrict_regex": [ - "aute Ut e", - "eiusmod aliquip quis ", - "anim" - ], - "transformations": { - "shift_dates": { - "max_days": -56964530, - "min_days": 27154736, - "entity_types": [ - "dob", - "dob", - "date" - ] - } - }, - "column_mappings": [ - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "elit nisi sit", - "column_name": "enim tempor proident" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "eu", - "column_name": "sunt" - }, - { - "entity_types": [ - { - "0": "a", - "1": "l", - "2": "l" - } - ], - "table_name": "eiusmod Ut", - "column_name": "dolor id commodo aliquip elit" - } - ], - "audio": { - "output_processed_audio": true, - "output_transcription": "medical_diarized_transcription", - "bleep_gain": -3, - "bleep_frequency": 6000, - "bleep_start_padding": 0.5, - "bleep_stop_padding": 0.2 - }, - "document": { - "pdf": { - "density": 200, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": true, - "output_ocr_text": false, - "masking_method": "blackout" - }, - "configuration_id": "dolore dolor reprehenderit et fugiat", - "BasicAudit": { - "CreatedBy": "velit consequat aute nulla", - "LastModifiedBy": "magna conseq", - "CreatedOn": "vo", - "LastModifiedOn": "velit" - } - } - ] - } - }, - "error_response": { - "type": "object", - "additionalProperties": false, - "required": [ - "error" - ], - "properties": { - "error": { - "type": "object", - "additionalProperties": false, - "required": [ - "grpc_code", - "http_code", - "http_status", - "message" - ], - "properties": { - "grpc_code": { - "description": "gRPC status codes. See https://grpc.io/docs/guides/status-codes.", - "type": "integer", - "format": "int32", - "minimum": 0, - "maximum": 16 - }, - "http_code": { - "description": "HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.", - "type": "integer", - "format": "int32", - "minimum": 100, - "maximum": 599, - "$ref": "#/components/schemas/http_code" - }, - "http_status": { - "description": "HTTP status message.", - "type": "string", - "maxLength": 100 - }, - "message": { - "type": "string", - "maxLength": 1000 - }, - "details": { - "items": { - "type": "object", - "additionalProperties": true, - "x-visibility": [ - "external" - ] - }, - "type": "array", - "maxItems": 25 - } - } - } - }, - "example": { - "error": { - "grpc_code": 11, - "http_code": 594, - "http_status": "quis fugiat dolore in", - "message": "elit eiusmod nisi deserunt", - "details": [ - { - "elit_d1a": -88190678, - "deseruntd22": false, - "ad8": -26049304, - "adipisicing_69": -71438831 - }, - { - "id_0": -96313808, - "sint_21_": "Duis ullamco Excep", - "fugiatd": 33620015 - }, - { - "esse9c": -29980890, - "consectetura": 33022946, - "deserunte1": "veniam" - } - ] - } - } - }, - "create_detect_configuration_response": { - "type": "object", - "properties": { - "configuration_id": { - "type": "string", - "description": "Unique identifier for the new configuration." - } - }, - "example": { - "configuration_id": "aliq" - } - }, - "detect_configuration": { - "type": "object", - "properties": { - "vault_id": { - "$ref": "#/components/schemas/vault_id" - }, - "entity_types": { - "$ref": "#/components/schemas/entity_types" - }, - "token_type": { - "$ref": "#/components/schemas/token_type" - }, - "allow_regex": { - "$ref": "#/components/schemas/allow_regex" - }, - "restrict_regex": { - "$ref": "#/components/schemas/restrict_regex" - }, - "transformations": { - "$ref": "#/components/schemas/transformations" - }, - "columns_mappings": { - "description": "Mappings between detected entities and columns in a vault.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "entity_types": { - "$ref": "#/components/schemas/entity_types" - }, - "table_name": { - "type": "string" - }, - "column_name": { - "type": "string" - } - } - } - }, - "audio": { - "description": "Audio processing options.", - "type": "object", - "additionalProperties": false, - "properties": { - "output_processed_audio": { - "type": "boolean", - "description": "If `true`, includes processed audio file in the response." - }, - "output_transcription": { - "type": "string", - "description": "Type of transcription to output.", - "enum": [ - "diarized_transcription", - "medical_diarized_transcription", - "medical_transcription", - "plaintext_transcription", - "transcription" - ] - }, - "bleep_gain": { - "type": "number", - "description": "Relative loudness of the bleep in dB. Positive values increase its loudness, and negative values decrease it.", - "default": -3, - "minimum": -60, - "maximum": 0 - }, - "bleep_frequency": { - "type": "number", - "description": "The pitch of the bleep sound, in Hz. The higher the number, the higher the pitch.", - "default": 6000, - "minimum": 20, - "maximum": 20000 - }, - "bleep_start_padding": { - "type": "number", - "description": "Padding added to the beginning of a bleep, in seconds.", - "default": 0.5, - "minimum": 0, - "maximum": 20 - }, - "bleep_stop_padding": { - "type": "number", - "description": "Padding added to the end of a bleep, in seconds.", - "default": 0.2, - "minimum": 0, - "maximum": 20 - } - } - }, - "document": { - "description": "Document processing options.", - "type": "object", - "additionalProperties": false, - "properties": { - "pdf": { - "description": "PDF processing options.", - "type": "object", - "additionalProperties": false, - "properties": { - "density": { - "type": "integer", - "description": "Pixel density at which to process the PDF file.", - "default": 200, - "minimum": 0, - "maximum": 1000 - }, - "max_resolution": { - "type": "integer", - "description": "Max resolution at which to process the PDF file.", - "default": 3000, - "minimum": 72, - "maximum": 3000 - } - } - } - } - }, - "image": { - "description": "Image processing options.", - "type": "object", - "additionalProperties": false, - "properties": { - "output_processed_image": { - "type": "boolean", - "description": "If `true`, includes processed image in the output." - }, - "output_ocr_text": { - "type": "boolean", - "description": "If `true`, includes OCR text output in the response." - }, - "masking_method": { - "type": "string", - "description": "Method to mask the entities in the image.", - "enum": [ - "blackout", - "blur" - ] - } - } - }, - "vault_file_mappings": { - "description": "Mappings for source and de-identified file columns in a vault.", - "type": "array", - "items": { - "type": "object", - "properties": { - "source_file_location": { - "description": "Source file table and column.", - "type": "object", - "properties": { - "table_name": { - "description": "Name of the table.", - "type": "string" - }, - "column_name": { - "description": "Name of the column.", - "type": "string" - } - } - }, - "deidentified_file_location": { - "description": "De-identified file table and column.", - "type": "object", - "properties": { - "table_name": { - "description": "Name of the table.", - "type": "string" - }, - "column_name": { - "description": "Name of the column.", - "type": "string" - } - } - } - } - } - }, - "skip_entities": { - "type": "boolean", - "description": "If `true`, excludes entity list from the output.", - "default": false - } - }, - "example": { - "vault_id": "ullamco laboris consectetur", - "entity_types": [ - "all" - ], - "token_type": { - "default": "entity_unq_counter" - }, - "allow_regex": [ - "labore", - "quis qui et veniam commodo", - "dolore sint do" - ], - "restrict_regex": [ - "ipsum", - "aute in voluptate ullamco", - "magna dolor" - ], - "transformations": { - "shift_dates": { - "max_days": 50000646, - "min_days": -56423996, - "entity_types": [ - "date", - "dob", - "date" - ] - } - }, - "column_mappings": [ - { - "entity_types": [ - "all" - ], - "table_name": "et culpa", - "column_name": "laborum" - }, - { - "entity_types": [ - "all" - ], - "table_name": "ut tempor nulla dolore proident", - "column_name": "minim" - }, - { - "entity_types": [ - "all" - ], - "table_name": "deserunt tempor commodo sit", - "column_name": "sed" - } - ], - "audio": { - "output_processed_audio": true, - "output_transcription": "diarized_transcription", - "bleep_gain": -3, - "bleep_frequency": 6000, - "bleep_start_padding": 0.5, - "bleep_stop_padding": 0.2 - }, - "document": { - "pdf": { - "density": 200, - "max_resolution": 3000 - } - }, - "image": { - "output_processed_image": false, - "output_ocr_text": true, - "masking_method": "blur" - } - } - }, - "transformations": { - "type": "object", - "description": "Transformations to apply to the detected entities.", - "properties": { - "shift_dates": { - "type": "object", - "description": "Shift dates by a specified number of days.", - "properties": { - "max_days": { - "type": "integer", - "description": "Maximum number of days to shift the date by." - }, - "min_days": { - "type": "integer", - "description": "Minimum number of days to shift the date by." - }, - "entity_types": { - "type": "array", - "description": "Entity types to shift dates for.", - "maxItems": 3, - "items": { - "type": "string", - "enum": [ - "date", - "date_interval", - "dob" - ] - } - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false, - "example": { - "shift_dates": { - "max_days": -84551757, - "min_days": 54999432, - "entity_types": [ - "dob", - "date", - "dob" - ] - } - } - }, - "allow_regex": { - "type": "array", - "description": "Regular expressions to display in plaintext. Expressions must match the entirety of a detected entity, not just a substring, for the entity to display in plaintext. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext.", - "items": { - "type": "string" - }, - "example": [ - "proident aute sunt", - "ea", - "ea elit tempor non v" - ] - }, - "restrict_regex": { - "type": "array", - "description": "Regular expressions to replace with '[RESTRICTED]'. Expressions must match the entirety of a detected entity, not just a substring, for the entity to be restricted. Expressions don't match across entity boundaries. If a string or entity matches both `allow_regex` and `restrict_regex`, the entity is displayed in plaintext.", - "items": { - "type": "string" - }, - "example": [ - "incididunt Lorem sint dolor", - "sed adipisici", - "non ad" - ] - }, - "token_type": { - "type": "object", - "description": "Mapping of tokens to generation for detected entities. Can't be specified together with `token_type`.", - "default": { - "default": "entity_unq_counter" - }, - "additionalProperties": false, - "properties": { - "default": { - "type": "string", - "enum": [ - "entity_only", - "entity_unq_counter", - "vault_token" - ], - "default": "entity_unq_counter" - }, - "vault_token": { - "type": "array", - "description": "Entity types to replace with vault tokens.", - "maxItems": 63, - "items": { - "$ref": "#/components/schemas/entity_type" - } - }, - "entity_unq_counter": { - "type": "array", - "description": "Entity types to replace with entity tokens with unique counters.", - "maxItems": 63, - "items": { - "$ref": "#/components/schemas/entity_type" - } - }, - "entity_only": { - "type": "array", - "description": "Entity types to replace with entity tokens.", - "maxItems": 63, - "items": { - "$ref": "#/components/schemas/entity_type" - } - } - }, - "example": { - "default": "entity_unq_counter" - } - }, - "entity_types": { - "type": "array", - "description": "Entities to detect and de-identify.", - "items": { - "$ref": "#/components/schemas/entity_type" - }, - "maxItems": 63, - "default": [ - "all" - ], - "example": [ - "all" - ] - }, - "entity_type": { - "description": "Kinds of entities to de-identify. For details on specific entity types, how they're processed, and language support, see [Entity types and languages](/detect-entity-types).", - "enum": [ - "account_number", - "age", - "all", - "bank_account", - "blood_type", - "condition", - "corporate_action", - "credit_card", - "credit_card_expiration", - "cvv", - "date", - "date_interval", - "dob", - "dose", - "driver_license", - "drug", - "duration", - "email_address", - "event", - "filename", - "financial_metric", - "gender_sexuality", - "healthcare_number", - "injury", - "ip_address", - "language", - "location", - "location_address", - "location_address_street", - "location_city", - "location_coordinate", - "location_country", - "location_state", - "location_zip", - "marital_status", - "medical_code", - "medical_process", - "money", - "name", - "name_family", - "name_given", - "name_medical_professional", - "numerical_pii", - "occupation", - "organization", - "organization_medical_facility", - "origin", - "passport_number", - "password", - "phone_number", - "physical_attribute", - "political_affiliation", - "product", - "religion", - "routing_number", - "ssn", - "statistics", - "time", - "trend", - "url", - "username", - "vehicle_id", - "zodiac_sign" - ], - "type": "string", - "example": "all" - }, - "vault_id": { - "type": "string", - "description": "ID of a vault you have Vault Owner permissions for.", - "maxLength": 36, - "example": "cupidatat culpa" - }, - "AccountAccountType": { - "default": "TYPE_NONE", - "description": "Type of the account.", - "enum": [ - "TYPE_NONE", - "SANDBOX" - ], - "type": "string", - "example": "TYPE_NONE" - }, - "AccountServiceCreatePipelineEncryptionKeyBody": { - "properties": { - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "pgpKey": { - "$ref": "#/components/schemas/v1PipelinePGPKey" - } - }, - "type": "object", - "example": { - "encryptionProtocol": "NONE_PROTOCOL", - "pgpKey": { - "privateKey": "aliqua", - "passphrase": "sunt in sint ut", - "publicKey": "e" - } - } - }, - "AccountServiceRotatePipelineEncryptionKeyBody": { - "properties": { - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "pgpKey": { - "$ref": "#/components/schemas/v1PipelinePGPKey" - } - }, - "type": "object", - "example": { - "encryptionProtocol": "NONE_PROTOCOL", - "pgpKey": { - "privateKey": "officia", - "passphrase": "qui", - "publicKey": "dolore et" - } - } - }, - "AccountServiceUpdateAccountBody": { - "description": "Request data to update todo task.", - "properties": { - "account": { - "$ref": "#/components/schemas/v1Account" - } - }, - "type": "object", - "example": { - "essea": 26564225, - "dolor6": 79873473, - "account": { - "name": "ld9to", - "displayName": "ut sit non", - "description": "ullamco labore nulla irure enim", - "ID": "ad fugiat sed veli", - "namespace": "cons", - "contactAddress": { - "streetAddress": "officia sint velit", - "city": "laborum ex deserunt nisi Excepteur", - "state": "occaecat voluptate enim", - "country": "occaecat", - "zip": -82629808 - }, - "BasicAudit": { - "CreatedBy": "reprehenderit Lorem velit exercitation deserunt", - "LastModifiedBy": "velit nisi", - "CreatedOn": "proident", - "LastModifiedOn": "aliquip nisi esse" - }, - "status": "NONE", - "tenantType": "NONE_TYPE", - "accountType": "TYPE_NONE" - } - } - }, - "AccountTenantType": { - "default": "NONE_TYPE", - "description": "Tenant type of the account.\n\n - NONE_TYPE: Requires its own URL, only contains workspaces.\n - DEDICATED: Derives URL from parent, only contains workspaces, always child of a Parent account.\n - SHARED: Requires its own URL, only contains tenant accounts.\n - PARENT: Reserved for Skyflow root account.", - "enum": [ - "NONE_TYPE", - "DEDICATED", - "SHARED", - "PARENT", - "ROOT" - ], - "type": "string", - "example": "NONE_TYPE" - }, - "AuditEventAuditResourceType": { - "default": "NONE_API", - "description": "Type of the resource.", - "enum": [ - "NONE_API", - "ACCOUNT", - "AUDIT", - "BASE_DATA_TYPE", - "FIELD_TEMPLATE", - "FILE", - "KEY", - "POLICY", - "PROTO_PARSE", - "RECORD", - "ROLE", - "RULE", - "SECRET", - "SERVICE_ACCOUNT", - "TOKEN", - "USER", - "VAULT", - "VAULT_TEMPLATE", - "WORKSPACE", - "TABLE", - "POLICY_TEMPLATE", - "MEMBER", - "TAG", - "CONNECTION", - "MIGRATION", - "SCHEDULED_JOB", - "JOB", - "COLUMN_NAME", - "NETWORK_TOKEN", - "SUBSCRIPTION" - ], - "type": "string", - "example": "NONE_API" - }, - "AuditEventContext": { - "description": "Context for an audit event.", - "properties": { - "changeID": { - "description": "ID for the audit event.", - "type": "string" - }, - "requestID": { - "description": "ID for the request that caused the event.", - "type": "string" - }, - "traceID": { - "description": "ID for the request set by the service that received the request.", - "type": "string" - }, - "sessionID": { - "description": "ID for the session in which the request was sent.", - "type": "string" - }, - "actor": { - "description": "Member who sent the request. Depending on `actorType`, this may be a user ID or a service account ID.", - "type": "string" - }, - "actorType": { - "$ref": "#/components/schemas/v1MemberType" - }, - "accessType": { - "$ref": "#/components/schemas/ContextAccessType" - }, - "ipAddress": { - "description": "IP Address of the client that made the request.", - "type": "string" - }, - "origin": { - "description": "HTTP Origin request header (including scheme, hostname, and port) of the request.", - "type": "string" - }, - "authMode": { - "$ref": "#/components/schemas/ContextAuthMode" - }, - "jwtID": { - "description": "ID of the JWT token.", - "type": "string" - }, - "bearerTokenContextID": { - "description": "Embedded User Context.", - "type": "string" - } - }, - "type": "object", - "example": { - "changeID": "et", - "requestID": "reprehenderit", - "traceID": "ex ad id sunt", - "sessionID": "dolor", - "actor": "deserunt sunt qui", - "actorType": "NONE", - "accessType": "ACCESS_NONE", - "ipAddress": "adipisicing magna labore veniam ", - "origin": "commodo s", - "authMode": "AUTH_NONE", - "jwtID": "fugiat nisi", - "bearerTokenContextID": "tempor id sit in" - } - }, - "AuditEventData": { - "description": "Any Sensitive data that needs to be wrapped.", - "properties": { - "content": { - "description": "The entire body of the data requested or the query fired.", - "type": "string" - } - }, - "type": "object", - "example": { - "laboris_9": -74136068.50776145, - "non_f_": "sint non sunt", - "ad4e": "in", - "elit_31": 12887326, - "id63": -43676122.19203956, - "content": "pariat" - } - }, - "AuditEventHTTPInfo": { - "properties": { - "URI": { - "description": "The http URI that is used.", - "type": "string" - }, - "method": { - "description": "http method used.", - "type": "string" - } - }, - "type": "object", - "example": { - "URI": "consectetur aliqua aute labore", - "method": "Excepteur esse consectetu" - } - }, - "ContextAccessType": { - "default": "ACCESS_NONE", - "description": "Type of access for the request.", - "enum": [ - "ACCESS_NONE", - "API", - "SQL" - ], - "type": "string", - "example": "ACCESS_NONE" - }, - "ContextAuthMode": { - "default": "AUTH_NONE", - "description": "Authentication mode the `actor` used.", - "enum": [ - "AUTH_NONE", - "OKTA_JWT", - "SERVICE_ACCOUNT_JWT", - "PAT_JWT" - ], - "type": "string", - "example": "AUTH_NONE" - }, - "ListTagsResponseAllowedOperations": { - "properties": { - "field": { - "$ref": "#/components/schemas/ListTagsResponseFieldConfig" - }, - "composite": { - "$ref": "#/components/schemas/ListTagsResponseFieldConfig" - }, - "compositeArray": { - "$ref": "#/components/schemas/ListTagsResponseFieldConfig" - } - }, - "type": "object", - "example": { - "field": { - "withData": [ - "nulla Duis quis", - "ex ipsum id non dolore", - "laboris" - ], - "withoutData": [ - "id", - "dolore nostrud mollit", - "ut" - ] - }, - "composite": { - "withData": [ - "aute irure dolor dolor", - "consequat sint minim", - "adipisicing deserunt" - ], - "withoutData": [ - "sed", - "proident et", - "qui non esse proident" - ] - }, - "compositeArray": { - "withData": [ - "aliqua commodo laboris", - "est", - "cons" - ], - "withoutData": [ - "dolor u", - "Ut", - "in irure eiusmod incididunt" - ] - } - } - }, - "ListTagsResponseFieldConfig": { - "properties": { - "withData": { - "items": { - "type": "string" - }, - "type": "array" - }, - "withoutData": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "withData": [ - "nisi dolore adipisi", - "laborum est", - "deseru" - ], - "withoutData": [ - "dolore consequat laboris eiusmod", - "ali", - "dolor cupidatat in" - ] - } - }, - "ListTagsResponseTagConfig": { - "properties": { - "tagName": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "displayNameV2": { - "type": "string" - }, - "description": { - "type": "string" - }, - "descriptionV2": { - "type": "string" - }, - "canTakeMultipleValues": { - "type": "boolean" - }, - "allowedOperations": { - "$ref": "#/components/schemas/ListTagsResponseAllowedOperations" - }, - "valueType": { - "type": "string" - }, - "values": { - "items": { - "$ref": "#/components/schemas/ListTagsResponseTagValueConfig" - }, - "type": "array" - }, - "dataTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "arrayDataTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "optional": { - "type": "boolean" - } - }, - "type": "object", - "example": { - "tagName": "et", - "displayName": "nostrud ullamco ni", - "displayNameV2": "et veniam adipisicing", - "description": "lab", - "descriptionV2": "velit", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withData": [ - "adipisicing", - "ut ea culpa in do", - "eu" - ], - "withoutData": [ - "qui occaecat", - "cillum aliquip ullamco magna sit", - "laborum ex Ut est" - ] - }, - "composite": { - "withData": [ - "ea", - "nulla id Lorem aute", - "ad" - ], - "withoutData": [ - "deserunt Ut qui", - "aliqua qui e", - "anim velit" - ] - }, - "compositeArray": { - "withData": [ - "cupidata", - "lab", - "esse sunt amet veniam aliquip" - ], - "withoutData": [ - "enim mollit", - "nulla culp", - "voluptate ut eiusmod dolor" - ] - } - }, - "valueType": "ea dolore nisi", - "dataTypes": [ - "voluptate", - "aute", - "exercitation est amet consequat dolore" - ], - "arrayDataTypes": [ - "qui ex", - "dolore es", - "ut cillum do fugiat" - ], - "optional": true - } - }, - "ListTagsResponseTagValueConfig": { - "properties": { - "valueName": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "displayNameV2": { - "type": "string" - }, - "description": { - "type": "string" - }, - "descriptionV2": { - "type": "string" - }, - "dataTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "arrayDataTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "childrenTags": { - "items": { - "$ref": "#/components/schemas/ListTagsResponseTagConfig" - }, - "type": "array" - }, - "version": { - "format": "int64", - "type": "integer" - }, - "skyflowDataTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "valueName": "nostrud ut irure elit", - "displayName": "veniam Ut elit nisi", - "displayNameV2": "laboris ea fugiat", - "description": "dolor reprehenderit qui", - "descriptionV2": "ut", - "dataTypes": [ - "anim esse ad id enim", - "Lorem ea minim sit sint", - "labore cillum laboris" - ], - "arrayDataTypes": [ - "mollit ex", - "sint do dolor minim", - "in aliqua Ut fugiat" - ], - "childrenTags": [ - { - "tagName": "adipisicing aute do ullamco occaecat", - "displayName": "dolore mollit sed magna quis", - "displayNameV2": "dolore", - "description": "culpa", - "descriptionV2": "ea ullamco consequat ut", - "canTakeMultipleValues": false, - "allowedOperations": { - "field": { - "withData": [ - "cillum dolore non esse", - "commodo aliquip non", - "reprehenderit officia quis velit non" - ], - "withoutData": [ - "pariatur in dolore", - "deserunt consequat", - "cupidatat ea Excepteur eu" - ] - }, - "composite": { - "withData": [ - "aute tempor", - "dolor", - "dolore" - ], - "withoutData": [ - "in pariatur amet dolore", - "deserunt id am", - "nostrud in ad" - ] - }, - "compositeArray": { - "withData": [ - "consequat ut", - "culpa qui ut amet mollit", - "elit aliquip" - ], - "withoutData": [ - "cupidatat anim dolore in", - "et in esse labore voluptate", - "adipisicing in" - ] - } - }, - "valueType": "fugiat aute eli", - "dataTypes": [ - "proid", - "mollit eiusmod Ut consectetur", - "aliquip est" - ], - "arrayDataTypes": [ - "commodo", - "minim dolor", - "veniam tempor ipsum nulla ut" - ], - "optional": true - }, - { - "tagName": "eiusmod laborum", - "displayName": "in sit anim dolor nostrud", - "displayNameV2": "dolore Ut mollit cillum amet", - "description": "sit Lorem consectetur ipsum", - "descriptionV2": "anim mollit aute culpa", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withData": [ - "in ullamco cillum", - "ut occaec", - "nisi commodo consectetur irure" - ], - "withoutData": [ - "consectetur ut", - "irure", - "sint eiusm" - ] - }, - "composite": { - "withData": [ - "ad adipisi", - "cupidatat", - "nulla pariatur incididunt" - ], - "withoutData": [ - "fugiat tempor", - "irure ut non", - "enim laboris adipisicing irure sunt" - ] - }, - "compositeArray": { - "withData": [ - "aute dolor aliquip", - "adipisicing dolore consectetu", - "ad su" - ], - "withoutData": [ - "incididunt commodo Ut in", - "eiusmod consectetur ", - "fugiat sit" - ] - } - }, - "valueType": "ad ", - "dataTypes": [ - "ullamco laborum", - "ea", - "irure sunt aute in elit" - ], - "arrayDataTypes": [ - "Excepteur aliquip", - "est ex reprehenderit eiusmod", - "ut deserunt" - ], - "optional": false - }, - { - "tagName": "consequat ullamco in dolor do", - "displayName": "irure", - "displayNameV2": "adipisicing minim", - "description": "pariatur fugiat in", - "descriptionV2": "est Duis non sunt", - "canTakeMultipleValues": false, - "allowedOperations": { - "field": { - "withData": [ - "sunt minim", - "u", - "aute minim in u" - ], - "withoutData": [ - "id sunt nisi", - "ut nul", - "pariatur quis ullamco est cupidatat" - ] - }, - "composite": { - "withData": [ - "eu Duis sint in", - "non", - "occaecat" - ], - "withoutData": [ - "sint pariatur dolore veniam", - "ea cupidatat repr", - "aute eiusmod" - ] - }, - "compositeArray": { - "withData": [ - "qui", - "minim", - "ut aute reprehenderit deserunt labore" - ], - "withoutData": [ - "irure ipsum ea et incididunt", - "reprehenderit eiusmod veniam la", - "nostrud ad et sed" - ] - } - }, - "valueType": "consequat Ut laboris labo", - "dataTypes": [ - "ea occaecat dolore ex Du", - "dolor dolore aliquip", - "do ea " - ], - "arrayDataTypes": [ - "fugi", - "con", - "veniam ipsum" - ], - "optional": false - } - ], - "version": -96058963, - "skyflowDataTypes": [ - "ad sed do tempor", - "aliqua nisi deserunt quis", - "ex dolore" - ] - } - }, - "PolicyAuthoringServiceUpdatePolicyBody": { - "properties": { - "policy": { - "$ref": "#/components/schemas/v1Policy" - }, - "ruleParams": { - "description": "Rules that comprise the policy.", - "items": { - "$ref": "#/components/schemas/v1RuleParams" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "policy": { - "ID": "magna", - "name": "GA5aUSD3ixr", - "displayName": "consequat in adipisici", - "description": "dolore in", - "namespace": "sunt veniam magna ullamco incididunt", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "non sit qui labore", - "LastModifiedBy": "in sed aliqua adipis", - "CreatedOn": "ut consequat sint mollit", - "LastModifiedOn": "eiusmod" - }, - "resource": { - "ID": "veniam", - "type": "NONE", - "name": "nulla", - "namespace": "enim magna", - "description": "labore irure ut nisi laboris", - "status": "NONE", - "displayName": "esse eu" - }, - "members": [ - "aliqua veniam", - "dolore", - "ea labore incididunt Excepteur" - ], - "rules": [ - { - "ID": "aute sunt ad min", - "name": "gaznxQfIJs", - "effect": "NONE_EFFECT", - "actions": [ - "non officia magna labore occaecat", - "incididunt velit dolore", - "magna eiusmod tempor amet" - ], - "resources": [ - "in", - "consequat in co", - "dese" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "enim sit ut a", - "rowFilter": "deserunt ex aute", - "ruleExpression": "qui", - "redaction": "dolore nisi" - }, - { - "ID": "Excepteur Duis enim laborum", - "name": "EguBWUd", - "effect": "NONE_EFFECT", - "actions": [ - "aliqua Excepteur", - "cillum", - "ullamco nisi" - ], - "resources": [ - "in ipsum", - "c", - "culpa anim amet eiusmod ut" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "", - "rowFilter": "quis occaecat sit", - "ruleExpression": "cillum consectetur voluptate anim in", - "redaction": "dolore" - }, - { - "ID": "sint et sit eu cupidatat", - "name": "eK4rIu", - "effect": "NONE_EFFECT", - "actions": [ - "nisi", - "eli", - "nulla Lorem in labore" - ], - "resources": [ - "dolore ex minim", - "aliquip anim", - "dolore Ut Lorem consectetur enim" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "exercitation", - "rowFilter": "deserunt et", - "ruleExpression": "ipsum sed ea voluptate aute", - "redaction": "dolor sit" - } - ] - }, - "ruleParams": [ - { - "name": "et anim", - "ID": "dolore", - "ruleExpression": "amet sit consectetur ipsum laborum", - "columnRuleParams": { - "vaultID": "qui occaecat ad n", - "columns": [ - "in in qui", - "cupidatat quis pariat", - "sit" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "eiusmod nulla dolore id ea", - "redaction": "enim laboris officia", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "amet est dolore Excepteur", - "tableName": "nisi dolore Ut", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "nulla", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "anim", - "columnGroups": [ - "in et tempor amet", - "consequat esse in", - "dolor consequat" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "dolor Lorem esse tempor adipisicing", - "redaction": "labore", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - { - "name": "ex sed veniam in", - "ID": "ad voluptate laboris veniam id", - "ruleExpression": "magna qui labore incididunt Ut", - "columnRuleParams": { - "vaultID": "minim anim mollit fugiat", - "columns": [ - "Duis dolor officia", - "Excepteur sed non ipsum", - "Ut" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "nulla sint Excepteur", - "redaction": "aute", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "et consequat Duis sit amet", - "tableName": "eu nisi in in Ut", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "consequat tempor commodo dolor labore", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "Excepteur ea culpa", - "columnGroups": [ - "aliquip sunt", - "incididunt", - "Lorem cupidatat" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "mollit exercitation amet nisi pariat", - "redaction": "nostrud", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - { - "name": "commodo id enim", - "ID": "qui nisi", - "ruleExpression": "sint do tempor voluptate Duis", - "columnRuleParams": { - "vaultID": "est incididunt enim id", - "columns": [ - "ut pariatur ", - "ut incididunt", - "Lorem nisi" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "Duis moll", - "redaction": "eiu", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "magna consequat", - "tableName": "culpa sint aliquip nisi magna", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "ipsum reprehenderit occaecat magna c", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "commodo", - "columnGroups": [ - "aute eiusmod", - "nostrud ut aute commodo magna", - "anim ex laboru" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "Lorem com", - "redaction": "nostrud dolore adipis", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - } - ] - } - }, - "PolicyAuthoringServiceUpdateRuleBody": { - "properties": { - "policyID": { - "description": "ID of the policy that contains the rule.", - "type": "string" - }, - "ruleParams": { - "$ref": "#/components/schemas/v1RuleParams" - } - }, - "type": "object", - "example": { - "policyID": "in consequat", - "ruleParams": { - "name": "", - "ID": "ea labore i", - "ruleExpression": "ullamco mollit est consectetur aliquip", - "columnRuleParams": { - "vaultID": "laboris p", - "columns": [ - "esse", - "et Lorem", - "do id" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "Lorem", - "redaction": "ullamco Excepteur incididunt", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "veli", - "tableName": "tempor commodo", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "Ut in proident amet dolor", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "sint", - "columnGroups": [ - "do", - "nostrud occaecat", - "irure in aute fugiat Lorem" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "irure voluptate", - "redaction": "Lorem incididunt", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - } - } - }, - "RedactionEnumREDACTION": { - "default": "DEFAULT", - "description": "Redaction type. Subject to policies assigned to the API caller. When used for detokenization, only supported for vaults that support [column groups](/tokenization-column-groups/).", - "enum": [ - "DEFAULT", - "REDACTED", - "MASKED", - "PLAIN_TEXT" - ], - "type": "string", - "example": "DEFAULT" - }, - "RelayMessageActionsMessageActionType": { - "default": "NOACTION", - "enum": [ - "NOACTION", - "ENCRYPTION", - "DECRYPTION", - "SIGN", - "VERIFY", - "FIND_AND_REPLACE" - ], - "type": "string", - "example": "NOACTION" - }, - "RelayOPActions": { - "default": "NOT_SELECTED", - "description": "Action to perform.\n\n - TOKENIZATION: Action to tokenize a field.\n - DETOKENIZATION: Action to detokenize a field containing token.\n - CUSTOM_SCRIPT: Action to invoke custom script.\n - ENCRYPTION: Action to encrypt the field after tokenize or detokenize.\n - FUNCTION: Action to invoke function.", - "enum": [ - "NOT_SELECTED", - "TOKENIZATION", - "DETOKENIZATION", - "ENCRYPTION" - ], - "type": "string", - "example": "NOT_SELECTED" - }, - "RelayRouteContentType": { - "default": "JSON", - "description": "Type of the payload.", - "enum": [ - "JSON", - "XML", - "X_WWW_FORM_URLENCODED", - "UNKNOWN_CONTENT", - "X_MULTIPART_FORM_DATA" - ], - "type": "string", - "example": "JSON" - }, - "RelayRouteMLEType": { - "default": "NOT_REQUIRED", - "description": "Required status of message-level encryption (MLE).", - "enum": [ - "NOT_REQUIRED", - "MANDATORY" - ], - "type": "string", - "example": "NOT_REQUIRED" - }, - "RelayRouteTableUpsertInfo": { - "properties": { - "table": { - "description": "Name of the table to store upsert data.", - "type": "string" - }, - "column": { - "description": "Name of the column used to store primary keys for upsert.", - "type": "string" - } - }, - "type": "object", - "example": { - "table": "in dolor consequat rep", - "column": "consectetur officia" - } - }, - "RequestActionType": { - "default": "NONE", - "enum": [ - "NONE", - "ASSIGN", - "CREATE", - "DELETE", - "EXECUTE", - "LIST", - "READ", - "UNASSIGN", - "UPDATE", - "VALIDATE", - "LOGIN", - "ROTATE", - "SCHEDULEROTATION", - "SCHEDULEROTATIONALERT", - "IMPORT", - "GETIMPORTPARAMETERS", - "PING", - "GETCLOUDPROVIDER" - ], - "type": "string", - "example": "NONE" - }, - "RoleServiceUpdateRoleBody": { - "properties": { - "roleDefinition": { - "$ref": "#/components/schemas/v1RoleDefinition" - } - }, - "type": "object", - "example": { - "laboris_f": "esse nostrud Duis proident officia", - "ipsum_2": 28945967.18054743, - "aliquip_9": true, - "roleDefinition": { - "name": "nisi enim", - "displayName": "adipisicing", - "description": "exercitation voluptate commodo", - "permissions": [ - "nisi nostrud", - "aute", - "anim dolore enim" - ], - "levels": [ - "consequat mollit esse", - "occaecat", - "Duis ea minim aliquip adipisicing" - ], - "type": "NONE" - } - } - }, - "RuleResourceType": { - "default": "ACCOUNT", - "description": "Type of the resource.", - "enum": [ - "ACCOUNT", - "WORKSPACE", - "VAULT", - "COLUMN", - "TABLE", - "COLUMN_GROUP" - ], - "type": "string", - "example": "ACCOUNT" - }, - "update_service_account_request": { - "example": { - "serviceAccount": { - "description": "Admin service account" - } - }, - "properties": { - "serviceAccount": { - "description": "Service account details.", - "properties": { - "displayName": { - "description": "Display name of the service account that appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the service account.", - "type": "string" - }, - "ipAllowlist": { - "$ref": "#/components/schemas/ipAllowlist" - } - }, - "type": "object" - }, - "clientConfiguration": { - "$ref": "#/components/schemas/v1ClientConfiguration" - } - }, - "type": "object" - }, - "UserServiceUpdateUserBody": { - "description": "User update request.", - "example": { - "ID": "c4cea870d25d4911aee705c98fd8a21g", - "accountID": "a451b783713e4424a7c762bb7bbc84eb", - "user": { - "contactAddress": { - "city": "Bloom", - "country": "United States", - "state": "Ohio", - "streetAddress": "111 First Street", - "zip": "65127" - }, - "name": "Jan Doe", - "userIdentity": { - "email": "jan@acme.com" - } - } - }, - "properties": { - "user": { - "$ref": "#/components/schemas/v1User" - } - }, - "type": "object" - }, - "WorkspaceServiceUpdateWorkspaceBody": { - "description": "Request data to update an Workspace.", - "properties": { - "workspace": { - "$ref": "#/components/schemas/v1Workspace" - } - }, - "type": "object", - "example": { - "deserunt_fb0": "Duis aute adipisicing ame", - "labore9f": 10827013.419376373, - "ipsum_31e": false, - "workspace": { - "name": "AZ6oth9", - "displayName": "veniam", - "description": "ea culpa eu enim magna", - "ID": "tempor deser", - "namespace": "mollit amet ad", - "contactAddress": { - "streetAddress": "anim", - "city": "veniam", - "state": "consectetur", - "country": "minim velit eu esse", - "zip": 29611615 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "aute anim", - "LastModifiedBy": "in ut ex", - "CreatedOn": "Duis enim culpa fugiat ", - "LastModifiedOn": "" - }, - "type": "NONE_TYPE", - "url": "non qui ea c", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "", - "permissions": [ - "consequat sint velit", - "labore ut ", - "tempor Ut" - ] - }, - { - "roleName": "commodo pariatur aliqua", - "permissions": [ - "eu", - "in consectetur do ipsum", - "" - ] - }, - { - "roleName": "eu", - "permissions": [ - "qui exercitation cupidatat ad nostrud", - "eu do aliqua sed", - "do sint adipisicing offic" - ] - } - ], - "enableExternalSharing": true - }, - "regionID": "magna Lorem sint ipsum culp" - } - } - }, - "WorkspaceWorkspaceType": { - "default": "NONE_TYPE", - "description": "Type of the workspace.", - "enum": [ - "NONE_TYPE", - "SANDBOX", - "PRODUCTION" - ], - "type": "string", - "example": "NONE_TYPE" - }, - "googlerpcStatus": { - "properties": { - "code": { - "format": "int32", - "type": "integer" - }, - "message": { - "type": "string" - }, - "details": { - "items": { - "$ref": "#/components/schemas/protobufAny" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "code": -8884795, - "message": "deserunt cillum ipsum Duis reprehenderit", - "details": [ - { - "@type": "ea nisi q" - }, - { - "consectetur00": { - "qui_2bf": 48967522 - }, - "nisie": { - "sint_e": false, - "nulla_b5_": 62464686, - "sunt94": "laboris cillum ea", - "deserunt_": 35352263.790710926, - "consequata": 55422697 - }, - "anim_533": { - "magna_a2b": true, - "eiusmodcc": 54500040 - }, - "dolore_7d6": { - "est_74": true - }, - "@type": "magna laboris labor" - }, - { - "tempor59b": {}, - "cupidatat5": { - "estfd": -88852138.43935369 - }, - "et1": { - "incididunt_de": 29212294.542910963, - "Duis4": -13586426 - }, - "occaecat_c": {}, - "fugiat_d5b": {}, - "@type": "adipisicing do elit sunt magna" - } - ] - } - }, - "protobufAny": { - "additionalProperties": { - "type": "object" - }, - "properties": { - "@type": { - "type": "string" - } - }, - "type": "object", - "example": { - "Lorem2_9": {}, - "commodo_8_": { - "est_3": false - }, - "@type": "irure dolor ut aliq" - } - }, - "v1APIKey": { - "description": "APIKey represent fields for service account api key.", - "properties": { - "keyID": { - "description": "ID of the API key.", - "type": "string" - }, - "identifier": { - "description": "Identifier for the API key.", - "type": "string" - }, - "status": { - "description": "Status of the API key.", - "type": "string" - }, - "keyValidAfterTime": { - "description": "Timestamp the API will be valid after.", - "format": "date-time", - "type": "string" - } - }, - "type": "object", - "example": { - "keyID": "ea aute velit dolore", - "identifier": "magna sint esse ", - "status": "et dolor laborum irure", - "keyValidAfterTime": "2025-08-12T20:52:16.0Z" - } - }, - "v1Account": { - "description": "Account details.", - "example": { - "ID": "g2400b4c4c9c11ea8baaacde48001122", - "description": "Main Account for Managing Skyflow Account", - "displayName": "Skyflow Account.", - "name": "Skyflow" - }, - "properties": { - "name": { - "description": "Name of the account. Can only contain alphanumeric characters, and has to be unique.", - "minLength": 1, - "pattern": "^[A-Za-z0-9]+$", - "type": "string" - }, - "displayName": { - "description": "Name of the account that displays in the user interface.", - "type": "string" - }, - "description": { - "description": "Description of the account.", - "type": "string" - }, - "ID": { - "description": "Read-only. ID of the account. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "namespace": { - "description": "Read-only. Namespace of the account. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "contactAddress": { - "$ref": "#/components/schemas/v1Address" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "tenantType": { - "$ref": "#/components/schemas/AccountTenantType" - }, - "accountType": { - "$ref": "#/components/schemas/AccountAccountType" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "v1Action": { - "default": "NONE_ACTION", - "description": "Action that can be taken on a resource.", - "enum": [ - "NONE_ACTION", - "ALL", - "CREATE", - "READ", - "UPDATE", - "DELETE", - "TOKENIZATION", - "DETOKENIZATION" - ], - "type": "string", - "example": "NONE_ACTION" - }, - "v1Address": { - "description": "A physical address.", - "properties": { - "streetAddress": { - "description": "Address number and street name.", - "type": "string" - }, - "city": { - "description": "City.", - "type": "string" - }, - "state": { - "description": "State or province.", - "type": "string" - }, - "country": { - "description": "Country.", - "type": "string" - }, - "zip": { - "description": "Postal code.", - "format": "int32", - "type": "integer" - } - }, - "type": "object", - "example": { - "streetAddress": "in", - "city": "anim exercitation", - "state": "magna Excepteur laboris nostrud", - "country": "Lorem officia cupidatat", - "zip": -40183969 - } - }, - "v1AssignPolicyRequest": { - "properties": { - "ID": { - "description": "ID of the policy.", - "type": "string" - }, - "roleIDs": { - "description": "IDs of the roles.", - "items": { - "type": "string" - }, - "type": "array" - }, - "members": { - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "title": "Members to assign the Policy to. To assign the Policy to all Members of type USER, pass Member with ID='*' and Type = 'USER'. Currently unsupported", - "type": "array" - }, - "exceptions": { - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "title": "Members to whom the Policy should not be assigned. Only valid if assigning via '*' wildcard and of same Type as rest of assigned Members. Currently unsupported", - "type": "array" - } - }, - "type": "object", - "example": { - "ID": "id ut elit irure", - "roleIDs": [ - "aute", - "anim incididunt ut adipisicing", - "culpa irure" - ], - "members": [ - { - "ID": "ullamco Duis est in", - "type": "NONE", - "name": "incididunt", - "email": "vol", - "status": "NONE" - }, - { - "ID": "commodo aliquip", - "type": "NONE", - "name": "eu nostrud", - "email": "cupidatat Excepteur nisi do in", - "status": "NONE" - }, - { - "ID": "dolor proident adipisicing ullamco", - "type": "NONE", - "name": "ullamco cupidatat Lore", - "email": "ea anim des", - "status": "NONE" - } - ], - "exceptions": [ - { - "ID": "ex dolore fugiat", - "type": "NONE", - "name": "vol", - "email": "id consequat", - "status": "NONE" - }, - { - "ID": "do id eu", - "type": "NONE", - "name": "do ", - "email": "tempo", - "status": "NONE" - }, - { - "ID": "Ut deserunt officia", - "type": "NONE", - "name": "eiusmod sunt ullamco dolore", - "email": "Duis esse Excepteur non dolore", - "status": "NONE" - } - ] - } - }, - "v1AssignPolicyResponse": { - "properties": { - "ID": { - "title": "The ID of the assigned Policy.", - "type": "string" - } - }, - "type": "object", - "example": { - "ut_2": -93674811, - "ID": "irure veniam quis commodo" - } - }, - "v1AssignRoleRequest": { - "properties": { - "ID": { - "description": "ID of the role.", - "type": "string" - }, - "members": { - "description": "Members to assign the role to. *Members* are actors within an account. See `type`.", - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "type": "array" - }, - "condition": { - "description": "A [Common Expression Language (CEL)](https://cel.dev/) expression evaluated at runtime. The role assignment only applies when the condition evaluates to `true`. Supports `request.time` (timestamp), `request.context` (bearer token `ctx` claim), and `request.originIP` (client IP address) variables.", - "type": "string", - "example": "request.context.role == 'admin' && request.time < timestamp(\"2026-12-29T06:30:00Z\")" - } - }, - "type": "object", - "example": { - "ID": "ca0d2089cb2546e0bc646b73439eb554", - "members": [ - { - "ID": "fb897a88d4a14236aa3d519670692e43", - "type": "SERVICE_ACCOUNT", - "name": "my-service-account", - "email": "sa-fb897a88d4a1@skyflow.com", - "status": "ACTIVE" - } - ], - "condition": "request.context.role == 'admin' && request.time < timestamp(\"2026-12-29T06:30:00Z\")" - } - }, - "v1AssignRoleResponse": { - "properties": { - "ID": { - "title": "The ID of the assigned role.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "ex cupidatat incididunt exercitation" - } - }, - "v1AuditAfterOptions": { - "properties": { - "timestamp": { - "description": "Timestamp provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.", - "type": "string" - }, - "changeID": { - "description": "Change ID provided in the previous audit response's `nextOps` attribute. An alternate way to manage response pagination. Can't be used with `sortOps` or `offset`. For the first request in a series of audit requests, leave blank.", - "type": "string" - } - }, - "type": "object", - "example": { - "timestamp": "veniam sunt dolore", - "changeID": "quis veniam incididunt Lorem laborum" - } - }, - "v1AuditEventResponse": { - "description": "Contains fields for defining Response Properties.", - "properties": { - "code": { - "description": "The status of the overall operation.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "The status message for the overall operation.", - "type": "string" - }, - "data": { - "$ref": "#/components/schemas/AuditEventData" - }, - "timestamp": { - "description": "time when this response is generated, use extention method to set it.", - "type": "string" - } - }, - "type": "object", - "example": { - "code": 85126846, - "message": "d", - "data": { - "cillum14": false, - "content": "officia" - }, - "timestamp": "sunt eu est irure esse" - } - }, - "v1AuditResponse": { - "example": { - "event": [ - { - "accountID": "f244fg04bgh876qemk6c3a32256e2k90", - "context": { - "accessType": "API", - "actor": "web31628f5a74bf7994459921c67eef8", - "actorType": "USER", - "authMode": "PAT_JWT", - "bearerTokenContextID": "bcf4b254-a415-4b3f-a8b9-0a1f02e52e18", - "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d", - "ipAddress": "27.116.16.50", - "jwtID": "o82d1d5bcbf148eb890a937593321ff8", - "keyID": "y72c0826fb1146b3bb8a0d48ab4d0653", - "origin": "https://area51-beta.skyflow.dev", - "requestID": "5a682b12-1a44-922b-a487-ab108f018cc4", - "sessionID": "cb598f8c-786e-48da-898d-830ec92417b7", - "traceID": "9f1707bd-3da0-4946-bf7a-ca99e7e12e5b" - }, - "parentAccountID": "b894gg34fbn866eabd6c2ce1457r4b45", - "request": { - "actionType": "READ", - "apiName": "/v1.QueryService/ExecuteQuery", - "data": { - "content": "select * from persons where skyflow_id=\"5b6c8110-58b3-4aa0-8b36-d2cfd5c7b259\"" - }, - "httpInfo": { - "URI": "/v1/vaults/cd1d815aa09b4cbfbb803bd20349f202/query", - "method": "POST" - }, - "resourceType": "RECORD", - "tags": [ - "dml" - ], - "timestamp": "2023-06-27 14:01:14.264739714", - "vaultID": "cd1d815aa09b4cbfbb803bd20349f202", - "workspaceID": "e01054d5ff3411eab9f2360c405de1ab" - }, - "resourceIDs": [ - "ACCOUNT/f244fg04bgh876qemk6c3a32256e2k90", - "TABLE/persons", - "VAULT/cd1d815aa09b4cbfbb803bd20349f202" - ], - "response": { - "code": 200, - "message": "success", - "timestamp": "2023-06-27 14:01:14.271659365" - } - } - ], - "nextOps": { - "changeID": "a13de9af-3331-4bee-b45c-95031d4c5b5d", - "timestamp": "2023-06-27 14:01:14.264739714" - } - }, - "properties": { - "event": { - "description": "Events matching the query.", - "items": { - "$ref": "#/components/schemas/v1AuditResponseEvent" - }, - "type": "array" - }, - "nextOps": { - "$ref": "#/components/schemas/v1AuditAfterOptions" - } - }, - "type": "object" - }, - "v1AuditResponseEvent": { - "description": "Audit event details.", - "properties": { - "context": { - "$ref": "#/components/schemas/AuditEventContext" - }, - "request": { - "$ref": "#/components/schemas/v1AuditResponseEventRequest" - }, - "response": { - "$ref": "#/components/schemas/v1AuditEventResponse" - }, - "parentAccountID": { - "description": "Parent account ID of the account that made the request, if any.", - "type": "string" - }, - "accountID": { - "description": "ID of the account that made the request.", - "type": "string" - }, - "resourceIDs": { - "description": "IDs for resources involved in the event. Presented in `{resourceType}/{resourceID}` format. For example, `VAULT/cd1d815aa09b4cbfbb803bd20349f202`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "context": { - "changeID": "ut Excepte", - "requestID": "id tempor", - "traceID": "in sed enim qui", - "sessionID": "dolor elit cillum", - "actor": "laborum", - "actorType": "NONE", - "accessType": "ACCESS_NONE", - "ipAddress": "mollit consequat aliqua", - "origin": "nisi an", - "authMode": "AUTH_NONE", - "jwtID": "dolor nis", - "bearerTokenContextID": "magna consequat" - }, - "request": { - "data": { - "Excepteur_29": -69875869.62965229, - "in6": -43449872, - "content": "eu" - }, - "apiName": "v", - "workspaceID": "eu laborum anim", - "vaultID": "ex tempor fugiat dolor", - "tags": [ - "consectetur veniam ipsum ", - "elit anim laborum", - "proident Ut cillum sunt tempor" - ], - "timestamp": "aliquip", - "actionType": "NONE", - "resourceType": "NONE_API", - "httpInfo": { - "URI": "eiusmod id", - "method": "minim" - } - }, - "response": { - "code": 28451189, - "message": "Duis occaecat", - "data": { - "eiusmod7": 68349883, - "dolore8c": -94220314.46559039, - "content": "quis Ut sunt eiusmod veniam" - }, - "timestamp": "sit pariatur" - }, - "parentAccountID": "nisi", - "accountID": "dolore esse quis", - "resourceIDs": [ - "exercitation in fugiat", - "Duis magna amet laborum", - "est sed" - ] - } - }, - "v1AuditResponseEventRequest": { - "description": "Contains fields for defining Request Properties.", - "properties": { - "data": { - "$ref": "#/components/schemas/AuditEventData" - }, - "apiName": { - "description": "API name.", - "type": "string" - }, - "workspaceID": { - "description": "The workspaceID (if any) of the request.", - "type": "string" - }, - "vaultID": { - "description": "The vaultID (if any) of the request.", - "type": "string" - }, - "tags": { - "description": "Tags associated with the event. To provide better search capabilities. Like login.", - "items": { - "type": "string" - }, - "type": "array" - }, - "timestamp": { - "description": "time when this request is generated, use extention method to set it.", - "type": "string" - }, - "actionType": { - "$ref": "#/components/schemas/RequestActionType" - }, - "resourceType": { - "$ref": "#/components/schemas/AuditEventAuditResourceType" - }, - "httpInfo": { - "$ref": "#/components/schemas/AuditEventHTTPInfo" - } - }, - "type": "object", - "example": { - "data": { - "content": "laborum" - }, - "apiName": "ullamco", - "workspaceID": "consequat", - "vaultID": "mol", - "tags": [ - "cillum Lorem", - "elit commodo do labore proident", - "esse sed consequat est" - ], - "timestamp": "reprehenderit adipisicing exercitation", - "actionType": "NONE", - "resourceType": "NONE_API", - "httpInfo": { - "URI": "quis dolore magna", - "method": "mollit dolor" - } - } - }, - "v1BasicAudit": { - "description": "Simple audit metadata.", - "properties": { - "CreatedBy": { - "description": "User who created the resource.", - "type": "string" - }, - "LastModifiedBy": { - "description": "User who last modified the resource.", - "type": "string" - }, - "CreatedOn": { - "description": "Creation time of the resource.", - "type": "string" - }, - "LastModifiedOn": { - "description": "Last modification time of the resource.", - "type": "string" - } - }, - "type": "object", - "example": { - "CreatedBy": "dolore Excepteur", - "LastModifiedBy": "occaecat aliquip minim esse", - "CreatedOn": "in in ad aliquip", - "LastModifiedOn": "" - } - }, - "v1ClientConfiguration": { - "description": "Client-side configuration for a service account.", - "properties": { - "enforceContextID": { - "description": "When `true`, all JWT assertions for this service account much contain a `ctx` claim.", - "type": "boolean" - }, - "enforceSignedDataTokens": { - "description": "When `true`, all data tokens sent to the vault using this service account must be signed with the associated private key.", - "type": "boolean" - } - }, - "type": "object", - "example": { - "enforceContextID": false, - "enforceSignedDataTokens": false - } - }, - "v1ColumnGroupRuleParams": { - "description": "Column group-level rule details.", - "properties": { - "vaultID": { - "description": "ID of the vault that contains the column group(s).", - "type": "string" - }, - "columnGroups": { - "description": "Column group(s) that the rule applies to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "action": { - "$ref": "#/components/schemas/v1Action" - }, - "effect": { - "$ref": "#/components/schemas/v1Effect" - }, - "rowFilter": { - "description": "SQL expression that applies a filter on all rows of a table.", - "type": "string" - }, - "redaction": { - "description": "Redaction type applied to values in the specified columns group(s).", - "type": "string" - }, - "actions": { - "items": { - "$ref": "#/components/schemas/v1Action" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "vaultID": "ut ut dolore", - "columnGroups": [ - "commodo culpa et qui deserunt", - "sint sit ", - "amet aliqua Lorem veniam" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "in", - "redaction": "adipis", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - "v1ColumnRuleParams": { - "description": "Column-level rule details.", - "properties": { - "vaultID": { - "description": "ID of the vault that contains the column(s).", - "type": "string" - }, - "columns": { - "description": "Column(s) that the rule applies to, specified in the format of \"tableName.columnname\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "action": { - "$ref": "#/components/schemas/v1Action" - }, - "effect": { - "$ref": "#/components/schemas/v1Effect" - }, - "rowFilter": { - "description": "SQL expression that applies a filter on all rows of a table.", - "type": "string" - }, - "redaction": { - "description": "Redaction type applied to values in the specified columns.", - "type": "string" - }, - "actions": { - "items": { - "$ref": "#/components/schemas/v1Action" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "vaultID": "cupidatat eiusmod Duis", - "columns": [ - "laboris non", - "ad mollit veniam", - "irure in id ullamco Ut" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "Duis elit dolor", - "redaction": "labo", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - "v1CreateIntegrationResponse": { - "properties": { - "ID": { - "description": "connection ID .", - "type": "string" - }, - "connectionURL": { - "description": "gateway URL for this connection .", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "adipisicing irure aliquip deser", - "connectionURL": "in nisi nostrud" - } - }, - "v1CreatePipelineEncryptionKeyResponse": { - "properties": { - "publicKey": { - "description": "Public key.", - "type": "string" - }, - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "validAfterTime": { - "description": "The key can be used after this timestamp.", - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "description": "The key can be used before this timestamp.", - "format": "date-time", - "type": "string" - }, - "ID": { - "description": "ID of the key.", - "type": "string" - } - }, - "type": "object", - "example": { - "publicKey": "tempor non dolor ea ut", - "encryptionProtocol": "NONE_PROTOCOL", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "ID": "dolor Excepteur" - } - }, - "v1CreatePolicyRequest": { - "properties": { - "name": { - "description": "Name of the policy.", - "type": "string" - }, - "displayName": { - "description": "Display name of the policy as it appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the policy.", - "type": "string" - }, - "resource": { - "$ref": "#/components/schemas/v1Resource" - }, - "ruleParams": { - "description": "Rules that comprise the policy.", - "items": { - "$ref": "#/components/schemas/v1RuleParams" - }, - "type": "array" - }, - "activated": { - "default": false, - "description": "If `true`, the policy becomes active immediately after it's created. Otherwise, you need to update the policy status and set `status` to `ACTIVE` before you can use it.", - "type": "boolean" - } - }, - "type": "object", - "example": { - "name": "cupidatat velit", - "displayName": "proident Duis ad sint", - "description": "esse laborum minim occ", - "resource": { - "ID": "enim ut non adipisicing", - "type": "NONE", - "name": "dolor magna sint dolor", - "namespace": "velit commodo", - "description": "ullamco veniam laboris culpa", - "status": "NONE", - "displayName": "nostrud aute Duis" - }, - "ruleParams": [ - { - "name": "enim ", - "ID": "in magna irure commodo quis", - "ruleExpression": "exercitation dolor", - "columnRuleParams": { - "vaultID": "ea incididunt", - "columns": [ - "eu dolore id voluptate officia", - "ex ullamco", - "dolore pariatur" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "exercitation do ut", - "redaction": "exercitation anim", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "eiusmod ", - "tableName": "elit", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "est ut esse", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "sint cupidatat sit Duis", - "columnGroups": [ - "deserunt", - "aliquip", - "aliqua voluptate sit culpa Ut" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "minim anim ullamco commodo", - "redaction": "nostrud qui labore", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - { - "name": "occaecat", - "ID": "dolor", - "ruleExpression": "dolor nulla dolor quis proident", - "columnRuleParams": { - "vaultID": "anim nisi", - "columns": [ - "veniam sit adipisi", - "minim", - "enim" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "mollit nulla enim pariatur", - "redaction": "Excepteur magna", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "", - "tableName": "in velit si", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "eu labore in", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "commodo amet", - "columnGroups": [ - "magna ut Excepteur", - "Excepteur aliquip", - "com" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "proident incididunt ut ", - "redaction": "exercitation ut laborum et", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - { - "name": "aliqua", - "ID": "ipsum deserunt consequat", - "ruleExpression": "occaecat nostrud", - "columnRuleParams": { - "vaultID": "velit aute nostrud aliqua ut", - "columns": [ - "consequat commodo ipsum deserunt", - "mollit esse", - "anim nostrud dolore elit qui" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "aliqua fugiat veniam", - "redaction": "Duis reprehenderit id velit Lorem", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "ipsum Duis", - "tableName": "mollit non dolore", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "v", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "ut exercitation", - "columnGroups": [ - "incididunt Duis est", - "id ipsum", - "enim Excepteur" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "ipsum", - "redaction": "irure ex dolore in deserunt", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - } - ], - "activated": false - } - }, - "v1CreatePolicyResponse": { - "properties": { - "ID": { - "title": "The ID of the created Policy.", - "type": "string" - } - }, - "type": "object", - "example": { - "eiusmod_4": "Ut quis", - "commodo_69b": 32364649.151156306, - "ID": "incididunt et" - } - }, - "v1CreateRoleRequest": { - "properties": { - "roleDefinition": { - "$ref": "#/components/schemas/v1RoleDefinition" - }, - "resource": { - "$ref": "#/components/schemas/v1Resource" - } - }, - "type": "object", - "example": { - "roleDefinition": { - "name": "sed", - "displayName": "proident amet", - "description": "e", - "permissions": [ - "pariatur Lorem", - "sit", - "laboris " - ], - "levels": [ - "velit irure", - "culpa ipsum aliquip officia minim", - "ad in amet est" - ], - "type": "NONE" - }, - "resource": { - "ID": "Excepteur", - "type": "NONE", - "name": "culpa consecte", - "namespace": "tempor exercitation in commodo eiusmod", - "description": "Lorem dolor", - "status": "NONE", - "displayName": "anim dolor exercitation" - } - } - }, - "v1CreateRoleResponse": { - "properties": { - "ID": { - "title": "ID of newly created role", - "type": "string" - } - }, - "type": "object", - "example": { - "dolore_33": -23417400, - "Duis_0d": false, - "ID": "consectetur" - } - }, - "v1CreateRuleRequest": { - "properties": { - "policyID": { - "description": "ID of the policy that will contain the rule.", - "type": "string" - }, - "ruleParams": { - "$ref": "#/components/schemas/v1RuleParams" - } - }, - "type": "object", - "example": { - "policyID": "enim", - "ruleParams": { - "name": "aute aliquip et", - "ID": "proident ut sed", - "ruleExpression": "nostrud velit reprehenderit", - "columnRuleParams": { - "vaultID": "amet ut aliqua sed occaecat", - "columns": [ - "laboris quis occaecat", - "laborum", - "consequat Ut voluptate nisi esse" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "aliqua consequat aliquip id", - "redaction": "Excepteur laboris aliqua", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "labore sed Ut mini", - "tableName": "eu fugiat", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "dolore Duis deserunt officia", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "ad ea", - "columnGroups": [ - "esse velit qui", - "proident sit consectetur dolore pariatur", - "in Ut adipisicing quis sed" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "nostrud sunt culpa sed", - "redaction": "ullamco", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - } - } - }, - "v1CreateRuleResponse": { - "properties": { - "ID": { - "title": "The ID of the created Rule.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "aliqua mollit aute do" - } - }, - "ipAllowlist": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "description": "Status of the allowlist. `INACTIVE` doesn't enforce the allowlist. `ACTIVE_ALL` enforces the allowlist for all API calls. `ACTIVE_AUTH_ONLY` enforces the allowlist only for bearer token generation.", - "type": "string", - "enum": [ - "INACTIVE", - "ACTIVE_ALL", - "ACTIVE_AUTH_ONLY" - ], - "default": "INACTIVE" - }, - "cidrBlocks": { - "description": "List of CIDR blocks that define the IP addresses that can access the service account.", - "items": { - "type": "string" - }, - "maxItems": 10, - "type": "array" - } - }, - "example": { - "status": "INACTIVE", - "cidrBlocks": [ - "do", - "qui proident do Ut eu", - "laborum occaecat elit" - ] - } - }, - "create_service_account_request": { - "example": { - "serviceAccount": { - "name": "Admin", - "description": "Admin service account" - } - }, - "description": "The service account create request.", - "properties": { - "accountID": { - "description": "ID of the account that the service account belongs to. Defaults to the account specified in the `X-Skyflow-Account-ID` header.", - "type": "string" - }, - "serviceAccount": { - "description": "Service account details.", - "properties": { - "name": { - "description": "Name of the service account.", - "type": "string" - }, - "displayName": { - "description": "Display name of the service account that appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the service account.", - "type": "string" - }, - "ipAllowlist": { - "$ref": "#/components/schemas/ipAllowlist" - } - }, - "type": "object" - }, - "clientConfiguration": { - "$ref": "#/components/schemas/v1ClientConfiguration" - }, - "resource": { - "description": "Deprecated. Resource that contains the service account.", - "type": "object", - "properties": { - "ID": { - "description": "Deprecated. ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "type": "string" - }, - "type": { - "default": "ACCOUNT", - "description": "Deprecated. Type of the resource.", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string" - }, - "name": { - "description": "Deprecated. Name of the resource.", - "type": "string" - }, - "namespace": { - "description": "Deprecated. Unique namespace for the resource. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Deprecated. Description of the resource.", - "type": "string" - }, - "displayName": { - "description": "Deprecated. Display name of the resource that appears in user interfaces.", - "type": "string" - } - } - } - }, - "required": [ - "resource" - ], - "type": "object" - }, - "v1CreateUserRequest": { - "description": "User creation request.", - "example": { - "accountID": "a451b783713e4424a7c762bb7bbc84eb", - "user": { - "contactAddress": { - "city": "Bloom", - "country": "United States", - "state": "Ohio", - "streetAddress": "111 First Street", - "zip": "65127" - }, - "name": "Jan Doe", - "userIdentity": { - "email": "jan@acme.com" - } - } - }, - "properties": { - "user": { - "$ref": "#/components/schemas/v1User" - }, - "accountID": { - "description": "ID of the account that the user belongs to.", - "type": "string" - } - }, - "type": "object" - }, - "v1CreateUserResponse": { - "description": "User creation response.", - "example": { - "ID": "c4cea870d25d4911aee705c98fd8a21g" - }, - "properties": { - "ID": { - "description": "The unique ID of the user that was created.", - "type": "string" - } - }, - "type": "object" - }, - "v1CreateWorkspaceRequest": { - "properties": { - "workspace": { - "$ref": "#/components/schemas/v1Workspace" - }, - "accountID": { - "description": "ID of the account.", - "type": "string" - }, - "regionID": { - "description": "ID of the region to create the workspace in.", - "type": "string" - } - }, - "required": [ - "regionID" - ], - "type": "object", - "example": { - "workspace": { - "name": "LeU", - "displayName": "fugiat", - "description": "ipsum", - "ID": "cillum", - "namespace": "ipsum", - "contactAddress": { - "streetAddress": "in", - "city": "do incididu", - "state": "nisi Duis consectetur laboris", - "country": "ut labore", - "zip": -62226079 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "dolor", - "LastModifiedBy": "incididunt exercitation", - "CreatedOn": "laborum exercitation dolor anim", - "LastModifiedOn": "qui Excepteur" - }, - "type": "NONE_TYPE", - "url": "occaecat tempor dolor", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "ad", - "permissions": [ - "aliqua", - "ullamco veniam pariatur", - "exercitation" - ] - }, - { - "roleName": "do consectetur aute ea pariatur", - "permissions": [ - "sed deserunt sun", - "ullamco ipsum veniam", - "ve" - ] - }, - { - "roleName": "exercitation laborum", - "permissions": [ - "dolor ea consequat do", - "sed eu ad amet", - "aute " - ] - } - ], - "enableExternalSharing": true - }, - "regionID": "pariatur ea exer" - }, - "accountID": "ex ea quis proident fugiat", - "regionID": "incididunt est commodo" - } - }, - "v1CreateWorkspaceResponse": { - "properties": { - "ID": { - "description": "Unique ID of the Workspace that was created.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "elit amet cupidatat proident" - } - }, - "v1DLPFormat": { - "default": "NONE_FORMAT", - "description": "Redaction type of data.\n\n - RAW: plain-text", - "enum": [ - "NONE_FORMAT", - "DEFAULT_FORMAT", - "RAW", - "MASKED", - "REDACTED", - "TOKENIZED" - ], - "type": "string", - "example": "NONE_FORMAT" - }, - "v1DataType": { - "default": "DT_INVALID", - "description": "Data type of a field.\n\n - DT_DATETIME: RFC1123Z = \"Mon, 02 Jan 2006 15:04:05 -0700\".\n - DT_DATE: 2006-01-02 Plain date YYYY-MM-DD.\n - DT_TIME: Kitchen = \"3:04PM\".\n - DT_EMBEDDED: This is used only by PDB for understanding if a Complex Field has been embedded.\n - DT_REFERENCED: This is used only by PDB for understanding if a Complex Field has been referenced.\n\nDT_COMPOSITE = 22; // Vault Builder Phase II.", - "enum": [ - "DT_INVALID", - "DT_FLOAT32", - "DT_FLOAT64", - "DT_INT8", - "DT_INT16", - "DT_INT32", - "DT_INT64", - "DT_UINT8", - "DT_UINT16", - "DT_UINT32", - "DT_UINT64", - "DT_BOOL", - "DT_STRING", - "DT_BYTES", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED", - "DT_REFERENCED" - ], - "type": "string", - "example": "DT_INVALID" - }, - "v1DeleteAPIKeyResponse": { - "description": "The service account api key delete by id response.", - "properties": { - "ID": { - "description": "ID of the service account.", - "type": "string" - }, - "keyID": { - "description": "ID of the API key.", - "type": "string" - } - }, - "required": [ - "ID", - "keyID" - ], - "type": "object", - "example": { - "ID": "Excepteur qui", - "keyID": "Ut" - } - }, - "v1DeletePipelineEncryptionKeyResponse": { - "properties": { - "accountID": { - "description": "ID of the account.", - "type": "string" - } - }, - "type": "object", - "example": { - "minimdbd": "sed reprehenderit", - "adipisicing_": true, - "accountID": "aliqua consequat dolore et" - } - }, - "v1DeletePolicyResponse": { - "properties": { - "ID": { - "title": "The ID of the deleted Policy.", - "type": "string" - } - }, - "type": "object", - "example": { - "qui_3": "velit dolor magna aliquip sunt", - "ID": "do ut ipsum deserunt" - } - }, - "v1DeleteRoleResponse": { - "properties": { - "ID": { - "title": "ID of the deleted Role", - "type": "string" - } - }, - "type": "object", - "example": { - "nullab2": "do velit sunt deserunt", - "voluptate_f": -40197249, - "ID": "nulla pariatur" - } - }, - "v1DeleteRuleResponse": { - "properties": { - "ID": { - "title": "The ID of the deleted Rule.", - "type": "string" - } - }, - "type": "object", - "example": { - "occaecat_2": -76105284.25319338, - "consequat_25f": "id", - "enim8ae": true, - "ID": "fugiat id ut voluptate proident" - } - }, - "v1DeleteServiceAccountKeyResponse": { - "description": "The service account key delete by id response.", - "properties": { - "ID": { - "description": "ID of the service account.", - "title": "ID", - "type": "string" - }, - "keyID": { - "description": "ID of the deleted key of the service account.", - "title": "KeyID", - "type": "string" - } - }, - "required": [ - "ID" - ], - "type": "object", - "example": { - "ID": "in ad officia aute ut", - "keyID": "sunt dolor commodo q" - } - }, - "v1DeleteServiceAccountResponse": { - "properties": { - "ID": { - "description": "ID of the service account.", - "title": "ID", - "type": "string" - } - }, - "required": [ - "ID" - ], - "type": "object", - "example": { - "ID": "dolore" - } - }, - "v1DeleteSignedDataTokenKeyResponse": { - "description": "Delete response for a signed token key.", - "properties": { - "ID": { - "description": "ID of the service account.", - "type": "string" - }, - "keyID": { - "description": "ID of the deleted signed token key.", - "type": "string" - } - }, - "required": [ - "ID" - ], - "type": "object", - "example": { - "ID": "eu tempor", - "keyID": "volupt" - } - }, - "v1DeleteUserResponse": { - "description": "User deletion response.", - "example": { - "ID": "c4cea870d25d4911aee705c98fd8a21g" - }, - "properties": { - "ID": { - "description": "ID of the deleted user.", - "type": "string" - } - }, - "type": "object" - }, - "v1DeleteWorkspaceResponse": { - "description": "Contains status of delete operation.", - "properties": { - "ID": { - "description": "ID of the deleted Workspace.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "officia co" - } - }, - "v1Effect": { - "default": "NONE_EFFECT", - "description": "The effect caused by the rule.", - "enum": [ - "NONE_EFFECT", - "DENY", - "ALLOW" - ], - "type": "string", - "example": "NONE_EFFECT" - }, - "v1Empty": { - "type": "object", - "example": { - "pariaturac": 34445369, - "eiusmod_6": -17719254.246794954, - "nostrudc_b": "sit dolor", - "consequat8d_": "deserunt dolor esse aliquip amet" - } - }, - "v1EncryptionProtocol": { - "default": "NONE_PROTOCOL", - "description": "Protocol used to encrypt or decrypt data.\n\n - NONE_PROTOCOL: No encryption protocol.\n - PGP: PGP encryption protocol.\n - SSH_RSA: SSH_RSA encryption protocol.", - "enum": [ - "NONE_PROTOCOL", - "PGP" - ], - "type": "string", - "example": "NONE_PROTOCOL" - }, - "v1Field": { - "description": "Field details.", - "properties": { - "name": { - "description": "Name of the field.", - "type": "string" - }, - "datatype": { - "$ref": "#/components/schemas/v1DataType" - }, - "isArray": { - "description": "Boolean of whether or not the schema is an array.", - "type": "boolean" - }, - "tags": { - "description": "Tags applied to the field.", - "items": { - "$ref": "#/components/schemas/v1Tag" - }, - "type": "array" - }, - "properties": { - "$ref": "#/components/schemas/v1Properties" - }, - "ID": { - "type": "string" - } - }, - "type": "object", - "example": { - "name": "i", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "officia cillum esse ullamco", - "values": [ - "dolor Excepteur", - "officia Lorem magna minim in", - "Excepteur incididunt consectetur aute" - ] - }, - { - "name": "elit officia veniam amet", - "values": [ - "amet minim elit dolore", - "proident elit c", - "consequat" - ] - }, - { - "name": "id con", - "values": [ - "amet consect", - "eu adipisicing dolor", - "qui magna do" - ] - } - ], - "properties": { - "name": "voluptate laboris dolor", - "description": "laboris cillum s", - "references": "proident amet nostrud dolor" - }, - "ID": "ut occaecat sed irure veniam" - } - }, - "v1GetAccountResponse": { - "description": "Contains read request response.", - "example": { - "account": { - "BasicAudit": { - "CreatedBy": "b3b7f16632d0473492e3c49ab859c9f1", - "CreatedOn": "2022-06-09 17:00:19.681177519 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "2022-07-19 06:45:01.292348 +0000 UTC" - }, - "ID": "a451b783713e4424b5c761bb7bbc84eb", - "accountType": "TYPE_NONE", - "description": "", - "displayName": "acme", - "name": "acme-try", - "namespace": "skyflow:f2f10f08084f11eb8e7352d498dc3e20/account:cfdc00b3bfe04e2eb57d8581dfce7b22/tenant:a451b783713e4424b5c761bb7bbc84eb", - "status": "ACTIVE", - "tenantType": "SHARED" - } - }, - "properties": { - "account": { - "$ref": "#/components/schemas/v1Account" - } - }, - "type": "object" - }, - "v1GetAuthTokenRequest": { - "example": { - "assertion": "eyLhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaXNzIjoiY29tcGFueSIsImV4cCI6MTYxNTE5MzgwNywiaWF0IjoxNjE1MTY1MDQwLCJhdWQiOiKzb21lYXVkaWVuY2UifQ.4pcPyMDQ9o1PSyXnrXCjTwXyr4BSezdI1AVTmud2fU3", - "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer" - }, - "properties": { - "grant_type": { - "description": "Grant type of the request. Set this to `urn:ietf:params:oauth:grant-type:jwt-bearer`.", - "type": "string" - }, - "assertion": { - "description": "User-signed JWT token that contains the following fields:
      • iss: Issuer of the JWT.
      • key: Unique identifier for the key.
      • aud: Recipient the JWT is intended for.
      • exp: Time the JWT expires.
      • sub: Subject of the JWT.
      • ctx: (Optional) Value for Context-aware authorization.
      ", - "type": "string" - }, - "subject_token": { - "description": "Subject token.", - "type": "string" - }, - "subject_token_type": { - "description": "Subject token type.", - "type": "string" - }, - "requested_token_use": { - "description": "Token use type. Either `delegation` or `impersonation`.", - "type": "string" - }, - "scope": { - "description": "Subset of available roles to associate with the requested token. Uses the format \"role:\\ role:\\\".", - "type": "string" - } - }, - "required": [ - "assertion", - "grant_type" - ], - "type": "object" - }, - "v1GetAuthTokenResponse": { - "example": { - "access_token": "eyJraWKiOiJ0aUdXd3JWcVNsRU50RUkWbGt2LUkwSklLejhReExzX0dZbzEtdl8zODk0IiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aLM6IkFULmRYV3h6VG04Vm1aU3FzRVZKMEhrTE14dmRQUWFWTzc1ckZuOIKtTmU3eUUiLCJpc3MiOiJodHRwczovL2F1dGguc2t5Zmxvdy5kZXYvb2F1dGgyL2RlZmF1bHQiLCJhdWQiOiJhcGm3Oy9kZWZhdWx0IiwiaWF0IjoxNTg4MjM3MTg4LCJleHAiOjE1ODgyNDA3ODgsImNpZCI6IjBvYTUxXmXza0JqOWh1TUxhNHg2IiwidWlkIjoiMDB1NWR6aHA5QmJSaG9Wa1I0eDYiLCJzY3MwOlsicHJvZmlsZSIsIm9wZW5pZCIsImVtYWlsIl0sInN1YiI6Imtpc2hvcmUuYmFuZGlAc2t5Zmxvdy5jb20ifQ.mtiz1gP3u6t0vTTgKAzPvLLFLsyHFr9W-CREq0rnyj1_zc5siF3nt4y9-UMf2chsRJPgoNGOiXCiOGaiGvWD5VBr6nUS8I4m_Mp3mr0a7mQ-wQxYiw2K2F2C9AS2MSQSJGU5hyl1H3uqVH6YOLePRBtSmz3ez9v47_EP7KiOhmRmGTI7j7oahaW_9g8SVIL1H5RJ1ctSmBRt7frYOAs564uwYni1wbzH48tDj8PKm5sj2-EpvcMh4kVyq259Ken-Bcp2hpECTtbEjfgtGf2TjExTozFBYY3kobKApJ5xBz-7k_tlCECYRvWKrdOgnx1kdBkX5WziWyFWrvj1kRzQtg", - "token_type": "Bearer" - }, - "properties": { - "accessToken": { - "description": "AccessToken.", - "title": "AccessToken", - "type": "string" - }, - "tokenType": { - "description": "TokenType : Bearer.", - "title": "TokenType", - "type": "string" - } - }, - "type": "object" - }, - "v1GetPipelineEncryptionKeyResponse": { - "properties": { - "publicKey": { - "description": "Public key.", - "type": "string" - }, - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "validAfterTime": { - "description": "The key can be used after this timestamp.", - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "description": "The key can be used before this timestamp.", - "format": "date-time", - "type": "string" - }, - "hasPrivateKey": { - "description": "If `true`, an associated private key exists for this key ID.", - "type": "boolean" - } - }, - "type": "object", - "example": { - "publicKey": "elit deserunt", - "encryptionProtocol": "NONE_PROTOCOL", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "hasPrivateKey": true - } - }, - "v1GetPolicyResponse": { - "properties": { - "policy": { - "$ref": "#/components/schemas/v1Policy" - } - }, - "type": "object", - "example": { - "mollit_a": 50651302, - "Duis79f": true, - "policy": { - "ID": "in am", - "name": "wM", - "displayName": "magna", - "description": "cupidatat consectetur ipsum", - "namespace": "laboris commodo", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "ad anim", - "LastModifiedBy": "voluptate", - "CreatedOn": "id", - "LastModifiedOn": "enim Lorem" - }, - "resource": { - "ID": "in est sunt", - "type": "NONE", - "name": "non sit ullamco dolor", - "namespace": "pariatur ea laborum enim", - "description": "anim est reprehenderit et eu", - "status": "NONE", - "displayName": "minim" - }, - "members": [ - "ullamco eu ad ut minim", - "sed reprehenderit", - "in dolore deserunt aute" - ], - "rules": [ - { - "ID": "esse", - "name": "cZS6L2", - "effect": "NONE_EFFECT", - "actions": [ - "esse irure dolore", - "in fugiat dolore pariatur", - "aliquip ad enim fugiat et" - ], - "resources": [ - "dolore aute", - "sit", - "non laborum" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "occaecat aliquip reprehenderit fugiat", - "rowFilter": "Excepteur", - "ruleExpression": "proident", - "redaction": "s" - }, - { - "ID": "ad", - "name": "5O", - "effect": "NONE_EFFECT", - "actions": [ - "tempor adipisicing magna laborum", - "officia", - "irure" - ], - "resources": [ - "ipsum ea moll", - "in exercitation sint eiusmod ex", - "tempor" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "eu", - "rowFilter": "dolor minim", - "ruleExpression": "nisi aliquip do", - "redaction": "amet aute nulla qui" - }, - { - "ID": "ullamco in", - "name": "IdUyuPEx", - "effect": "NONE_EFFECT", - "actions": [ - "Duis", - "do ullamco", - "consectetur" - ], - "resources": [ - "et adipisicing dolor", - "adipisicing magna", - "nostrud velit do ullamco" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "reprehenderit offici", - "rowFilter": "pariatur aute dolor eiusmod anim", - "ruleExpression": "dolor eu veniam", - "redaction": "minim" - } - ] - } - } - }, - "v1GetRoleResponse": { - "properties": { - "role": { - "$ref": "#/components/schemas/v1Role" - } - }, - "type": "object", - "example": { - "ullamco52": 82308297, - "nisi__8": 47778349.29120445, - "role": { - "ID": "occaecat aliqua do proident", - "namespace": "eu voluptate nostrud dolore", - "definition": { - "name": "anim nisi dolor Except", - "displayName": "laborum eiusmod adipisicing", - "description": "cillum", - "permissions": [ - "cillum elit Ut in", - "labore s", - "sit" - ], - "levels": [ - "sed", - "non ut sed dolor", - "nisi eu" - ], - "type": "NONE" - }, - "resource": { - "ID": "aliquip", - "type": "NONE", - "name": "consequat sint incididunt d", - "namespace": "amet sed nulla dolore officia", - "description": "sed officia in", - "status": "NONE", - "displayName": "sint dolore mollit" - }, - "BasicAudit": { - "CreatedBy": "consectetur labore sunt enim amet", - "LastModifiedBy": "magna", - "CreatedOn": "et ullamco", - "LastModifiedOn": "nisi magna eu elit" - } - } - } - }, - "v1GetRuleResponse": { - "properties": { - "rule": { - "$ref": "#/components/schemas/v1Rule" - } - }, - "type": "object", - "example": { - "adipisicing_b9d": -34772341, - "cillum_59": "nulla aliqua exercitation", - "aliquac": "do", - "rule": { - "ID": "in", - "name": "8pKO2p", - "effect": "NONE_EFFECT", - "actions": [ - "deserunt laboris nulla irure occaecat", - "fugiat do", - "s" - ], - "resources": [ - "anim eu", - "mollit", - "et magna nisi irure" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "minim laboris", - "rowFilter": "aliqua", - "ruleExpression": "exercitation", - "redaction": "esse elit" - } - } - }, - "v1GetServiceAccountResponse": { - "description": "The service account get response.", - "properties": { - "serviceAccount": { - "$ref": "#/components/schemas/v1ServiceAccount" - }, - "clientConfiguration": { - "$ref": "#/components/schemas/v1ClientConfiguration" - } - }, - "type": "object", - "example": { - "serviceAccount": { - "name": "cupidatat ex sunt", - "displayName": "fugiat sint nostrud cupidatat aliqua", - "description": "id mollit ut nulla ad", - "ipAllowlist": { - "status": "INACTIVE", - "cidrBlocks": [ - "cillum incididunt ullamco ad anim", - "mollit", - "officia ut non" - ] - }, - "ID": "nostrud minim sunt", - "namespace": "ut ex esse exercitation", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "aute do Duis ", - "LastModifiedBy": "nisi", - "CreatedOn": "non cillum Duis enim adipisicing", - "LastModifiedOn": "officia dolore cupidatat" - } - }, - "clientConfiguration": { - "enforceContextID": true, - "enforceSignedDataTokens": false - } - } - }, - "v1GetUserResponse": { - "description": "User retrieval response.", - "example": { - "user": { - "BasicAudit": { - "CreatedBy": "saaca13f7fc54d9c967cafb7d5f26004", - "CreatedOn": "2024-05-07 20:03:57.53338124 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "" - }, - "ID": "c4cea870d25d4911aee705c98fd8a21f", - "contactAddress": { - "city": "Bloom", - "country": "United States", - "state": "Ohio", - "streetAddress": "111 First Street", - "zip": 65127 - }, - "name": "Jan Doe", - "status": "PENDING", - "userIdentity": { - "email": "jan@acme.com", - "oktaID": "00uj8zs9ung3x8ucz4x7" - } - } - }, - "properties": { - "user": { - "$ref": "#/components/schemas/v1User" - } - }, - "type": "object" - }, - "v1GetVaultTemplateResponse": { - "properties": { - "template": { - "$ref": "#/components/schemas/v1VaultTemplate" - } - }, - "type": "object", - "example": { - "ametd": 25611953, - "dolore_66": "c", - "nisi02": "nulla tempor mollit", - "template": { - "ID": "cupidatat officia ex", - "BasicAudit": { - "CreatedBy": "nostrud sunt", - "LastModifiedBy": "sint esse", - "CreatedOn": "aute veniam", - "LastModifiedOn": "irure magna" - }, - "name": "incididunt", - "description": "pariatur commodo est elit ut", - "vaultSchema": { - "schemas": [ - { - "ID": "dolore ut consectetur sit nisi", - "name": "nulla", - "parentSchemaProperties": { - "parentID": "", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "dolor cillum", - "values": [ - "veniam in in enim", - "ad nisi ut", - "dolore nostrud ipsum sit" - ] - }, - { - "name": "irure Excepteur", - "values": [ - "est", - "aliqua cillum est aute adipisicing", - "minim" - ] - }, - { - "name": "id dolor", - "values": [ - "exercitation do magna", - "enim velit", - "sunt occaecat ea" - ] - } - ], - "name": "exercitation consectetur" - }, - "fields": [ - { - "name": "cillum mollit", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "Excepteur", - "values": [ - "sint", - "qui enim", - "dolor fugiat tempor consectetur aute" - ] - }, - { - "name": "nisi Lorem laboris voluptate", - "values": [ - "fugiat dolore est mollit ut", - "ut eiusmod nostrud quis veniam", - "tempor" - ] - }, - { - "name": "sunt ", - "values": [ - "aute mollit reprehenderit", - "tempor", - "pariatur" - ] - } - ], - "properties": { - "name": "magna deserunt", - "description": "proident esse velit", - "references": "ut reprehenderit aliqua dolore deserunt" - }, - "ID": "pariatur cupidatat quis" - }, - { - "name": "esse aute tempor reprehenderit consequat", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "Duis labore magna do", - "values": [ - "aliqua reprehenderit enim et", - "cupidatat irure", - "ut" - ] - }, - { - "name": "dolor Excepteur", - "values": [ - "dolor occaecat", - "nisi aliquip sunt incididunt ", - "velit anim eiu" - ] - }, - { - "name": "nulla et adipisicing", - "values": [ - "adipisicing in", - "ullamco incididunt Lorem ad occaecat", - "Ut est eiusmod Excepteur irur" - ] - } - ], - "properties": { - "name": "cupida", - "description": "ipsum quis Excepteur", - "references": "mollit Lorem in" - }, - "ID": "anim ut in" - }, - { - "name": "adipisicing Ut reprehenderit ea incididunt", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "eu ipsum pariatur in aliquip", - "values": [ - "Duis", - "ea", - "exercitation dolor sit tempor" - ] - }, - { - "name": "in aute qui enim", - "values": [ - "quis eu velit veniam nulla", - "nisi nostrud occaecat adipisi", - "dolore tempor Excepteur occae" - ] - }, - { - "name": "dolor", - "values": [ - "aliquip incididunt", - "in velit do", - "commodo enim" - ] - } - ], - "properties": { - "name": "culpa dolor ea nisi in", - "description": "laboris Excepteur", - "references": "in exercitation ad" - }, - "ID": "voluptate reprehenderit dolor" - } - ], - "childrenSchemas": [ - { - "quis__": 10073364 - }, - { - "dolor_881": -15940701.920104101 - } - ], - "schemaTags": [ - { - "name": "dolore", - "values": [ - "eu elit et mollit", - "pariatur dolor elit", - "dolore id consequat enim adipisicing" - ] - }, - { - "name": "magna sint", - "values": [ - "proident cupidatat ipsum minim", - "aute", - "esse cupidatat ea" - ] - }, - { - "name": "commo", - "values": [ - "do", - "occaecat dolore", - "id esse dolore nulla" - ] - } - ], - "properties": { - "name": "consequat consectetur", - "description": "fugiat", - "references": "sed non officia exercitation sunt" - } - }, - { - "ID": "", - "name": "do in aute eiusmod", - "parentSchemaProperties": { - "parentID": "sit deser", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "ut aliquip", - "values": [ - "aliqua nulla sed", - "id do ipsum minim ea", - "esse aute irure velit" - ] - }, - { - "name": "aliquip ut", - "values": [ - "aliquip Ut", - "tempor dolore", - "in dolo" - ] - }, - { - "name": "commodo", - "values": [ - "ex incididunt Lorem aliqua", - "labore esse proident ut ut", - "sed" - ] - } - ], - "name": "fugiat tempor labore elit" - }, - "fields": [ - { - "name": "pariatur id tempor incididunt ex", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "do qui non consectetur", - "values": [ - "in", - "occaecat amet in", - "sunt id in" - ] - }, - { - "name": "et", - "values": [ - "Excepteur in aliquip Lorem magna", - "do ut magna", - "labore" - ] - }, - { - "name": "irure ex ", - "values": [ - "ut reprehenderit deserunt non aliquip", - "nostrud", - "laborum" - ] - } - ], - "properties": { - "name": "Excepteur", - "description": "deserunt dolore consequat", - "references": "ea reprehenderit" - }, - "ID": "laborum ad" - }, - { - "name": "ut nulla officia adipisicing", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "amet sit sunt", - "values": [ - "commodo sunt", - "veniam", - "nulla enim sit qui" - ] - }, - { - "name": "id", - "values": [ - "adipisicing", - "ullamco irure aliqua id laborum", - "anim Duis" - ] - }, - { - "name": "in", - "values": [ - "sint dolore in cillum", - "Duis", - "sunt ut qui occaecat" - ] - } - ], - "properties": { - "name": "esse consectetur minim ex", - "description": "anim est ut ut i", - "references": "laboris ipsum sit deserunt" - }, - "ID": "cillum est deserunt" - }, - { - "name": "commodo reprehenderit", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "", - "values": [ - "est magna", - "cillum qui eu in minim", - "minim irure ullamco in" - ] - }, - { - "name": "Ut id cillum", - "values": [ - "esse sint in deserunt", - "cupidatat dolore ipsum irure", - "tempor qui" - ] - }, - { - "name": "sint elit Lorem nostrud", - "values": [ - "laborum dolore", - "Excepteur nostrud in id commodo", - "enim ipsum aute ex Ut" - ] - } - ], - "properties": { - "name": "deserunt minim anim eu proident", - "description": "nostrud deserunt", - "references": "cillum" - }, - "ID": "occaecat dolore in" - } - ], - "childrenSchemas": [ - { - "esseaa": -78733070.94560231, - "laboris_705": "magna nostrud enim" - }, - { - "Ute": 2586364, - "irure_20": "occaecat anim" - } - ], - "schemaTags": [ - { - "name": "laborum velit", - "values": [ - "sit consectetur ea nisi", - "aliquip dolore voluptate", - "minim consectetur veniam" - ] - }, - { - "name": "qui ullamco id Ut", - "values": [ - "", - "non qui", - "non e" - ] - }, - { - "name": "tempor irure ipsum occaecat deserunt", - "values": [ - "proident nulla ut consequat aliquip", - "aute Excepteur", - "commodo magna ullamco" - ] - } - ], - "properties": { - "name": "exercitation sunt irure incididunt sed", - "description": "dolor voluptate", - "references": "anim eiusmod" - } - }, - { - "ID": "consectetur tempor", - "name": "sit laborum proident", - "parentSchemaProperties": { - "parentID": "amet magna in eu ipsum", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "in labore ad", - "values": [ - "dolor qu", - "sint ex irure non eiusmod", - "in" - ] - }, - { - "name": "tempor", - "values": [ - "laborum", - "dolor non ad do", - "ipsum nostrud dolore Duis" - ] - }, - { - "name": "nulla anim culpa occaecat ", - "values": [ - "sit in ut proident", - "ad ea amet mollit", - "commodo proident culpa Ut dolor" - ] - } - ], - "name": "sunt reprehenderit" - }, - "fields": [ - { - "name": "tempor occaecat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "ut laboris", - "values": [ - "nisi magna mollit cillum", - "velit", - "fugiat esse laborum magna" - ] - }, - { - "name": "veniam nulla in", - "values": [ - "et aute non quis", - "ut culpa ut mollit ve", - "nostrud ea culpa enim aute" - ] - }, - { - "name": "dolor sunt enim Ut anim", - "values": [ - "non", - "ipsum anim", - "commodo ipsum an" - ] - } - ], - "properties": { - "name": "ut", - "description": "consectetur ipsum est", - "references": "consectetur" - }, - "ID": "in pariatur anim consequat" - }, - { - "name": "cupidatat Lorem laborum do", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "nostrud", - "values": [ - "mollit exercitation laborum", - "consectetur eu officia", - "ea eu velit exerci" - ] - }, - { - "name": "dolore consectetur occaecat in ipsum", - "values": [ - "voluptate laboris commodo", - "dolore ex", - "pariatur Duis dolo" - ] - }, - { - "name": "u", - "values": [ - "aute commodo ", - "dolore ipsum Excepteur", - "sint" - ] - } - ], - "properties": { - "name": "laborum", - "description": "sit amet ut aliquip non", - "references": "aliqua non sed " - }, - "ID": "ut dolore incididunt in quis" - }, - { - "name": "anim aliqua", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "aliqua occaecat", - "values": [ - "incididunt eu", - "mollit do sed", - "et eiusmod in commodo" - ] - }, - { - "name": "laboris voluptate elit dolor proident", - "values": [ - "ullamco ex", - "nulla sit est magna", - "ad do in ea" - ] - }, - { - "name": "ullamco labore reprehe", - "values": [ - "al", - "officia minim proiden", - "do nostrud " - ] - } - ], - "properties": { - "name": "in", - "description": "cillum reprehenderit", - "references": "officia mollit aliquip Excepteur" - }, - "ID": "in in enim anim" - } - ], - "childrenSchemas": [ - { - "fugiat_b": false - }, - { - "dolore_f5": -33844767.30335808 - } - ], - "schemaTags": [ - { - "name": "Ut Excepteur pariatur deserunt nostrud", - "values": [ - "dolore l", - "nisi aute mollit", - "cupidatat elit aute" - ] - }, - { - "name": "veniam eiusmod mollit do cupidatat", - "values": [ - "ad quis in", - "anim ut labore quis mollit", - "tempor ullamco irure" - ] - }, - { - "name": "sit anim consequat", - "values": [ - "ex dolore nulla eu", - "sed magna", - "minim quis est velit fugiat" - ] - } - ], - "properties": { - "name": "in", - "description": "nostrud Lorem", - "references": "sunt ipsum sit" - } - } - ], - "tags": [ - { - "name": "magna eiusmod dolore dolor", - "values": [ - "in", - "officia", - "proi" - ] - }, - { - "name": "a", - "values": [ - "voluptate esse ipsum consectetur", - "Duis commodo", - "ex dolor dolor" - ] - }, - { - "name": "sunt voluptate", - "values": [ - "ex", - "est commodo eu cillum", - "pariatur" - ] - } - ] - }, - "namespace": "occaecat", - "status": "NONE", - "displayName": "Lorem ut" - } - } - }, - "v1GetWorkspaceResponse": { - "description": "Contains read request response.", - "properties": { - "workspace": { - "$ref": "#/components/schemas/v1Workspace" - } - }, - "type": "object", - "example": { - "proidentbc_": -43818923, - "cillum_4": "deserunt tempor", - "non_6e": "adipisicing ex", - "workspace": { - "name": "wuEPgog5fF", - "displayName": "sed nostrud elit", - "description": "in dolor", - "ID": "culpa elit cillum", - "namespace": "sint tempor id aliqua", - "contactAddress": { - "streetAddress": "velit veniam ipsum", - "city": "consequat cupida", - "state": "quis ullamco dolor", - "country": "veniam", - "zip": -9540582 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "do sit id", - "LastModifiedBy": "sint dolor nostrud", - "CreatedOn": "adipisicing id dolore aliquip dolor", - "LastModifiedOn": "mollit et" - }, - "type": "NONE_TYPE", - "url": "incididunt in nisi", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "elit Lorem commodo consectetur sit", - "permissions": [ - "Ut officia", - "dolor tempor enim amet laborum", - "velit ex commodo ad do" - ] - }, - { - "roleName": "dolore consequat ullamco anim", - "permissions": [ - "ex", - "nostrud eu aliqua", - "quis dolore" - ] - }, - { - "roleName": "ut incididunt", - "permissions": [ - "laborum nisi amet qui", - "dolore ullamco dolor", - "enim sed" - ] - } - ], - "enableExternalSharing": false - }, - "regionID": "est cupidatat ullamco incididunt Duis" - } - } - }, - "v1ListAPIKeysResponse": { - "description": "The service account api keys list response.", - "properties": { - "apiKeys": { - "description": "API keys.", - "items": { - "$ref": "#/components/schemas/v1APIKey" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "ad_bb": "aute exercitation irure", - "apiKeys": [ - { - "keyID": "anim consequat cupidatat irure exercitation", - "identifier": "minim nostrud cillum", - "status": "laborum occaec", - "keyValidAfterTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "nostrud", - "identifier": "id in", - "status": "minim ea irure", - "keyValidAfterTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "dol", - "identifier": "exercitation adipisicing Ut", - "status": "Excepteur reprehenderit occaecat", - "keyValidAfterTime": "2025-08-12T20:52:16.0Z" - } - ] - } - }, - "v1ListAccountsResponse": { - "description": "Contains array of Accounts.", - "example": { - "accounts": [ - { - "BasicAudit": { - "CreatedBy": "b3b7f16632d0473492e3c49ab859c9f1", - "CreatedOn": "2022-06-09 17:00:19.681177519 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "2022-07-19 06:45:01.292348 +0000 UTC" - }, - "ID": "a451b783713e4424b5c761bb7bbc84eb", - "accountType": "TYPE_NONE", - "description": "", - "displayName": "acme", - "name": "acme-try", - "namespace": "skyflow:f2f10f08084f11eb8e7352d498dc3e20/account:cfdc00b3bfe04e2eb57d8581dfce7b22/tenant:a451b783713e4424b5c761bb7bbc84eb", - "status": "ACTIVE", - "tenantType": "SHARED" - } - ] - }, - "properties": { - "accounts": { - "description": "The retrieved Accounts.", - "items": { - "$ref": "#/components/schemas/v1Account" - }, - "type": "array" - } - }, - "type": "object" - }, - "v1ListIntegrationResponse": { - "properties": { - "ConnectionMappings": { - "description": "List of all connection defined for the given Vault or AccountID.", - "items": { - "$ref": "#/components/schemas/v1RelayMappings" - }, - "title": "Mappings", - "type": "array" - } - }, - "type": "object", - "example": { - "aliquipc": false, - "ConnectionMappings": [ - { - "ID": "labore", - "name": "occaecat ex aliqua", - "baseURL": "dolor id", - "vaultID": "amet quis qui", - "routes": [ - { - "path": "eu nostrud sint sit", - "method": "non", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "sunt dolor", - "table": "in do velit tempor", - "column": "Lorem minim", - "dataSelector": "ea", - "dataSelectorRegex": "veniam pariatur dolore adipisicing", - "transformFormat": "elit consectetur aliqua exercitation commodo", - "encryptionType": "sunt fugiat incididunt Excepteur ullamco", - "redaction": "DEFAULT", - "sourceRegex": "eu Duis in Lorem quis", - "transformedRegex": "Ut velit nostrud" - }, - { - "action": "NOT_SELECTED", - "fieldName": "non ullamco", - "table": "laboris proident qui incididu", - "column": "aliqua Excepteur reprehenderit", - "dataSelector": "laboris", - "dataSelectorRegex": "magna irure", - "transformFormat": "exercitation est", - "encryptionType": "sit Lorem", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "non ea fugiat in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aliqua i", - "table": "ess", - "column": "in", - "dataSelector": "proident Excepteur", - "dataSelectorRegex": "cillum laborum deserunt ad", - "transformFormat": "commodo quis aliqua amet est", - "encryptionType": "qui aliqua ex", - "redaction": "DEFAULT", - "sourceRegex": "esse", - "transformedRegex": "cillum sint exercitation do" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "sint", - "table": "magna tempor deserunt voluptate ad", - "column": "eu", - "dataSelector": "mo", - "dataSelectorRegex": "occaecat incididunt in aliqua ea", - "transformFormat": "mollit", - "encryptionType": "Excepteur", - "redaction": "DEFAULT", - "sourceRegex": "incididunt ex ", - "transformedRegex": "dolore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "incididunt laboris", - "table": "laboris", - "column": "anim tempor", - "dataSelector": "tempor adipisicing deserunt", - "dataSelectorRegex": "veniam est amet", - "transformFormat": "nulla fugiat", - "encryptionType": "fugiat aliquip Ut dolore deserunt", - "redaction": "DEFAULT", - "sourceRegex": "non occaecat", - "transformedRegex": "enim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "non", - "table": "veniam magna esse laborum sit", - "column": "velit", - "dataSelector": "qui i", - "dataSelectorRegex": "sit tempor eiusmod sint dolor", - "transformFormat": "qui in eiusmod c", - "encryptionType": "aliqua officia nostrud deserunt", - "redaction": "DEFAULT", - "sourceRegex": "elit", - "transformedRegex": "dolor minim laborum pariatur ad" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "ea", - "table": "in et sunt", - "column": "ut magna consequat voluptate", - "dataSelector": "ex nulla labore et minim", - "dataSelectorRegex": "Excepteur", - "transformFormat": "dolor incididunt in sunt Lorem", - "encryptionType": "id incididunt ut laboris", - "redaction": "DEFAULT", - "sourceRegex": "proident occaecat", - "transformedRegex": "officia sed consectetur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "culpa mollit sed", - "table": "nostrud ullamco eu", - "column": "Excepteur", - "dataSelector": "et aliquip", - "dataSelectorRegex": "in cupidatat", - "transformFormat": "officia mollit", - "encryptionType": "magna Lorem ut", - "redaction": "DEFAULT", - "sourceRegex": "Duis id ullamco aute ipsum", - "transformedRegex": "nost" - }, - { - "action": "NOT_SELECTED", - "fieldName": "cillum", - "table": "et tempor Lorem", - "column": "laborum ut ullam", - "dataSelector": "aute", - "dataSelectorRegex": "velit mollit", - "transformFormat": "eiusmod Excepteur anim sint", - "encryptionType": "sed", - "redaction": "DEFAULT", - "sourceRegex": "velit in", - "transformedRegex": "do occa" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "incididunt Excepteur enim commodo", - "table": "sint labore", - "column": "cillu", - "dataSelector": "proident ullamco fugiat deserunt occaecat", - "dataSelectorRegex": "laboris", - "transformFormat": "Lorem", - "encryptionType": "proident dolor", - "redaction": "DEFAULT", - "sourceRegex": "dolore Excepteur Ut ad", - "transformedRegex": "laboris Lorem cillum dolore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "voluptate", - "table": "in laborum est", - "column": "culpa et Duis", - "dataSelector": "magna esse exercitation nostrud reprehenderit", - "dataSelectorRegex": "cupidatat enim ipsum do dolor", - "transformFormat": "officia Ut et", - "encryptionType": "reprehenderit non", - "redaction": "DEFAULT", - "sourceRegex": "mollit ipsum ut dolore", - "transformedRegex": "ut consequat enim dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "l", - "table": "do fugiat exercitation", - "column": "ex esse ", - "dataSelector": "deserunt mollit elit proident incididunt", - "dataSelectorRegex": "Ut in proident", - "transformFormat": "velit elit et eu labore", - "encryptionType": "quis", - "redaction": "DEFAULT", - "sourceRegex": "Duis", - "transformedRegex": "ullamco" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "non aute qui Ut aliquip", - "table": "sit in ullamco amet", - "column": "laborum consequat in cillum", - "dataSelector": "minim eiusmod occaecat", - "dataSelectorRegex": "do", - "transformFormat": "ex occaecat quis", - "encryptionType": "sit enim do", - "redaction": "DEFAULT", - "sourceRegex": "consectetur in aute dolore reprehenderit", - "transformedRegex": "L" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aute ut", - "table": "in Lorem cillum id", - "column": "d", - "dataSelector": "aute", - "dataSelectorRegex": "occaecat Duis ", - "transformFormat": "ex labore", - "encryptionType": "nulla anim aute", - "redaction": "DEFAULT", - "sourceRegex": "magna in nis", - "transformedRegex": "fugiat magna" - }, - { - "action": "NOT_SELECTED", - "fieldName": "labore mollit qui ", - "table": "est anim e", - "column": "ea", - "dataSelector": "eu dolor", - "dataSelectorRegex": "proident", - "transformFormat": "id cupidatat ut sunt", - "encryptionType": "ali", - "redaction": "DEFAULT", - "sourceRegex": "labore sunt", - "transformedRegex": "ut laborum" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "cillum", - "table": "pariatur ut", - "column": "deserunt proident sunt nulla", - "dataSelector": "e", - "dataSelectorRegex": "ut ex in pariatur ullamco", - "transformFormat": "in culpa sed ad par", - "encryptionType": "amet sit quis", - "redaction": "DEFAULT", - "sourceRegex": "incididunt", - "transformedRegex": "dolore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "consectetur adipisicing cupidatat proident", - "table": "sint laborum", - "column": "pariatur occaecat ad velit", - "dataSelector": "proident Excepteur et", - "dataSelectorRegex": "non in et in", - "transformFormat": "exerci", - "encryptionType": "oc", - "redaction": "DEFAULT", - "sourceRegex": "non in qui nisi", - "transformedRegex": "irure" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in anim nostru", - "table": "id consequat Duis fugiat nulla", - "column": "volup", - "dataSelector": "non eiusmod est", - "dataSelectorRegex": "amet dolor cillum", - "transformFormat": "labore", - "encryptionType": "adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "voluptate sit", - "transformedRegex": "nisi ipsum nostrud" - } - ], - "name": "of", - "description": "nulla irure id sed cupidatat", - "soapAction": "cupidatat laborum in sit", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "est amet sed cupi", - "keyEncryptionAlgo": "culpa nul", - "contentEncryptionAlgo": "do dolore", - "signatureAlgorithm": "commodo laborum ", - "sourceRegex": "ut Lorem mollit consectetur", - "transformedRegex": "ut sit", - "target": "qui ea" - }, - { - "type": "NOACTION", - "action": "i", - "keyEncryptionAlgo": "exercitation dolore in", - "contentEncryptionAlgo": "occaecat ", - "signatureAlgorithm": "sunt i", - "sourceRegex": "exercitation nisi", - "transformedRegex": "nisi exercitation", - "target": "do" - }, - { - "type": "NOACTION", - "action": "commodo", - "keyEncryptionAlgo": "Ut in mollit Lorem ut", - "contentEncryptionAlgo": "consequat elit ea proident", - "signatureAlgorithm": "consequat", - "sourceRegex": "exercitation", - "transformedRegex": "ut", - "target": "est in dolor" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "Ut magna", - "keyEncryptionAlgo": "laborum commodo", - "contentEncryptionAlgo": "et minim Ut", - "signatureAlgorithm": "magna sed", - "sourceRegex": "ullamco ad", - "transformedRegex": "enim sed quis dol", - "target": "incididunt dolor amet" - }, - { - "type": "NOACTION", - "action": "deserunt voluptate ut", - "keyEncryptionAlgo": "laborum", - "contentEncryptionAlgo": "nostrud qui Lorem aute dolore", - "signatureAlgorithm": "Lorem ad", - "sourceRegex": "quis aute ad", - "transformedRegex": "aliquip aute", - "target": "amet pa" - }, - { - "type": "NOACTION", - "action": "id labore occaecat", - "keyEncryptionAlgo": "Lorem", - "contentEncryptionAlgo": "U", - "signatureAlgorithm": "ea exercitation", - "sourceRegex": "cupidatat reprehenderit", - "transformedRegex": "nostrud velit aute irure", - "target": "dolor aliquip labore" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "enim", - "keyEncryptionAlgo": "labore cu", - "contentEncryptionAlgo": "dolore magna", - "signatureAlgorithm": "cupidatat anim", - "sourceRegex": "laboris", - "transformedRegex": "officia et", - "target": "" - }, - { - "type": "NOACTION", - "action": "nisi in cillum dolore reprehenderit", - "keyEncryptionAlgo": "dolore adipisicing dolor", - "contentEncryptionAlgo": "veniam eiusmod id est", - "signatureAlgorithm": "in lab", - "sourceRegex": "mi", - "transformedRegex": "nisi amet officia", - "target": "est velit culpa" - }, - { - "type": "NOACTION", - "action": "dolor", - "keyEncryptionAlgo": "occaecat Duis ad", - "contentEncryptionAlgo": "aliqua ullamco", - "signatureAlgorithm": "reprehenderit anim", - "sourceRegex": "ea cillum", - "transformedRegex": "ullamco", - "target": "et" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "proident deserunt ut ad culpa", - "keyEncryptionAlgo": "ad fugiat", - "contentEncryptionAlgo": "mollit", - "signatureAlgorithm": "esse est in", - "sourceRegex": "commodo", - "transformedRegex": "commodo", - "target": "tempor Lorem exercitation esse" - }, - { - "type": "NOACTION", - "action": "est veniam commodo ", - "keyEncryptionAlgo": "incididunt ipsum", - "contentEncryptionAlgo": "in dolore volupt", - "signatureAlgorithm": "ipsum aliquip", - "sourceRegex": "in", - "transformedRegex": "proident aliquip cillum do", - "target": "repre" - }, - { - "type": "NOACTION", - "action": "incididunt nisi", - "keyEncryptionAlgo": "ut eu fugiat", - "contentEncryptionAlgo": "ea occaecat in", - "signatureAlgorithm": "dolor labore", - "sourceRegex": "reprehenderit velit sint", - "transformedRegex": "aliquip velit", - "target": "esse pro" - } - ], - "tableUpsertInfo": [ - { - "table": "velit labore magna fugiat dolor", - "column": "amet" - }, - { - "table": "deserunt culpa in", - "column": "incididunt labore minim labo" - }, - { - "table": "dolore qui", - "column": "dolor" - } - ] - }, - { - "path": "aliqua dolor voluptate sit nulla", - "method": "tempor", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "sed in pariatur tempor commodo", - "table": "et dolor aliqua Excepteur", - "column": "in", - "dataSelector": "ex sunt d", - "dataSelectorRegex": "nost", - "transformFormat": "Duis aliqua labore officia", - "encryptionType": "ut et u", - "redaction": "DEFAULT", - "sourceRegex": "deserunt sit fugiat aliqua", - "transformedRegex": "labore veniam Duis commodo minim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "commodo", - "table": "aliqua", - "column": "in minim magna", - "dataSelector": "magna enim velit veniam dolore", - "dataSelectorRegex": "consequat amet", - "transformFormat": "aute culpa quis magna", - "encryptionType": "eiusmod velit ut laboris", - "redaction": "DEFAULT", - "sourceRegex": "amet aliqua cillum voluptate ut", - "transformedRegex": "do exercitation anim sit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "qui laborum velit", - "table": "Excepteur ea reprehenderit non", - "column": "magna sit elit est", - "dataSelector": "labore nisi u", - "dataSelectorRegex": "do Duis elit ut", - "transformFormat": "aliqua", - "encryptionType": "dolore do Excepteur cupidatat", - "redaction": "DEFAULT", - "sourceRegex": "labore consequat do", - "transformedRegex": "ad" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "veniam", - "table": "proident Duis ", - "column": "commodo Duis deserunt ex", - "dataSelector": "in velit quis sit labore", - "dataSelectorRegex": "sunt dolor incididunt", - "transformFormat": "in cupidatat", - "encryptionType": "id mollit in", - "redaction": "DEFAULT", - "sourceRegex": "aliquip", - "transformedRegex": "irure pariatur reprehenderit consequat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in ipsum aliqua dolore", - "table": "sint do", - "column": "velit magna laboris", - "dataSelector": "dolore dolor", - "dataSelectorRegex": "Duis consectetur pariatur nostrud eiusmod", - "transformFormat": "aliquip", - "encryptionType": "exercitation anim", - "redaction": "DEFAULT", - "sourceRegex": "aliqua culpa voluptate", - "transformedRegex": "nisi cillum dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eiusmod", - "table": "magna nis", - "column": "mollit eu Lorem", - "dataSelector": "dolor ea nulla amet esse", - "dataSelectorRegex": "et reprehenderit enim ut", - "transformFormat": "sit ut", - "encryptionType": "ex eu", - "redaction": "DEFAULT", - "sourceRegex": "Ut eiusmod sed", - "transformedRegex": "aliqua labore" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "officia in exercitation eu", - "table": "elit amet irure tempo", - "column": "velit", - "dataSelector": "sit laboris eiusmod cillum", - "dataSelectorRegex": "nisi labore", - "transformFormat": "ad sint Excepteur", - "encryptionType": "ut occaecat cillum", - "redaction": "DEFAULT", - "sourceRegex": "in fugiat voluptate", - "transformedRegex": "ullamco" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aute", - "table": "ex", - "column": "qui irure", - "dataSelector": "cupidatat", - "dataSelectorRegex": "labore quis adipisicing commodo", - "transformFormat": "officia eu commodo", - "encryptionType": "cupidatat", - "redaction": "DEFAULT", - "sourceRegex": "nostrud", - "transformedRegex": "labo" - }, - { - "action": "NOT_SELECTED", - "fieldName": "tempor reprehenderit", - "table": "magna ea eu amet", - "column": "Excepteur ex", - "dataSelector": "ullamco enim esse", - "dataSelectorRegex": "veniam dolor Lorem dolore aute", - "transformFormat": "ut ullamco", - "encryptionType": "aute quis", - "redaction": "DEFAULT", - "sourceRegex": "aliquip aliqua eu velit esse", - "transformedRegex": "non" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "velit aliquip", - "table": "aliquip ex offic", - "column": "nostrud adipisicing Duis", - "dataSelector": "veniam laborum voluptate", - "dataSelectorRegex": "exercitation deserunt tempor", - "transformFormat": "fugiat aliqua est anim sed", - "encryptionType": "anim", - "redaction": "DEFAULT", - "sourceRegex": "occaecat nisi in", - "transformedRegex": "a" - }, - { - "action": "NOT_SELECTED", - "fieldName": "Ut dolore velit cupidatat dolore", - "table": "in dolor", - "column": "nostrud Duis anim officia", - "dataSelector": "in sit consequat et quis", - "dataSelectorRegex": "elit", - "transformFormat": "elit est cillum", - "encryptionType": "laborum consequat aliquip ipsum", - "redaction": "DEFAULT", - "sourceRegex": "magna non", - "transformedRegex": "amet labore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "exercitation adipisicing", - "table": "adipisicing pariatur velit", - "column": "dolore", - "dataSelector": "dolor deserunt", - "dataSelectorRegex": "sint culpa tempor minim", - "transformFormat": "fugiat lab", - "encryptionType": "culpa", - "redaction": "DEFAULT", - "sourceRegex": "non incididunt veniam", - "transformedRegex": "Excepteur" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "reprehenderit cupidatat ad", - "table": "aliquip occaecat dolore esse amet", - "column": "nisi", - "dataSelector": "dolor aute", - "dataSelectorRegex": "exercitation non", - "transformFormat": "est", - "encryptionType": "dolore occaecat nostrud Excepteur", - "redaction": "DEFAULT", - "sourceRegex": "anim Ut proident aliquip eiusmod", - "transformedRegex": "commodo" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eiusmod in voluptate", - "table": "", - "column": "ea id aliqua cupid", - "dataSelector": "quis id ad adipisicing", - "dataSelectorRegex": "voluptate sit consectetur ut", - "transformFormat": "enim", - "encryptionType": "nulla consectetur sed sit", - "redaction": "DEFAULT", - "sourceRegex": "cillum Duis ve", - "transformedRegex": "magna in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "irure ad labore commodo velit", - "table": "in q", - "column": "ipsum magna Ut ad dolor", - "dataSelector": "nulla", - "dataSelectorRegex": "dolor labore", - "transformFormat": "dolor nisi", - "encryptionType": "esse Duis id laboris", - "redaction": "DEFAULT", - "sourceRegex": "nulla in", - "transformedRegex": "cillum culpa" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "velit sed pariatur", - "table": "nostrud", - "column": "esse mollit sint ad", - "dataSelector": "mollit voluptate in", - "dataSelectorRegex": "sit occaecat do ex irure", - "transformFormat": "magna voluptate Excepteur sint", - "encryptionType": "Excepteur anim", - "redaction": "DEFAULT", - "sourceRegex": "ad ut fugiat", - "transformedRegex": "Exc" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolore reprehenderit", - "table": "incididunt sed qui Duis in", - "column": "esse aliquip sint ullamco nisi", - "dataSelector": "magna Ut", - "dataSelectorRegex": "laboris", - "transformFormat": "reprehenderit ullamco quis", - "encryptionType": "repreh", - "redaction": "DEFAULT", - "sourceRegex": "dolor irure aute l", - "transformedRegex": "amet dolore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id eiusm", - "table": "id sed cillum fugiat", - "column": "voluptate sit", - "dataSelector": "do tempor ex veniam non", - "dataSelectorRegex": "commodo irure", - "transformFormat": "veniam ex officia elit amet", - "encryptionType": "Duis ex", - "redaction": "DEFAULT", - "sourceRegex": "aliqua Ut consectetur sunt se", - "transformedRegex": "sint nisi cupidatat in consectetur" - } - ], - "name": "eu Duis nostrud", - "description": "aliquip adipis", - "soapAction": "anim eiusmod laborum", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "ad", - "keyEncryptionAlgo": "qui nisi et", - "contentEncryptionAlgo": "ullamco anim reprehenderit", - "signatureAlgorithm": "", - "sourceRegex": "ut culpa", - "transformedRegex": "culpa Duis nisi", - "target": "ad minim commodo Duis" - }, - { - "type": "NOACTION", - "action": "laboris fugi", - "keyEncryptionAlgo": "nostrud occaecat commodo esse ", - "contentEncryptionAlgo": "occaecat", - "signatureAlgorithm": "occaecat amet", - "sourceRegex": "sed nulla aute", - "transformedRegex": "et in", - "target": "in ullamco" - }, - { - "type": "NOACTION", - "action": "non quis i", - "keyEncryptionAlgo": "ut dol", - "contentEncryptionAlgo": "consectetur labore id", - "signatureAlgorithm": "deserunt in sint laborum", - "sourceRegex": "velit ipsum ea officia", - "transformedRegex": "nulla culpa reprehenderit in dolor", - "target": "cupidatat mollit commodo" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "do", - "keyEncryptionAlgo": "dolor eiusmod sed cillum ", - "contentEncryptionAlgo": "ex Exce", - "signatureAlgorithm": "eu esse", - "sourceRegex": "ad sed", - "transformedRegex": "magna commodo adipisicing culpa enim", - "target": "proident id culpa Excepteur eu" - }, - { - "type": "NOACTION", - "action": "proident aliquip sint ipsum cupidatat", - "keyEncryptionAlgo": "voluptate", - "contentEncryptionAlgo": "sint amet", - "signatureAlgorithm": "Excepteur deserunt mollit", - "sourceRegex": "voluptate culpa", - "transformedRegex": "Excepteur", - "target": "incididunt elit" - }, - { - "type": "NOACTION", - "action": "exercitation proident", - "keyEncryptionAlgo": "irure aliquip eiusmod minim", - "contentEncryptionAlgo": "anim", - "signatureAlgorithm": "nisi aliquip", - "sourceRegex": "mollit sunt", - "transformedRegex": "Lorem deserunt irure", - "target": "sed dolore" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "Ut voluptate elit", - "keyEncryptionAlgo": "ullamco in dolore", - "contentEncryptionAlgo": "magna dolore laboris", - "signatureAlgorithm": "non aliqua adipisicing sint", - "sourceRegex": "Ut minim aliqua ad sed", - "transformedRegex": "id eius", - "target": "Duis voluptate sint reprehenderit" - }, - { - "type": "NOACTION", - "action": "velit tempor eiusmod aliqua dolore", - "keyEncryptionAlgo": "ut id", - "contentEncryptionAlgo": "eiusmod dolore", - "signatureAlgorithm": "minim adipisicing", - "sourceRegex": "cupidatat non occaecat Excepteur ullamco", - "transformedRegex": "eiusmod Ut", - "target": "ullamco" - }, - { - "type": "NOACTION", - "action": "in", - "keyEncryptionAlgo": "sint culpa in consequat", - "contentEncryptionAlgo": "do", - "signatureAlgorithm": "exercitation quis", - "sourceRegex": "magna consectetur dolore ", - "transformedRegex": "veniam Duis con", - "target": "eu nostrud m" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "Duis anim", - "keyEncryptionAlgo": "Ut", - "contentEncryptionAlgo": "incididunt voluptate ", - "signatureAlgorithm": "tempor ", - "sourceRegex": "fugiat", - "transformedRegex": "consequat qui pariatur", - "target": "esse mollit est tempor" - }, - { - "type": "NOACTION", - "action": "commodo ullamco s", - "keyEncryptionAlgo": "et veniam eu ", - "contentEncryptionAlgo": "eu ut dolor nostrud", - "signatureAlgorithm": "dolore adipisicing sunt officia non", - "sourceRegex": "", - "transformedRegex": "sint", - "target": "dolore" - }, - { - "type": "NOACTION", - "action": "aliquip qui dolor dolore culpa", - "keyEncryptionAlgo": "eiusmod Lorem consectetur fugiat anim", - "contentEncryptionAlgo": "laborum Excepteur labore", - "signatureAlgorithm": "et esse exercitation dolor", - "sourceRegex": "magna esse", - "transformedRegex": "irure dolore", - "target": "tempor dolore Ut eu" - } - ], - "tableUpsertInfo": [ - { - "table": "irure eiusmod", - "column": "officia eiusmod velit" - }, - { - "table": "nisi tempor anim", - "column": "et ullamco culpa" - }, - { - "table": "ullamco", - "column": "pariatur magna proident voluptate" - } - ] - }, - { - "path": "est dolor cupidatat et a", - "method": "est id deserunt amet", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "veniam aliquip", - "table": "dolore", - "column": "irure officia sint nostrud", - "dataSelector": "aute Duis Excepteur ea cillum", - "dataSelectorRegex": "do id qui nulla", - "transformFormat": "et fugiat magna dolore", - "encryptionType": "commodo do velit pariatur", - "redaction": "DEFAULT", - "sourceRegex": "sed enim Ut anim", - "transformedRegex": "nostrud do fugiat nulla" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sed", - "table": "irure proident nulla", - "column": "laboris proident in non", - "dataSelector": "do minim sit adipisicing mollit", - "dataSelectorRegex": "aliquip occaecat nisi mollit ut", - "transformFormat": "magna deserunt in enim cillum", - "encryptionType": "enim qui consectetur", - "redaction": "DEFAULT", - "sourceRegex": "irure sunt qui laborum", - "transformedRegex": "irure quis nulla sed laborum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id", - "table": "qui sunt aliquip ad fugiat", - "column": "nostrud", - "dataSelector": "sed", - "dataSelectorRegex": "ex aliquip eu exercitation consectetur", - "transformFormat": "id qui esse eu", - "encryptionType": "nisi non qui", - "redaction": "DEFAULT", - "sourceRegex": "eiusmod ", - "transformedRegex": "exercitation" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "dolor Duis eiusmod cupidatat", - "table": "eiusmod", - "column": "in est sit exerci", - "dataSelector": "eu consectetur cillum", - "dataSelectorRegex": "amet", - "transformFormat": "reprehenderit Lorem cill", - "encryptionType": "l", - "redaction": "DEFAULT", - "sourceRegex": "sit laborum eiusmod Lorem consequat", - "transformedRegex": "Excepteur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eu", - "table": "proident cillum et", - "column": "tempor Excepteur do consequat amet", - "dataSelector": "quis", - "dataSelectorRegex": "eiusmod aliqua enim tempor elit", - "transformFormat": "aliqua ", - "encryptionType": "sit mollit ea", - "redaction": "DEFAULT", - "sourceRegex": "nisi est", - "transformedRegex": "reprehenderit dolor mollit occaecat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ex in consequat consectetur", - "table": "voluptate Ut nulla", - "column": "comm", - "dataSelector": "enim et sunt", - "dataSelectorRegex": "ullamco consectetur", - "transformFormat": "sed Lorem labor", - "encryptionType": "nulla labore pariatur cupidatat", - "redaction": "DEFAULT", - "sourceRegex": "ullamco culpa", - "transformedRegex": "fugiat in" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "est", - "table": "aliquip esse", - "column": "in", - "dataSelector": "fugiat exercitation deser", - "dataSelectorRegex": "in", - "transformFormat": "consectetur irure quis adipisicing", - "encryptionType": "occaecat do", - "redaction": "DEFAULT", - "sourceRegex": "do qui reprehenderit exercitation adipisicing", - "transformedRegex": "dolore ut" - }, - { - "action": "NOT_SELECTED", - "fieldName": "tempor", - "table": "ad", - "column": "enim sit aute anim cupidatat", - "dataSelector": "minim", - "dataSelectorRegex": "incididunt sed enim non", - "transformFormat": "consectetur", - "encryptionType": "in velit", - "redaction": "DEFAULT", - "sourceRegex": "nisi reprehenderit sit adipisicing", - "transformedRegex": "aliqua adipisicing do nulla" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ex est ut tempor", - "table": "dolore sint occaecat in", - "column": "exercitation sunt", - "dataSelector": "ut do", - "dataSelectorRegex": "fugiat laborum dolor", - "transformFormat": "sint reprehende", - "encryptionType": "qui reprehenderit magna", - "redaction": "DEFAULT", - "sourceRegex": "fugiat est", - "transformedRegex": "nostrud sit" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "commodo", - "table": "elit minim aliqua enim laborum", - "column": "minim ea eiusmod officia", - "dataSelector": "dolore minim qui veniam pariatur", - "dataSelectorRegex": "dolor officia", - "transformFormat": "l", - "encryptionType": "incididunt adipisicing d", - "redaction": "DEFAULT", - "sourceRegex": "pariatur irure laborum Excepteur fugiat", - "transformedRegex": "commodo deserunt" - }, - { - "action": "NOT_SELECTED", - "fieldName": "do fugiat", - "table": "minim", - "column": "a", - "dataSelector": "dolore do", - "dataSelectorRegex": "ea ut dolor", - "transformFormat": "et", - "encryptionType": "consequat", - "redaction": "DEFAULT", - "sourceRegex": "et laboris aute ex", - "transformedRegex": "minim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "exercitation dolor voluptate anim", - "table": "elit labore anim tempor ad", - "column": "eiusmod minim veniam in laboris", - "dataSelector": "consequat", - "dataSelectorRegex": "Ut in magna", - "transformFormat": "in voluptate", - "encryptionType": "elit velit", - "redaction": "DEFAULT", - "sourceRegex": "in incididunt Ut ea", - "transformedRegex": "ut et aliquip ipsum exercitation" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "laborum ea consectetur ", - "table": "quis eu", - "column": "irure", - "dataSelector": "occaecat in et", - "dataSelectorRegex": "re", - "transformFormat": "nostrud velit sit tempor", - "encryptionType": "nostrud l", - "redaction": "DEFAULT", - "sourceRegex": "dolor in", - "transformedRegex": "eu sunt aliqua esse" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolore", - "table": "est qui veniam t", - "column": "sint aliqua", - "dataSelector": "in in cillum officia", - "dataSelectorRegex": "sed", - "transformFormat": "nostrud", - "encryptionType": "ut cupidatat dolor labore ex", - "redaction": "DEFAULT", - "sourceRegex": "nisi ut", - "transformedRegex": "ullamco anim dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "cillum enim", - "table": "dolor ea ullamco", - "column": "mollit", - "dataSelector": "qui sunt", - "dataSelectorRegex": "anim culpa", - "transformFormat": "cillum ad occaecat", - "encryptionType": "officia quis tem", - "redaction": "DEFAULT", - "sourceRegex": "no", - "transformedRegex": "qui ex veniam" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing mollit n", - "table": "ipsum Lorem dolor", - "column": "Lorem mollit exercitation laboris", - "dataSelector": "officia esse nisi aliquip", - "dataSelectorRegex": "deserunt elit in tempo", - "transformFormat": "pariatur ut qui", - "encryptionType": "commodo occaecat in", - "redaction": "DEFAULT", - "sourceRegex": "magna", - "transformedRegex": "velit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "deserunt ex eiusmod", - "table": "sit Duis ", - "column": "incididunt dolor commodo veniam cupidatat", - "dataSelector": "ut veniam dolor deserunt in", - "dataSelectorRegex": "amet officia", - "transformFormat": "quis magna", - "encryptionType": "reprehenderit dolor anim proident", - "redaction": "DEFAULT", - "sourceRegex": "velit elit", - "transformedRegex": "incididu" - }, - { - "action": "NOT_SELECTED", - "fieldName": "reprehenderit ipsum veniam qui velit", - "table": "aute in", - "column": "consectetur ea qui Duis", - "dataSelector": "proident aliquip", - "dataSelectorRegex": "labore Duis", - "transformFormat": "do aute", - "encryptionType": "do reprehenderit dolor", - "redaction": "DEFAULT", - "sourceRegex": "ex et laborum", - "transformedRegex": "Ut amet laboris occaecat" - } - ], - "name": "in cillum dolore sit quis", - "description": "in nulla dolor", - "soapAction": "in officia adipisicing", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "culpa Ut labore Duis", - "keyEncryptionAlgo": "Duis ullamco eu ad dolor", - "contentEncryptionAlgo": "voluptate tempor Duis cupidatat", - "signatureAlgorithm": "veniam exercitation culpa consectetur", - "sourceRegex": "quis nisi", - "transformedRegex": "laboris proident cillum laborum dolore", - "target": "nisi veniam ea in consequat" - }, - { - "type": "NOACTION", - "action": "Duis o", - "keyEncryptionAlgo": "dolor commodo in quis aliquip", - "contentEncryptionAlgo": "in eiusmod ullamco aliquip Duis", - "signatureAlgorithm": "in", - "sourceRegex": "cillum occaecat proident Lorem nostrud", - "transformedRegex": "dolore incididunt f", - "target": "consectetur enim" - }, - { - "type": "NOACTION", - "action": "nostrud dolor magna nulla", - "keyEncryptionAlgo": "est fugiat", - "contentEncryptionAlgo": "commodo in fugiat", - "signatureAlgorithm": "consequat veniam velit laboris mollit", - "sourceRegex": "quis et", - "transformedRegex": "Excepteur", - "target": "nostrud minim Ut do" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "esse sed", - "keyEncryptionAlgo": "veniam", - "contentEncryptionAlgo": "ad anim Lorem Ut eu", - "signatureAlgorithm": "consequat", - "sourceRegex": "n", - "transformedRegex": "minim elit in est irure", - "target": "magna el" - }, - { - "type": "NOACTION", - "action": "pariatur sint reprehenderit", - "keyEncryptionAlgo": "dolor", - "contentEncryptionAlgo": "tempor dolor laboris ame", - "signatureAlgorithm": "ad magna ea", - "sourceRegex": "nisi", - "transformedRegex": "sit", - "target": "elit aute in nisi" - }, - { - "type": "NOACTION", - "action": "cupidatat voluptate id", - "keyEncryptionAlgo": "Lorem cillum", - "contentEncryptionAlgo": "ea", - "signatureAlgorithm": "magna dolore", - "sourceRegex": "ut dolore ex elit esse", - "transformedRegex": "nisi", - "target": "ipsum esse" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "fugiat", - "keyEncryptionAlgo": "dolor", - "contentEncryptionAlgo": "velit cillum in reprehenderit pariatur", - "signatureAlgorithm": "occaecat nulla magna sed sit", - "sourceRegex": "commodo eiu", - "transformedRegex": "exercitation aliqua sed dolore nostrud", - "target": "culpa voluptate esse velit minim" - }, - { - "type": "NOACTION", - "action": "minim eu pariatur dolore", - "keyEncryptionAlgo": "do consequat nostrud dolore ea", - "contentEncryptionAlgo": "", - "signatureAlgorithm": "pariatur ut ullamco in", - "sourceRegex": "ipsum deserunt", - "transformedRegex": "ex proident", - "target": "deserunt" - }, - { - "type": "NOACTION", - "action": "amet aliquip ut officia occaecat", - "keyEncryptionAlgo": "reprehenderit ullamco", - "contentEncryptionAlgo": "veniam aliquip voluptate qui", - "signatureAlgorithm": "cil", - "sourceRegex": "mollit ut esse sed", - "transformedRegex": "sed ", - "target": "sit ut laboris Ut nulla" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "dolor", - "keyEncryptionAlgo": "proident ea do", - "contentEncryptionAlgo": "fugiat eu pariatur cillum", - "signatureAlgorithm": "consequat", - "sourceRegex": "esse velit", - "transformedRegex": "dolor", - "target": "aute Excepteur velit" - }, - { - "type": "NOACTION", - "action": "occaeca", - "keyEncryptionAlgo": "cupidatat tempor", - "contentEncryptionAlgo": "ea minim", - "signatureAlgorithm": "irure deserunt minim in esse", - "sourceRegex": "Lorem", - "transformedRegex": "Excepteur enim esse", - "target": "occaecat Ut dolore cupidatat consectetur" - }, - { - "type": "NOACTION", - "action": "amet con", - "keyEncryptionAlgo": "mollit u", - "contentEncryptionAlgo": "dolore in exercitation magna", - "signatureAlgorithm": "voluptate sint", - "sourceRegex": "", - "transformedRegex": "culpa tempor ex proident exercitation", - "target": "laborum ad" - } - ], - "tableUpsertInfo": [ - { - "table": "occaecat dolore magna amet", - "column": "eu reprehenderit" - }, - { - "table": "id Duis in", - "column": "esse ut" - }, - { - "table": "ad voluptate eiusmod aliquip labore", - "column": "officia nulla aliqua" - } - ] - } - ], - "authMode": "NOAUTH", - "description": "qui Duis do sed est", - "BasicAudit": { - "CreatedBy": "eu est ipsum proident", - "LastModifiedBy": "laboris ullamco", - "CreatedOn": "consectetur", - "LastModifiedOn": "amet et aliqua veniam adipisicing" - }, - "denyPassThrough": true, - "formEncodedKeysPassThrough": true - }, - { - "ID": "pariatu", - "name": "c", - "baseURL": "ullamco dolor do Lorem cil", - "vaultID": "commodo irure", - "routes": [ - { - "path": "exercitation cillum", - "method": "qui", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "officia consequat minim tempor exercitation", - "table": "aliqua sed nulla ullamco", - "column": "anim esse velit", - "dataSelector": "dolore", - "dataSelectorRegex": "dolore irure", - "transformFormat": "consectetur rep", - "encryptionType": "sint officia enim", - "redaction": "DEFAULT", - "sourceRegex": "aliqua Lorem ips", - "transformedRegex": "est" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolor enim adipisicing", - "table": "culpa reprehenderit est Duis amet", - "column": "consectetur nisi mollit", - "dataSelector": "non id", - "dataSelectorRegex": "quis", - "transformFormat": "eiusmod occaecat ut a", - "encryptionType": "aliquip sint", - "redaction": "DEFAULT", - "sourceRegex": "tempor ullamco adipisicing et quis", - "transformedRegex": "dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolore culpa pariatur laboris tempor", - "table": "consequat", - "column": "cupidatat enim est amet ullamco", - "dataSelector": "enim", - "dataSelectorRegex": "in in sed esse Duis", - "transformFormat": "sint a", - "encryptionType": "est voluptate elit c", - "redaction": "DEFAULT", - "sourceRegex": "ut", - "transformedRegex": "cillum" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "in ullamco dolore veniam", - "table": "sit nulla dolore adipisicing", - "column": "exercitation anim minim do occaecat", - "dataSelector": "fugiat q", - "dataSelectorRegex": "ullamco eiusmod", - "transformFormat": "reprehenderit", - "encryptionType": "pariatur labore in co", - "redaction": "DEFAULT", - "sourceRegex": "proident", - "transformedRegex": "aute" - }, - { - "action": "NOT_SELECTED", - "fieldName": "nulla ani", - "table": "aliqua cupidatat dolor dolore eu", - "column": "veniam", - "dataSelector": "sunt commodo", - "dataSelectorRegex": "aut", - "transformFormat": "aute incididunt", - "encryptionType": "reprehenderit ullamco", - "redaction": "DEFAULT", - "sourceRegex": "eu tempor aliqua", - "transformedRegex": "magna elit adipisici" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eu est minim proident", - "table": "veniam voluptate", - "column": "velit", - "dataSelector": "anim Excepteur", - "dataSelectorRegex": "nulla laborum", - "transformFormat": "Lorem dolor", - "encryptionType": "Lorem Ut ad anim", - "redaction": "DEFAULT", - "sourceRegex": "ipsum ad minim", - "transformedRegex": "ullamco amet dolore nisi eu" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "non eu incididunt", - "table": "aliquip nostrud", - "column": "Excepteur culpa Lorem consequat dolor", - "dataSelector": "ut id ex incididunt", - "dataSelectorRegex": "est sunt amet anim", - "transformFormat": "eiusmod", - "encryptionType": "incididunt cupidatat ad do", - "redaction": "DEFAULT", - "sourceRegex": "elit", - "transformedRegex": "id veniam commodo sit amet" - }, - { - "action": "NOT_SELECTED", - "fieldName": "est occaecat", - "table": "incididu", - "column": "aliquip", - "dataSelector": "Excepteur ut laboris mollit et", - "dataSelectorRegex": "in", - "transformFormat": "Excepteur ex eu", - "encryptionType": "in officia L", - "redaction": "DEFAULT", - "sourceRegex": "Lorem dolore dolore laborum ut", - "transformedRegex": "veniam sint proident laboris ut" - }, - { - "action": "NOT_SELECTED", - "fieldName": "velit officia aliquip veniam", - "table": "sint aute enim", - "column": "aute labor", - "dataSelector": "nulla fugiat deserunt officia", - "dataSelectorRegex": "veniam ea", - "transformFormat": "nulla", - "encryptionType": "ut officia ad", - "redaction": "DEFAULT", - "sourceRegex": "occaecat elit dolor sunt", - "transformedRegex": "commodo pariatur sunt culpa" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "Duis", - "table": "dolor", - "column": "cillum proident minim in", - "dataSelector": "laborum sint", - "dataSelectorRegex": "Lorem dolore nisi et", - "transformFormat": "esse Excepteur", - "encryptionType": "veniam in Excepteur ut", - "redaction": "DEFAULT", - "sourceRegex": "laborum", - "transformedRegex": "eu dolor ea" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id", - "table": "cup", - "column": "velit sit officia consectetur nostrud", - "dataSelector": "veniam occaecat aliquip ad", - "dataSelectorRegex": "do Lorem magna ipsum aliqua", - "transformFormat": "sint consectetur veniam id", - "encryptionType": "ipsum", - "redaction": "DEFAULT", - "sourceRegex": "culpa nostrud adipisicing do occae", - "transformedRegex": "dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing consec", - "table": "nostrud dolor id", - "column": "et proident incididunt id Excepteur", - "dataSelector": "cillum Lorem irure dolore qui", - "dataSelectorRegex": "culpa consequat sint", - "transformFormat": "proident fugiat", - "encryptionType": "qui", - "redaction": "DEFAULT", - "sourceRegex": "esse ex nostrud nisi laborum", - "transformedRegex": "tempor et velit adipisicing" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "commodo dolore minim officia", - "table": "ea cupidatat eu tempor", - "column": "sit exercitation veniam minim", - "dataSelector": "ut anim", - "dataSelectorRegex": "in", - "transformFormat": "in exercitation ex aliquip Ut", - "encryptionType": "in", - "redaction": "DEFAULT", - "sourceRegex": "Lorem eiusmod", - "transformedRegex": "culpa" - }, - { - "action": "NOT_SELECTED", - "fieldName": "proident ad labore anim", - "table": "deserunt quis aliqua enim sint", - "column": "aliqua pariatur ut commodo", - "dataSelector": "minim nostrud velit sit dolor", - "dataSelectorRegex": "nostrud", - "transformFormat": "anim aliquip elit", - "encryptionType": "ut labore", - "redaction": "DEFAULT", - "sourceRegex": "aute dolore cul", - "transformedRegex": "labore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sint est aliquip incididunt reprehenderit", - "table": "eu Ut ea do", - "column": "qu", - "dataSelector": "in ipsum", - "dataSelectorRegex": "dolor ut minim enim laborum", - "transformFormat": "sed laborum ipsum qui exercitation", - "encryptionType": "deserunt occaecat proiden", - "redaction": "DEFAULT", - "sourceRegex": "pariatur irure elit enim", - "transformedRegex": "elit aliquip Ut" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "occaecat aliquip officia commodo incididunt", - "table": "adipisicing dolor", - "column": "anim incididunt deserunt reprehenderit enim", - "dataSelector": "quis ea", - "dataSelectorRegex": "mollit nu", - "transformFormat": "commodo sunt ipsum dolore aute", - "encryptionType": "ut velit reprehenderit Duis laborum", - "redaction": "DEFAULT", - "sourceRegex": "reprehenderit minim ea", - "transformedRegex": "magn" - }, - { - "action": "NOT_SELECTED", - "fieldName": "reprehenderit ad aliqua veniam", - "table": "quis Ut", - "column": "ut", - "dataSelector": "aute tempor", - "dataSelectorRegex": "dolore nulla tempor", - "transformFormat": "mollit cupidatat", - "encryptionType": "veniam do culpa anim incididunt", - "redaction": "DEFAULT", - "sourceRegex": "ut voluptate nisi", - "transformedRegex": "cupidatat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "minim ", - "table": "exercitation", - "column": "veniam", - "dataSelector": "irure", - "dataSelectorRegex": "id anim", - "transformFormat": "dolore nulla", - "encryptionType": "reprehenderit aute sed ", - "redaction": "DEFAULT", - "sourceRegex": "nisi pariatur reprehenderit", - "transformedRegex": "minim proident Excepteur Lorem sunt" - } - ], - "name": "laborum qui", - "description": "e", - "soapAction": "qui veniam ut", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "adipisicing consectetur ullamco", - "keyEncryptionAlgo": "nisi consequat", - "contentEncryptionAlgo": "Excepteur", - "signatureAlgorithm": "nostrud", - "sourceRegex": "non voluptate", - "transformedRegex": "in non mollit incididunt", - "target": "amet enim Lorem laborum Duis" - }, - { - "type": "NOACTION", - "action": "consequat id", - "keyEncryptionAlgo": "mollit", - "contentEncryptionAlgo": "consectetur consequat", - "signatureAlgorithm": "eiusmod cupidatat in ad quis", - "sourceRegex": "eiusmod et in qui", - "transformedRegex": "sit minim pariatur", - "target": "minim et" - }, - { - "type": "NOACTION", - "action": "dolore", - "keyEncryptionAlgo": "sit laborum", - "contentEncryptionAlgo": "cupidatat Duis sint", - "signatureAlgorithm": "anim tempor aliqua iru", - "sourceRegex": "eu labore", - "transformedRegex": "proident tempor voluptate", - "target": "nulla laborum dolore" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "Dui", - "keyEncryptionAlgo": "ut magna ad sed", - "contentEncryptionAlgo": "magna", - "signatureAlgorithm": "deserun", - "sourceRegex": "aute si", - "transformedRegex": "officia cillum", - "target": "laboris anim labore sit e" - }, - { - "type": "NOACTION", - "action": "et", - "keyEncryptionAlgo": "adipisicing consequat ut Ut", - "contentEncryptionAlgo": "laborum mollit", - "signatureAlgorithm": "laborum sun", - "sourceRegex": "Ut", - "transformedRegex": "mollit in", - "target": "enim sed mollit" - }, - { - "type": "NOACTION", - "action": "enim sunt", - "keyEncryptionAlgo": "Excepteur cu", - "contentEncryptionAlgo": "consectetur", - "signatureAlgorithm": "sint eli", - "sourceRegex": "in nisi aliqua", - "transformedRegex": "est laborum", - "target": "pariatur consequat Duis in amet" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "dolor id minim labore", - "keyEncryptionAlgo": "veniam velit ut exercitation", - "contentEncryptionAlgo": "sit reprehenderit a", - "signatureAlgorithm": "dolor et aliquip Lorem velit", - "sourceRegex": "reprehenderit et nostrud fugiat id", - "transformedRegex": "minim sunt", - "target": "reprehenderit" - }, - { - "type": "NOACTION", - "action": "sit", - "keyEncryptionAlgo": "voluptate velit co", - "contentEncryptionAlgo": "elit ullamco officia tempor", - "signatureAlgorithm": "qui fugiat", - "sourceRegex": "esse pariatur non nulla amet", - "transformedRegex": "tempor velit anim ut labore", - "target": "sed eu" - }, - { - "type": "NOACTION", - "action": "proident esse sint", - "keyEncryptionAlgo": "sed", - "contentEncryptionAlgo": "tempor", - "signatureAlgorithm": "ea", - "sourceRegex": "adipisicing aliqua", - "transformedRegex": "officia magna", - "target": "ipsum sit ut aliquip" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "labor", - "keyEncryptionAlgo": "id deserunt consequat", - "contentEncryptionAlgo": "in dolore cupidatat dolore", - "signatureAlgorithm": "culpa", - "sourceRegex": "aliqua laborum magna", - "transformedRegex": "anim magna", - "target": "dolore sint" - }, - { - "type": "NOACTION", - "action": "consectetur", - "keyEncryptionAlgo": "consequat amet", - "contentEncryptionAlgo": "culpa aliquip cillum", - "signatureAlgorithm": "sunt incididunt aliqua officia", - "sourceRegex": "reprehenderit dolor ut in voluptate", - "transformedRegex": "sit est deserunt amet non", - "target": "ipsum" - }, - { - "type": "NOACTION", - "action": "labore", - "keyEncryptionAlgo": "eiusmod aute ", - "contentEncryptionAlgo": "est exercitation", - "signatureAlgorithm": "sed Duis exerci", - "sourceRegex": "", - "transformedRegex": "sunt laborum irure nostrud cillum", - "target": "aliqua ut dolor dolore" - } - ], - "tableUpsertInfo": [ - { - "table": "officia anim in irure", - "column": "deserunt est fugiat sint dolor" - }, - { - "table": "non dolore", - "column": "aute" - }, - { - "table": "ex", - "column": "fugiat eu" - } - ] - }, - { - "path": "id occaecat", - "method": "ipsum ", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "velit adipisicing pariatur", - "table": "et dolor amet", - "column": "consectetur non si", - "dataSelector": "voluptate dolore pariatur", - "dataSelectorRegex": "occaecat ut", - "transformFormat": "aliquip culpa lab", - "encryptionType": "veniam esse aliquip", - "redaction": "DEFAULT", - "sourceRegex": "do veli", - "transformedRegex": "tempor ea nisi est esse" - }, - { - "action": "NOT_SELECTED", - "fieldName": "mollit sit adipisicing est", - "table": "eiusmod ut minim", - "column": "eiusmod magna non aliquip officia", - "dataSelector": "officia", - "dataSelectorRegex": "in Lore", - "transformFormat": "non Duis", - "encryptionType": "dolor qui", - "redaction": "DEFAULT", - "sourceRegex": "ad ut", - "transformedRegex": "ad" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sed", - "table": "nisi reprehenderit fugiat", - "column": "ut", - "dataSelector": "sit Duis in fugiat", - "dataSelectorRegex": "fugiat", - "transformFormat": "minim", - "encryptionType": "non culp", - "redaction": "DEFAULT", - "sourceRegex": "mollit commodo", - "transformedRegex": "ex nul" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "ut sint exercitation qui", - "table": "irure", - "column": "aliquip dolore est nulla", - "dataSelector": "est ad", - "dataSelectorRegex": "sit exercitation dolor", - "transformFormat": "ut Ut cupidatat", - "encryptionType": "culpa", - "redaction": "DEFAULT", - "sourceRegex": "est", - "transformedRegex": "in ipsum laborum ad aliqui" - }, - { - "action": "NOT_SELECTED", - "fieldName": "of", - "table": "do sed sint nulla", - "column": "ipsum", - "dataSelector": "mollit qui ex", - "dataSelectorRegex": "reprehenderit et dolor", - "transformFormat": "culpa commodo Ut magna pariatur", - "encryptionType": "magna ex", - "redaction": "DEFAULT", - "sourceRegex": "laboris tempor", - "transformedRegex": "consequat eu veniam" - }, - { - "action": "NOT_SELECTED", - "fieldName": "qui officia", - "table": "nulla consectetur dolore enim", - "column": "amet aute", - "dataSelector": "ad dolor do sit in", - "dataSelectorRegex": "adipisicing voluptate deserunt", - "transformFormat": "sit sunt dolor", - "encryptionType": "eiusmod dolore eu", - "redaction": "DEFAULT", - "sourceRegex": "occaecat aliquip in pariatur dolore", - "transformedRegex": "eu ut veniam culpa sint" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "id aliquip qui ", - "table": "sint", - "column": "mollit eu irure consequat", - "dataSelector": "ipsum tempor", - "dataSelectorRegex": "ipsum ea voluptate sit", - "transformFormat": "esse amet", - "encryptionType": "dolor non cupidatat", - "redaction": "DEFAULT", - "sourceRegex": "commodo Ut voluptate consequat", - "transformedRegex": "qui minim adipisicing dolore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "quis ut ex culpa", - "table": "sed est dolor in in", - "column": "anim ea", - "dataSelector": "ad", - "dataSelectorRegex": "ad nulla nisi qui quis", - "transformFormat": "ut culpa nulla laboris in", - "encryptionType": "aliqua ut culpa laboris amet", - "redaction": "DEFAULT", - "sourceRegex": "est tempor ea minim nulla", - "transformedRegex": "culpa ad qui" - }, - { - "action": "NOT_SELECTED", - "fieldName": "amet commodo labore consequat reprehenderit", - "table": "eiusmod sint", - "column": "Lorem elit", - "dataSelector": "officia occaecat voluptate ad", - "dataSelectorRegex": "mollit sunt nulla labore cupidatat", - "transformFormat": "ex do dolor cupidatat", - "encryptionType": "ut laboris", - "redaction": "DEFAULT", - "sourceRegex": "anim esse", - "transformedRegex": "nulla" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "anim veniam ut adipisicin", - "table": "enim exercitation nulla reprehenderit ex", - "column": "id dolor dolore", - "dataSelector": "consectetur sit cillum", - "dataSelectorRegex": "est dolore ut irure", - "transformFormat": "officia sunt qui", - "encryptionType": "eu adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "reprehenderit culpa veniam pariatur", - "transformedRegex": "cupidatat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "nulla incididunt ", - "table": "qui commodo ut dolor", - "column": "ea exercitation", - "dataSelector": "deserunt", - "dataSelectorRegex": "sint mollit", - "transformFormat": "minim ea voluptate exercitation ullamco", - "encryptionType": "incididunt aliquip nulla Lorem est", - "redaction": "DEFAULT", - "sourceRegex": "aute magna cupidatat", - "transformedRegex": "culpa amet es" - }, - { - "action": "NOT_SELECTED", - "fieldName": "commodo et", - "table": "dolore Lorem do", - "column": "do Ut in sint", - "dataSelector": "occaeca", - "dataSelectorRegex": "dolore aliquip et", - "transformFormat": "minim fugiat ad nisi", - "encryptionType": "deserunt", - "redaction": "DEFAULT", - "sourceRegex": "magna sint dolor ea dolore", - "transformedRegex": "ipsum" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "sit labore", - "table": "non et", - "column": "cillum eu deserunt dolor", - "dataSelector": "non Ut ipsum occaecat", - "dataSelectorRegex": "Ut", - "transformFormat": "officia do", - "encryptionType": "ad", - "redaction": "DEFAULT", - "sourceRegex": "id dolor", - "transformedRegex": "id nulla" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ad mollit nulla", - "table": "esse quis minim incididunt id", - "column": "veniam dolore", - "dataSelector": "Duis pariatur voluptate non", - "dataSelectorRegex": "Excepteur", - "transformFormat": "quis pariatur", - "encryptionType": "nulla", - "redaction": "DEFAULT", - "sourceRegex": "dolore ipsum qui ", - "transformedRegex": "irure" - }, - { - "action": "NOT_SELECTED", - "fieldName": "fugiat in", - "table": "laboris ut", - "column": "laborum incididunt labore deserunt", - "dataSelector": "Ex", - "dataSelectorRegex": "dolore incididunt ex", - "transformFormat": "elit veniam", - "encryptionType": "ut mollit eiusmod proident consectetur", - "redaction": "DEFAULT", - "sourceRegex": "Lorem Excepteur culpa dolore laborum", - "transformedRegex": "aute sint Lorem velit amet" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "dolore ut in nisi", - "table": "am", - "column": "tempor ea in proident", - "dataSelector": "deserunt", - "dataSelectorRegex": "magna", - "transformFormat": "ut id cillum in ad", - "encryptionType": "irure ex", - "redaction": "DEFAULT", - "sourceRegex": "incididunt esse", - "transformedRegex": "aute Duis dolor deserunt laboris" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sed dolor eu", - "table": "incididunt su", - "column": "irure", - "dataSelector": "dolor ea et", - "dataSelectorRegex": "amet reprehenderit", - "transformFormat": "id elit in", - "encryptionType": "consequat eiusmod Excepteur non", - "redaction": "DEFAULT", - "sourceRegex": "labore deserunt velit", - "transformedRegex": "est dolore aute cillum consectetur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aliqua mollit non occaecat minim", - "table": "magna Ut sit eu ea", - "column": "Ut voluptate sint aliquip dolore", - "dataSelector": "n", - "dataSelectorRegex": "culpa mollit consectetur", - "transformFormat": "Duis dolore tempor nostrud occaecat", - "encryptionType": "in consequat non labore ipsu", - "redaction": "DEFAULT", - "sourceRegex": "culpa", - "transformedRegex": "qui" - } - ], - "name": "exercitation Excepteur nulla culpa fugiat", - "description": "magna eu", - "soapAction": "elit sed", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "exercitation", - "keyEncryptionAlgo": "pariatur consequat", - "contentEncryptionAlgo": "in consectetur quis mollit", - "signatureAlgorithm": "fugiat nulla ea anim id", - "sourceRegex": "nulla commodo aute veniam", - "transformedRegex": "consectetur officia", - "target": "commodo iru" - }, - { - "type": "NOACTION", - "action": "sunt magna", - "keyEncryptionAlgo": "irure occaecat et consequat dolor", - "contentEncryptionAlgo": "amet", - "signatureAlgorithm": "min", - "sourceRegex": "ex pariatur irure nisi voluptate", - "transformedRegex": "dolor tempor", - "target": "nisi" - }, - { - "type": "NOACTION", - "action": "quis", - "keyEncryptionAlgo": "occaecat voluptate in", - "contentEncryptionAlgo": "in et Excepteur irure aute", - "signatureAlgorithm": "non ut", - "sourceRegex": "eiusmod ullamco ea irure", - "transformedRegex": "ullamco deserunt", - "target": "adipisicing ex" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "culpa", - "keyEncryptionAlgo": "ut", - "contentEncryptionAlgo": "ea voluptate nulla officia occaecat", - "signatureAlgorithm": "Lorem ad laborum dolore", - "sourceRegex": "tempor anim", - "transformedRegex": "eiusmod labore dolor et ea", - "target": "enim" - }, - { - "type": "NOACTION", - "action": "eu occaecat proident anim cupidatat", - "keyEncryptionAlgo": "sit", - "contentEncryptionAlgo": "dolore deserunt", - "signatureAlgorithm": "eiusmod sunt ex Except", - "sourceRegex": "nulla et Lorem", - "transformedRegex": "aute commodo mollit anim ipsum", - "target": "ipsum non mollit" - }, - { - "type": "NOACTION", - "action": "mollit qui elit tempor sit", - "keyEncryptionAlgo": "non", - "contentEncryptionAlgo": "enim ut ut irure minim", - "signatureAlgorithm": "sunt ut Excepteur aute", - "sourceRegex": "cupidatat sint dolore commodo esse", - "transformedRegex": "non eiusmod lab", - "target": "officia" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "dolore", - "keyEncryptionAlgo": "cillum in", - "contentEncryptionAlgo": "cillum veniam Lorem", - "signatureAlgorithm": "pariatur qui magna incididunt ", - "sourceRegex": "est", - "transformedRegex": "sunt", - "target": "sint occaecat consequat magna" - }, - { - "type": "NOACTION", - "action": "et mollit", - "keyEncryptionAlgo": "Excepteur do elit eiusmod", - "contentEncryptionAlgo": "ipsum sunt", - "signatureAlgorithm": "elit dolore", - "sourceRegex": "sint consequat magna", - "transformedRegex": "eu aliquip minim", - "target": "ipsum" - }, - { - "type": "NOACTION", - "action": "exercitation", - "keyEncryptionAlgo": "cupidatat ", - "contentEncryptionAlgo": "Duis adipisicing cillum cupidatat Excepteur", - "signatureAlgorithm": "consectetur", - "sourceRegex": "dolor ad laborum anim sit", - "transformedRegex": "commodo et magna nisi velit", - "target": "dolore" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "deserunt", - "keyEncryptionAlgo": "do ipsum", - "contentEncryptionAlgo": "est magna cillum pariatur", - "signatureAlgorithm": "quis dolore eiusmod velit", - "sourceRegex": "veniam ut officia ", - "transformedRegex": "quis esse pariatur nulla", - "target": "in" - }, - { - "type": "NOACTION", - "action": "adipisici", - "keyEncryptionAlgo": "ea dolore voluptate quis veniam", - "contentEncryptionAlgo": "ad", - "signatureAlgorithm": "dolore exercitation", - "sourceRegex": "voluptate nulla Excepteur", - "transformedRegex": "dolor fugiat", - "target": "voluptate laboris " - }, - { - "type": "NOACTION", - "action": "labore sint", - "keyEncryptionAlgo": "aute ut qui occaecat", - "contentEncryptionAlgo": "do pro", - "signatureAlgorithm": "minim do mollit", - "sourceRegex": "quis consequat ut in anim", - "transformedRegex": "Lorem aute", - "target": "Excepteur" - } - ], - "tableUpsertInfo": [ - { - "table": "dolor dolore", - "column": "anim mollit reprehenderit Lorem pariatur" - }, - { - "table": "labore Excepteur sint ullamco", - "column": "pariatur quis" - }, - { - "table": "cillum occaecat consequat laboris", - "column": "ut consectetur reprehenderi" - } - ] - }, - { - "path": "reprehenderit Duis magna cupidatat irure", - "method": "veniam Excepteur in sed a", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "mollit", - "table": "do amet", - "column": "Lorem reprehend", - "dataSelector": "enim ", - "dataSelectorRegex": "eiusmod aliquip Ut irure est", - "transformFormat": "veniam ut amet", - "encryptionType": "commodo ex eiusmod", - "redaction": "DEFAULT", - "sourceRegex": "sint nostrud enim consequat", - "transformedRegex": "fugiat anim Excepteur voluptate consectetur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "minim m", - "table": "sed eiusmod L", - "column": "tempor", - "dataSelector": "culpa fugiat nostrud ad ex", - "dataSelectorRegex": "dolore", - "transformFormat": "ut irure minim pariatur qui", - "encryptionType": "non", - "redaction": "DEFAULT", - "sourceRegex": "ex Lorem", - "transformedRegex": "nulla veniam ipsum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in", - "table": "voluptate est do velit amet", - "column": "dol", - "dataSelector": "nulla velit aliqua", - "dataSelectorRegex": "non in in dolor sit", - "transformFormat": "reprehenderit quis", - "encryptionType": "do q", - "redaction": "DEFAULT", - "sourceRegex": "magna esse", - "transformedRegex": "eiusmod tempor in Ut non" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "in culpa Excepteur ullamco elit", - "table": "eu mollit", - "column": "officia sed cupidatat", - "dataSelector": "et", - "dataSelectorRegex": "cillum fugiat Excepteur", - "transformFormat": "consec", - "encryptionType": "quis dolor", - "redaction": "DEFAULT", - "sourceRegex": "do consectetur ut", - "transformedRegex": "culpa Excepteur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "nulla", - "table": "sed", - "column": "culpa sint sed in", - "dataSelector": "fugiat ad quis", - "dataSelectorRegex": "id officia non", - "transformFormat": "dolor ipsum cillum laborum", - "encryptionType": "do ea Ut ut", - "redaction": "DEFAULT", - "sourceRegex": "ullamco nulla sed f", - "transformedRegex": "dol" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eiusmod incididunt", - "table": "enim velit et", - "column": "voluptate", - "dataSelector": "in Excepteur", - "dataSelectorRegex": "ea", - "transformFormat": "est irure", - "encryptionType": "fugiat aliqua eu id", - "redaction": "DEFAULT", - "sourceRegex": "Duis in voluptate exercitation mollit", - "transformedRegex": "ma" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "cillum Ut in commodo", - "table": "esse dolore nulla quis", - "column": "dolor amet consequat", - "dataSelector": "quis ad amet", - "dataSelectorRegex": "velit dolor consequat sit", - "transformFormat": "aliqua in dolor dolore", - "encryptionType": "labore", - "redaction": "DEFAULT", - "sourceRegex": "ad labore occaecat ea", - "transformedRegex": "consequat ad culpa " - }, - { - "action": "NOT_SELECTED", - "fieldName": "eu", - "table": "tempor amet aliquip", - "column": "cillum", - "dataSelector": "ipsum", - "dataSelectorRegex": "nostrud", - "transformFormat": "dolor irure", - "encryptionType": "in", - "redaction": "DEFAULT", - "sourceRegex": "adipisicing sunt", - "transformedRegex": "veniam commodo" - }, - { - "action": "NOT_SELECTED", - "fieldName": "anim", - "table": "ipsum enim do voluptate sit", - "column": "Ut velit eiusmod adipisicing laboris", - "dataSelector": "irure dolore", - "dataSelectorRegex": "elit s", - "transformFormat": "ad", - "encryptionType": "ut", - "redaction": "DEFAULT", - "sourceRegex": "cupidatat cillum amet", - "transformedRegex": "esse est" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "culpa sint dolor", - "table": "non culpa laborum", - "column": "culpa dolor", - "dataSelector": "", - "dataSelectorRegex": "dolore ea mollit", - "transformFormat": "exercitation nisi dolore", - "encryptionType": "id velit amet", - "redaction": "DEFAULT", - "sourceRegex": "incididunt irure consequat reprehenderit ", - "transformedRegex": "cillum adipisicing" - }, - { - "action": "NOT_SELECTED", - "fieldName": "minim Ut ut", - "table": "incididunt Excepteur", - "column": "Duis esse ut", - "dataSelector": "eiusmod sint Excepteur reprehenderit", - "dataSelectorRegex": "magna velit eiusmod", - "transformFormat": "minim quis occaeca", - "encryptionType": "pariatur sunt nostrud ve", - "redaction": "DEFAULT", - "sourceRegex": "nulla enim", - "transformedRegex": "pariatur voluptate elit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "enim", - "table": "laborum qui", - "column": "laborum labore laboris voluptate enim", - "dataSelector": "amet reprehenderit in sit", - "dataSelectorRegex": "Ut ad officia", - "transformFormat": "l", - "encryptionType": "minim non pariatur in", - "redaction": "DEFAULT", - "sourceRegex": "ea minim nisi incididunt sint", - "transformedRegex": "sit laborum pariatur commodo et" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "consequat", - "table": "exercitation dolore dolor sit", - "column": "reprehenderit ullamco officia", - "dataSelector": "veniam", - "dataSelectorRegex": "cupidatat", - "transformFormat": "esse anim quis", - "encryptionType": "Ut Lorem", - "redaction": "DEFAULT", - "sourceRegex": "laboris", - "transformedRegex": "commodo nisi" - }, - { - "action": "NOT_SELECTED", - "fieldName": "q", - "table": "qui eiusmo", - "column": "irure", - "dataSelector": "adipisicing sint", - "dataSelectorRegex": "ex fugiat", - "transformFormat": "ea culpa", - "encryptionType": "occaecat est cupidatat si", - "redaction": "DEFAULT", - "sourceRegex": "dolore culpa", - "transformedRegex": "Duis labore do" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in anim", - "table": "qui fugiat nisi labor", - "column": "dolor aliquip ipsum laboris", - "dataSelector": "quis anim ullamco", - "dataSelectorRegex": "incididunt nisi", - "transformFormat": "dolor minim aliqua", - "encryptionType": "ad aliqua", - "redaction": "DEFAULT", - "sourceRegex": "voluptate esse Ut quis a", - "transformedRegex": "magna" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "magna enim dolore", - "table": "sunt consectetur elit tempor", - "column": "Excepteur cillum dolor fugiat", - "dataSelector": "do con", - "dataSelectorRegex": "ut", - "transformFormat": "ex aliqua consequat sit", - "encryptionType": "aliquip", - "redaction": "DEFAULT", - "sourceRegex": "sint mollit consectetur Ut", - "transformedRegex": "elit officia Excepteur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "est Excepteur", - "table": "mollit dolore ad dolor aliqua", - "column": "sunt ad ex consectetur", - "dataSelector": "irure nostrud qui et", - "dataSelectorRegex": "consequat", - "transformFormat": "eu in laboris aute", - "encryptionType": "eu ex sit mollit", - "redaction": "DEFAULT", - "sourceRegex": "esse adipisicing", - "transformedRegex": "amet qui ir" - }, - { - "action": "NOT_SELECTED", - "fieldName": "enim dolore commodo adipisicing nulla", - "table": "sed elit aliquip", - "column": "quis", - "dataSelector": "culpa cillum", - "dataSelectorRegex": "dolore", - "transformFormat": "labore", - "encryptionType": "cillum quis", - "redaction": "DEFAULT", - "sourceRegex": "veniam", - "transformedRegex": "tempor officia consectetur" - } - ], - "name": "nos", - "description": "dolore", - "soapAction": "deserunt", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "labore in in sint eu", - "keyEncryptionAlgo": "mollit commodo", - "contentEncryptionAlgo": "proident ullamco", - "signatureAlgorithm": "Duis sit sunt eu occaecat", - "sourceRegex": "nisi ipsum eiusmod", - "transformedRegex": "tempor irure non qui nulla", - "target": "consequat Excepteur sunt" - }, - { - "type": "NOACTION", - "action": "quis sint amet magna dolor", - "keyEncryptionAlgo": "laborum dolor culpa Ut", - "contentEncryptionAlgo": "incididunt", - "signatureAlgorithm": "eu", - "sourceRegex": "al", - "transformedRegex": "quis", - "target": "cillum ut nostrud elit volupt" - }, - { - "type": "NOACTION", - "action": "proident id", - "keyEncryptionAlgo": "Excepteur minim", - "contentEncryptionAlgo": "q", - "signatureAlgorithm": "ex sit", - "sourceRegex": "dolor velit", - "transformedRegex": "dolore in reprehenderit ea mollit", - "target": "ea sunt" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "sint qui", - "keyEncryptionAlgo": "quis", - "contentEncryptionAlgo": "voluptate nisi", - "signatureAlgorithm": "ullamco dolor minim sit nostrud", - "sourceRegex": "in ut Excepteur mollit velit", - "transformedRegex": "id sunt aliqu", - "target": "cillum dolor minim do" - }, - { - "type": "NOACTION", - "action": "aliqua", - "keyEncryptionAlgo": "ad ex irure laboris", - "contentEncryptionAlgo": "ullamco", - "signatureAlgorithm": "dolor eiusmod sint", - "sourceRegex": "ut Lorem ea et velit", - "transformedRegex": "exercitation et ullamco nulla", - "target": "dolor Ut" - }, - { - "type": "NOACTION", - "action": "aliqua aute reprehenderit", - "keyEncryptionAlgo": "consequat", - "contentEncryptionAlgo": "id sit cupidatat", - "signatureAlgorithm": "l", - "sourceRegex": "in adipisicing culpa par", - "transformedRegex": "proident sint labore", - "target": "nostrud" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "dolor et Excepteur", - "keyEncryptionAlgo": "et", - "contentEncryptionAlgo": "est amet eiusmod occaecat", - "signatureAlgorithm": "ut", - "sourceRegex": "in fugiat eu", - "transformedRegex": "dolore", - "target": "qui" - }, - { - "type": "NOACTION", - "action": "elit ipsum eu aliquip", - "keyEncryptionAlgo": "magna veniam", - "contentEncryptionAlgo": "elit ipsum quis officia aliqua", - "signatureAlgorithm": "quis", - "sourceRegex": "id sunt ipsum magna", - "transformedRegex": "quis aliquip", - "target": "sint sed minim" - }, - { - "type": "NOACTION", - "action": "sit nostrud veniam eiusmod", - "keyEncryptionAlgo": "consectetur nisi dolor aute est", - "contentEncryptionAlgo": "laboris cillum pariatur ad", - "signatureAlgorithm": "enim nisi sunt laborum deserunt", - "sourceRegex": "tempor laboris sed consectetur", - "transformedRegex": "Duis nisi ipsum", - "target": "quis" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "dolore id Excepteur", - "keyEncryptionAlgo": "in Duis aliquip", - "contentEncryptionAlgo": "ullamco fugiat eu", - "signatureAlgorithm": "consequat cupidatat sunt qui cu", - "sourceRegex": "irure dolor", - "transformedRegex": "velit consequat", - "target": "nisi ea deserunt dolor" - }, - { - "type": "NOACTION", - "action": "reprehende", - "keyEncryptionAlgo": "nostrud qui dolor incididunt", - "contentEncryptionAlgo": "do", - "signatureAlgorithm": "cupidatat", - "sourceRegex": "et adipisicing", - "transformedRegex": "consequat", - "target": "ut" - }, - { - "type": "NOACTION", - "action": "Excepteur ad", - "keyEncryptionAlgo": "est", - "contentEncryptionAlgo": "do qui occaecat cupidatat", - "signatureAlgorithm": "do eu", - "sourceRegex": "eiusmod anim laboris", - "transformedRegex": "ut", - "target": "non sunt Lorem" - } - ], - "tableUpsertInfo": [ - { - "table": "Lorem dolor dolore velit nostrud", - "column": "dolor dolore in ipsum" - }, - { - "table": "sed pr", - "column": "labore laborum proi" - }, - { - "table": "mollit aliqua id irure", - "column": "sint esse" - } - ] - } - ], - "authMode": "NOAUTH", - "description": "ut", - "BasicAudit": { - "CreatedBy": "laboris ad velit nisi ea", - "LastModifiedBy": "minim", - "CreatedOn": "eu ut id sed", - "LastModifiedOn": "ea" - }, - "denyPassThrough": false, - "formEncodedKeysPassThrough": true - }, - { - "ID": "proident Duis ir", - "name": "occaecat si", - "baseURL": "elit do velit dolore aliquip", - "vaultID": "eiusmod in cillum ut et", - "routes": [ - { - "path": "ut quis", - "method": "aute ea ullamco", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "est sint Ut sunt nisi", - "table": "incididunt Lorem dolor veniam aliquip", - "column": "ut", - "dataSelector": "veniam ullamco officia non", - "dataSelectorRegex": "anim tempor deserunt veniam ut", - "transformFormat": "nisi consectetur", - "encryptionType": "esse", - "redaction": "DEFAULT", - "sourceRegex": "enim ad", - "transformedRegex": "ut dolor irure magna" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id Ut sint elit ad", - "table": "ullamco dolor tempor eiusmod", - "column": "elit cillum", - "dataSelector": "in sint", - "dataSelectorRegex": "eiusmod ea", - "transformFormat": "commodo ipsum sunt magna in", - "encryptionType": "consectetur", - "redaction": "DEFAULT", - "sourceRegex": "dolor et", - "transformedRegex": "nulla" - }, - { - "action": "NOT_SELECTED", - "fieldName": "velit quis eiusmod tempor minim", - "table": "elit id in sunt sint", - "column": "ea", - "dataSelector": "ad sint commodo culpa deserunt", - "dataSelectorRegex": "in dolor", - "transformFormat": "ut exerc", - "encryptionType": "cupidatat", - "redaction": "DEFAULT", - "sourceRegex": "cillum qui consectetur", - "transformedRegex": "cupidatat ea" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "in exercitation", - "table": "Lor", - "column": "amet aliqua ut", - "dataSelector": "sed est", - "dataSelectorRegex": "aliquip", - "transformFormat": "esse", - "encryptionType": "ut", - "redaction": "DEFAULT", - "sourceRegex": "nostrud ", - "transformedRegex": "incididunt deserunt" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ullamco reprehenderit veniam mollit culpa", - "table": "esse amet", - "column": "et ullamco culpa in adipisicing", - "dataSelector": "ea", - "dataSelectorRegex": "Duis consectetur fugiat do exercitation", - "transformFormat": "ut dolore magna", - "encryptionType": "reprehenderit nostrud mollit sed", - "redaction": "DEFAULT", - "sourceRegex": "ex q", - "transformedRegex": "commodo in laborum ut anim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ipsum nulla anim", - "table": "eu nisi sunt aute ad", - "column": "ea Excepteur culpa", - "dataSelector": "fugiat", - "dataSelectorRegex": "adipisicing", - "transformFormat": "est laboris", - "encryptionType": "incididunt", - "redaction": "DEFAULT", - "sourceRegex": "nulla in anim dolor officia", - "transformedRegex": "nulla e" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "Ut", - "table": "consectetur voluptate sed exercitation Excepteur", - "column": "voluptate adipisicing", - "dataSelector": "dolor laborum eu eiusmod ipsum", - "dataSelectorRegex": "veniam sed consequat Ut reprehenderit", - "transformFormat": "Ut commodo irure amet sint", - "encryptionType": "eu esse nostrud ea in", - "redaction": "DEFAULT", - "sourceRegex": "et do", - "transformedRegex": "id fugiat ullamco veniam" - }, - { - "action": "NOT_SELECTED", - "fieldName": "non exercitation Duis commodo", - "table": "consequat", - "column": "tempor sint ut fugiat", - "dataSelector": "veniam", - "dataSelectorRegex": "tempor nostrud eu pariatur dolor", - "transformFormat": "e", - "encryptionType": "quis elit adipisicing laborum", - "redaction": "DEFAULT", - "sourceRegex": "proident", - "transformedRegex": "et nostrud" - }, - { - "action": "NOT_SELECTED", - "fieldName": "proident amet consectetur", - "table": "d", - "column": "in adipisicing dolore nostrud", - "dataSelector": "aliquip", - "dataSelectorRegex": "commodo c", - "transformFormat": "eiusmod in dolore", - "encryptionType": "est id Ut veniam", - "redaction": "DEFAULT", - "sourceRegex": "aliquip anim incididunt", - "transformedRegex": "elit veniam non m" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "tempor quis dolor ullamco laborum", - "table": "et ut", - "column": "non in", - "dataSelector": "voluptate veniam pariatur Lorem velit", - "dataSelectorRegex": "fugiat nostrud ipsum", - "transformFormat": "qui proident", - "encryptionType": "aliqua Lorem proident exercitation enim", - "redaction": "DEFAULT", - "sourceRegex": "in labore commodo ea proident", - "transformedRegex": "et pariatur id nostrud" - }, - { - "action": "NOT_SELECTED", - "fieldName": "voluptate incididunt laboris proident", - "table": "proident Ut fugiat dolor", - "column": "voluptate Excepteur ea qui", - "dataSelector": "laboris consequat", - "dataSelectorRegex": "esse", - "transformFormat": "ut", - "encryptionType": "cillum irure magna Lorem", - "redaction": "DEFAULT", - "sourceRegex": "et", - "transformedRegex": "culpa dolor eu mollit consectetur" - }, - { - "action": "NOT_SELECTED", - "fieldName": "i", - "table": "labore", - "column": "ea nostrud non amet", - "dataSelector": "sunt", - "dataSelectorRegex": "eu voluptate aliquip", - "transformFormat": "Ut incididunt Lorem", - "encryptionType": "magna anim adipisicing dolor", - "redaction": "DEFAULT", - "sourceRegex": "minim aliqua incididunt Lorem id", - "transformedRegex": "aute" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "eiusmod dolore ullamco nulla", - "table": "laboris", - "column": "laborum sunt ex", - "dataSelector": "voluptate", - "dataSelectorRegex": "nulla do labore pariatu", - "transformFormat": "officia esse ullamco", - "encryptionType": "ullamco", - "redaction": "DEFAULT", - "sourceRegex": "commodo enim ullamco Duis mollit", - "transformedRegex": "in voluptate" - }, - { - "action": "NOT_SELECTED", - "fieldName": "exercitation aute do sed Excepteur", - "table": "consectetur ullamco dolor Excepteur non", - "column": "do irure vo", - "dataSelector": "minim in", - "dataSelectorRegex": "mollit enim", - "transformFormat": "minim dolore nulla Excepteur", - "encryptionType": "sint consectetur off", - "redaction": "DEFAULT", - "sourceRegex": "dolor mollit proident", - "transformedRegex": "veniam" - }, - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing officia cupidatat", - "table": "do", - "column": "mollit aliquip est ut adipis", - "dataSelector": "Excepteur consectetur id sint nostrud", - "dataSelectorRegex": "aliquip velit a", - "transformFormat": "nostrud quis sint deserunt ullamco", - "encryptionType": "velit incididunt", - "redaction": "DEFAULT", - "sourceRegex": "nulla", - "transformedRegex": "elit dolore sint molli" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "veniam", - "table": "est commodo laborum amet elit", - "column": "anim adipisicing commodo voluptate", - "dataSelector": "deserunt ull", - "dataSelectorRegex": "sint occaecat ullamco irure Lorem", - "transformFormat": "Excepteur", - "encryptionType": "nostrud ", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "exercitation adipisicing" - }, - { - "action": "NOT_SELECTED", - "fieldName": "labore eu", - "table": "consectetur sit in est", - "column": "ullamco Lorem ea id", - "dataSelector": "nulla aliquip officia id ut", - "dataSelectorRegex": "reprehen", - "transformFormat": "eiusmod", - "encryptionType": "culpa voluptate sit cillum", - "redaction": "DEFAULT", - "sourceRegex": "tempor", - "transformedRegex": "proident incididunt amet" - }, - { - "action": "NOT_SELECTED", - "fieldName": "Duis do", - "table": "exercitation occaecat veli", - "column": "sit amet tempor quis velit", - "dataSelector": "id fugiat", - "dataSelectorRegex": "esse ut fugiat ipsum", - "transformFormat": "consequat dolore nulla", - "encryptionType": "adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "officia pariatur", - "transformedRegex": "in dolore mollit amet" - } - ], - "name": "elit magna voluptate incididunt", - "description": "eu id", - "soapAction": "incididunt in ex Excepteur", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "Ut ex fugiat", - "keyEncryptionAlgo": "anim elit nisi", - "contentEncryptionAlgo": "", - "signatureAlgorithm": "in consequat culpa commodo", - "sourceRegex": "ea qui aliquip laboris Duis", - "transformedRegex": "consectetur", - "target": "laborum sed Du" - }, - { - "type": "NOACTION", - "action": "aute enim veniam", - "keyEncryptionAlgo": "adipisicing commodo tempor", - "contentEncryptionAlgo": "adipisicing in in ea non", - "signatureAlgorithm": "ut ut ad est ipsum", - "sourceRegex": "labore", - "transformedRegex": "cupidatat ea do et", - "target": "irure est" - }, - { - "type": "NOACTION", - "action": "irure incididunt Lorem aute nostrud", - "keyEncryptionAlgo": "adipisicing exercitation enim in", - "contentEncryptionAlgo": "sint", - "signatureAlgorithm": "in a", - "sourceRegex": "culpa", - "transformedRegex": "consect", - "target": "commodo nostrud occaecat non" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "elit ipsum", - "keyEncryptionAlgo": "l", - "contentEncryptionAlgo": "veniam ut labore mollit ad", - "signatureAlgorithm": "sit", - "sourceRegex": "esse Lorem fugiat", - "transformedRegex": "dolor et", - "target": "officia veniam culpa" - }, - { - "type": "NOACTION", - "action": "aute dolor velit dolore", - "keyEncryptionAlgo": "cul", - "contentEncryptionAlgo": "comm", - "signatureAlgorithm": "esse in cillum Lorem", - "sourceRegex": "occaecat", - "transformedRegex": "tem", - "target": "anim non esse" - }, - { - "type": "NOACTION", - "action": "Duis non", - "keyEncryptionAlgo": "enim laboris nostrud eu dolore", - "contentEncryptionAlgo": "dolor sint esse", - "signatureAlgorithm": "labore tempor non enim", - "sourceRegex": "qui ea in", - "transformedRegex": "tempor", - "target": "qui elit " - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "esse occaecat commodo dolor non", - "keyEncryptionAlgo": "", - "contentEncryptionAlgo": "anim Ut Lorem ex", - "signatureAlgorithm": "id dolore veniam minim ", - "sourceRegex": "tempor ipsum reprehenderit", - "transformedRegex": "est sit commodo aliquip non", - "target": "labore id aliquip anim" - }, - { - "type": "NOACTION", - "action": "ut cupidatat commodo do", - "keyEncryptionAlgo": "pariatur labore proiden", - "contentEncryptionAlgo": "a", - "signatureAlgorithm": "laboris", - "sourceRegex": "irur", - "transformedRegex": "o", - "target": "aliquip dolore in" - }, - { - "type": "NOACTION", - "action": "ut", - "keyEncryptionAlgo": "incididunt magna quis minim nostrud", - "contentEncryptionAlgo": "consectetur Ut eiusmod do", - "signatureAlgorithm": "anim dolor occaecat", - "sourceRegex": "dolor", - "transformedRegex": "qui su", - "target": "in irure laborum" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "ea", - "keyEncryptionAlgo": "fugiat ut nostrud", - "contentEncryptionAlgo": "exercitation elit dolore irure nisi", - "signatureAlgorithm": "ut culpa", - "sourceRegex": "ea velit", - "transformedRegex": "aliquip proident", - "target": "ut ullamco labore laboris" - }, - { - "type": "NOACTION", - "action": "elit magna commodo in dolor", - "keyEncryptionAlgo": "Excepteur voluptate nisi", - "contentEncryptionAlgo": "laborum esse", - "signatureAlgorithm": "proident dolore quis deserunt eiusmod", - "sourceRegex": "officia irure exe", - "transformedRegex": "non veniam", - "target": "cillum do cupidatat enim dolore" - }, - { - "type": "NOACTION", - "action": "", - "keyEncryptionAlgo": "Excepteur ut magna", - "contentEncryptionAlgo": "tempor et", - "signatureAlgorithm": "in pariatur l", - "sourceRegex": "nostrud", - "transformedRegex": "ipsum consectetur est esse", - "target": "id aliqua" - } - ], - "tableUpsertInfo": [ - { - "table": "aliquip", - "column": "Excepteur proi" - }, - { - "table": "Excepteur", - "column": "veniam sunt fugiat" - }, - { - "table": "nulla proident fugiat Duis ad", - "column": "ei" - } - ] - }, - { - "path": "sint commodo", - "method": "magna nisi", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "laborum", - "table": "velit non ut irure", - "column": "anim officia", - "dataSelector": "ea quis sint", - "dataSelectorRegex": "no", - "transformFormat": "Excepteur proident", - "encryptionType": "eu culpa", - "redaction": "DEFAULT", - "sourceRegex": "ullamco ut ex", - "transformedRegex": "nisi non culpa" - }, - { - "action": "NOT_SELECTED", - "fieldName": "consectetur eiusmod adipisicing", - "table": "ut ipsum reprehenderit anim volup", - "column": "laboris nulla ut exercitation elit", - "dataSelector": "et in eiusmod culpa Excepteur", - "dataSelectorRegex": "adipisicing", - "transformFormat": "eu elit", - "encryptionType": "aliquip est adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "Lorem", - "transformedRegex": "exercitation sunt cupidatat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "nisi", - "table": "sint reprehenderit cillum", - "column": "cillum in fugiat", - "dataSelector": "in mol", - "dataSelectorRegex": "elit aliqua mollit est ex", - "transformFormat": "laboris in sed Duis", - "encryptionType": "Ut dolore", - "redaction": "DEFAULT", - "sourceRegex": "amet quis dolore", - "transformedRegex": "Duis in qui" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "tempor non", - "table": "in ullamco quis", - "column": "dolore tempor", - "dataSelector": "in laborum anim magna", - "dataSelectorRegex": "do labore", - "transformFormat": "labore consectetur", - "encryptionType": "proident ullamco tempor veniam deserunt", - "redaction": "DEFAULT", - "sourceRegex": "enim est laboris ", - "transformedRegex": "sunt ipsum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "laborum aute sunt est irure", - "table": "Ut ut culpa qui", - "column": "adipisicing in", - "dataSelector": "occaecat sit in ea", - "dataSelectorRegex": "eiusmod exercitat", - "transformFormat": "in dolor ea ", - "encryptionType": "dolore nostrud proident", - "redaction": "DEFAULT", - "sourceRegex": "do", - "transformedRegex": "velit Ut minim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eu mollit tempor sed", - "table": "velit", - "column": "Ut sit", - "dataSelector": "Duis laborum cupidatat consequat", - "dataSelectorRegex": "labore ullamco laboris elit", - "transformFormat": "in cupidatat consequat incididunt", - "encryptionType": "aliquip ea", - "redaction": "DEFAULT", - "sourceRegex": "Ut", - "transformedRegex": "in laborum cupidatat laboris" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "D", - "table": "Lorem in ex tempor", - "column": "adipisicing labore qui fugiat consectetur", - "dataSelector": "sunt anim eiusmod", - "dataSelectorRegex": "non irure in", - "transformFormat": "sunt", - "encryptionType": "aliqua sit dolor", - "redaction": "DEFAULT", - "sourceRegex": "in adipisicing dolore", - "transformedRegex": "reprehenderit eiusmod" - }, - { - "action": "NOT_SELECTED", - "fieldName": "mollit", - "table": "ullamco", - "column": "ea laborum", - "dataSelector": "exercitation dolor", - "dataSelectorRegex": "dolor adipisicing des", - "transformFormat": "Excepteur fugiat nulla enim", - "encryptionType": "occaecat", - "redaction": "DEFAULT", - "sourceRegex": "eu ex aliquip", - "transformedRegex": "dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "quis commodo", - "table": "amet", - "column": "in amet consequat proident mollit", - "dataSelector": "et qui", - "dataSelectorRegex": "magna nostrud elit", - "transformFormat": "adipisicing proident", - "encryptionType": "voluptate ", - "redaction": "DEFAULT", - "sourceRegex": "amet in", - "transformedRegex": "Ut sit ad eiusmod" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "Excepteur in reprehenderit Ut", - "table": "amet consequat dolor culpa", - "column": "Duis consec", - "dataSelector": "laboris ipsum", - "dataSelectorRegex": "id exercitation veniam sint aliquip", - "transformFormat": "dolore velit consequat", - "encryptionType": "nisi e", - "redaction": "DEFAULT", - "sourceRegex": "enim officia in consectetur", - "transformedRegex": "Duis nulla culpa" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in commodo dolor Duis", - "table": "magna aliquip deserunt", - "column": "nulla aute eu ", - "dataSelector": "laborum occaecat do ad sunt", - "dataSelectorRegex": "laborum est Ut", - "transformFormat": "eiusmod", - "encryptionType": "sint", - "redaction": "DEFAULT", - "sourceRegex": "Excepteur", - "transformedRegex": "non fugiat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "deserunt est non et", - "table": "in cillum laborum", - "column": "aliquip eni", - "dataSelector": "eu proident magna", - "dataSelectorRegex": "proide", - "transformFormat": "occaecat", - "encryptionType": "adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "elit est nostrud occaecat", - "transformedRegex": "qui" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "dolor dolor", - "table": "ip", - "column": "adipisicing ex", - "dataSelector": "amet quis nisi anim", - "dataSelectorRegex": "velit quis voluptate commodo incididunt", - "transformFormat": "aliqua proident", - "encryptionType": "non mollit irure", - "redaction": "DEFAULT", - "sourceRegex": "commodo et ut occaecat", - "transformedRegex": "irure cupidatat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "magna velit", - "table": "consequat aute fugiat est", - "column": "labore in sint velit pariatur", - "dataSelector": "qui aliquip sit enim", - "dataSelectorRegex": "amet quis", - "transformFormat": "sit qui", - "encryptionType": "proident", - "redaction": "DEFAULT", - "sourceRegex": "voluptate aliqu", - "transformedRegex": "deserunt incididunt c" - }, - { - "action": "NOT_SELECTED", - "fieldName": "laborum officia enim irure", - "table": "aute dolore", - "column": "esse Excepteur cupidatat irure", - "dataSelector": "occaecat Ut", - "dataSelectorRegex": "eu exercitation", - "transformFormat": "mollit labore non", - "encryptionType": "qui eiusmod dolor pariatur ad", - "redaction": "DEFAULT", - "sourceRegex": "sed velit", - "transformedRegex": "Lorem" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "commodo dolor ut occaecat enim", - "table": "la", - "column": "et tempor voluptate sunt", - "dataSelector": "occaecat adipisicing labore est amet", - "dataSelectorRegex": "nulla amet ut", - "transformFormat": "ex", - "encryptionType": "velit commodo veniam", - "redaction": "DEFAULT", - "sourceRegex": "m", - "transformedRegex": "reprehenderit laborum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "occaecat cupidatat in est", - "table": "nostrud aute reprehenderit non", - "column": "irure dolor in", - "dataSelector": "eiusmod proident elit Ut", - "dataSelectorRegex": "qui quis ea", - "transformFormat": "irure", - "encryptionType": "laboris o", - "redaction": "DEFAULT", - "sourceRegex": "ea", - "transformedRegex": "consequat cillum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "voluptate", - "table": "nulla", - "column": "ipsum anim tempor reprehenderit ullamco", - "dataSelector": "dolore ea enim Ut", - "dataSelectorRegex": "ea esse ullamco", - "transformFormat": "in aliquip nisi irure", - "encryptionType": "labore velit", - "redaction": "DEFAULT", - "sourceRegex": "Lorem laboris", - "transformedRegex": "occaecat pariatur aliquip" - } - ], - "name": "ipsum", - "description": "in", - "soapAction": "incididunt enim anim", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "qui", - "keyEncryptionAlgo": "magna in exercitati", - "contentEncryptionAlgo": "ipsum esse cupidatat", - "signatureAlgorithm": "ex incididunt", - "sourceRegex": "sit do Duis irure nulla", - "transformedRegex": "culpa ipsum", - "target": "tempor non et nostrud al" - }, - { - "type": "NOACTION", - "action": "sit velit labore", - "keyEncryptionAlgo": "Excepteur", - "contentEncryptionAlgo": "id ni", - "signatureAlgorithm": "tempor nisi", - "sourceRegex": "e", - "transformedRegex": "dolore", - "target": "in magna aliqua sunt ex" - }, - { - "type": "NOACTION", - "action": "deserunt esse do dolor irure", - "keyEncryptionAlgo": "dolor", - "contentEncryptionAlgo": "ea in deseru", - "signatureAlgorithm": "aliquip esse occaecat sed", - "sourceRegex": "ut commodo anim sint", - "transformedRegex": "Lorem", - "target": "irure fugiat ex cupidatat" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "in fugiat cillum officia", - "keyEncryptionAlgo": "de", - "contentEncryptionAlgo": "enim minim ut sit", - "signatureAlgorithm": "nostrud ut", - "sourceRegex": "in", - "transformedRegex": "sint voluptate incididunt qui", - "target": "et" - }, - { - "type": "NOACTION", - "action": "sint do est Lorem", - "keyEncryptionAlgo": "in consectetur reprehenderit", - "contentEncryptionAlgo": "quis", - "signatureAlgorithm": "ipsum ut", - "sourceRegex": "quis aliquip labore", - "transformedRegex": "quis nulla consequat Lorem", - "target": "Excepteur in esse nisi" - }, - { - "type": "NOACTION", - "action": "non consectetur", - "keyEncryptionAlgo": "in labore Excepteu", - "contentEncryptionAlgo": "minim ex in", - "signatureAlgorithm": "commodo do exercitation pariatur elit", - "sourceRegex": "consequat pariatur laboris", - "transformedRegex": "es", - "target": "mollit" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "nostrud sint Excepteur velit adipis", - "keyEncryptionAlgo": "nisi ad id deserunt esse", - "contentEncryptionAlgo": "qui laboris consequat labore officia", - "signatureAlgorithm": "ipsum", - "sourceRegex": "occaecat id commodo ullamco cupidatat", - "transformedRegex": "in sed est", - "target": "ut aliquip fugiat et in" - }, - { - "type": "NOACTION", - "action": "et", - "keyEncryptionAlgo": "eiusmod", - "contentEncryptionAlgo": "laboris elit laborum aute", - "signatureAlgorithm": "irure nulla dolor in", - "sourceRegex": "consequat ullamco ea officia laboris", - "transformedRegex": "Duis commodo anim exerc", - "target": "veniam irure labore sunt" - }, - { - "type": "NOACTION", - "action": "laboris deserunt occaecat", - "keyEncryptionAlgo": "occaecat", - "contentEncryptionAlgo": "in", - "signatureAlgorithm": "nisi", - "sourceRegex": "enim ex ut nulla", - "transformedRegex": "nisi elit", - "target": "ex officia" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "laborum ut do", - "keyEncryptionAlgo": "nostrud aliqua proident fugiat", - "contentEncryptionAlgo": "adipisicin", - "signatureAlgorithm": "nulla consequat laboris", - "sourceRegex": "cillum et adipisicing consectetur proident", - "transformedRegex": "irure mollit officia", - "target": "exercitation Lorem voluptate qui" - }, - { - "type": "NOACTION", - "action": "dolore", - "keyEncryptionAlgo": "culpa sunt minim laborum", - "contentEncryptionAlgo": "consequat aute", - "signatureAlgorithm": "eu ea qui", - "sourceRegex": "incididunt deserunt consequat qui nostrud", - "transformedRegex": "ipsum", - "target": "veniam ipsum eiusmod reprehenderit magna" - }, - { - "type": "NOACTION", - "action": "non Ut sunt quis deserunt", - "keyEncryptionAlgo": "aliquip ut", - "contentEncryptionAlgo": "anim incididunt exercitation mollit nulla", - "signatureAlgorithm": "nostrud", - "sourceRegex": "nulla exercitation sed", - "transformedRegex": "ex in consequ", - "target": "adipisicing laborum" - } - ], - "tableUpsertInfo": [ - { - "table": "veniam labore fugiat quis ullamc", - "column": "aliqua ea cillum veli" - }, - { - "table": "minim commodo", - "column": "la" - }, - { - "table": "nulla non quis ut", - "column": "velit deserunt labore anim" - } - ] - }, - { - "path": "consectetur eiusmod", - "method": "ut cillum ut", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "", - "table": "dolore", - "column": "nisi incididunt", - "dataSelector": "amet officia", - "dataSelectorRegex": "ut qui dolore ipsum", - "transformFormat": "aliquip", - "encryptionType": "voluptate ea", - "redaction": "DEFAULT", - "sourceRegex": "sed amet ipsum voluptate", - "transformedRegex": "aute in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "nulla", - "table": "magna deserunt Ut officia", - "column": "dolore ullamco", - "dataSelector": "tempor ut sit", - "dataSelectorRegex": "ut aliqua", - "transformFormat": "culpa", - "encryptionType": "al", - "redaction": "DEFAULT", - "sourceRegex": "velit nostrud anim eiusmod in", - "transformedRegex": "eiusmod veniam aliqua et adipisicing" - }, - { - "action": "NOT_SELECTED", - "fieldName": "in culpa", - "table": "consectetu", - "column": "est elit", - "dataSelector": "do", - "dataSelectorRegex": "fugiat nulla", - "transformFormat": "amet dolore", - "encryptionType": "cillum est", - "redaction": "DEFAULT", - "sourceRegex": "sed in", - "transformedRegex": "nulla laborum ad labore" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "dolor", - "table": "sit qui", - "column": "velit reprehenderit occaecat mollit enim", - "dataSelector": "laborum ex esse ipsum in", - "dataSelectorRegex": "consectetur aliquip", - "transformFormat": "occaecat sit", - "encryptionType": "minim adipisicing velit in", - "redaction": "DEFAULT", - "sourceRegex": "quis consequat", - "transformedRegex": "proident commodo non tempor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ut magna", - "table": "ut Lorem a", - "column": "sed non", - "dataSelector": "al", - "dataSelectorRegex": "elit non cillum", - "transformFormat": "sed eiusmod proident mollit qui", - "encryptionType": "ullamco culpa mollit sint dolor", - "redaction": "DEFAULT", - "sourceRegex": "ea esse in sit", - "transformedRegex": "fugiat magna labore ut nostrud" - }, - { - "action": "NOT_SELECTED", - "fieldName": "elit dolor labor", - "table": "Except", - "column": "sint incididunt in elit", - "dataSelector": "irure", - "dataSelectorRegex": "culpa ut incididunt ullamco mollit", - "transformFormat": "eu", - "encryptionType": "minim eiusmod culpa tempor ut", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "nostrud sunt" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "in ex", - "table": "ad nulla", - "column": "elit proident labore nisi sed", - "dataSelector": "amet laboris ut dolor ipsum", - "dataSelectorRegex": "culpa magna", - "transformFormat": "labore sint aute occaecat fugiat", - "encryptionType": "ullamco reprehenderit qui ut", - "redaction": "DEFAULT", - "sourceRegex": "est et elit", - "transformedRegex": "nisi aute e" - }, - { - "action": "NOT_SELECTED", - "fieldName": "laboris ullamco amet ea irure", - "table": "fugiat", - "column": "quis est velit consequat elit", - "dataSelector": "non", - "dataSelectorRegex": "dolore laborum", - "transformFormat": "ad", - "encryptionType": "dolore ex consequat cupidatat fugiat", - "redaction": "DEFAULT", - "sourceRegex": "mollit", - "transformedRegex": "elit exercitation Duis sunt nostrud" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ut in tempor sit dolor", - "table": "est occaecat magna", - "column": "magna deserun", - "dataSelector": "aliqua in in consectetur deserunt", - "dataSelectorRegex": "laboris dolore consequat aliquip", - "transformFormat": "cupidatat", - "encryptionType": "reprehenderit enim", - "redaction": "DEFAULT", - "sourceRegex": "commodo cillum minim", - "transformedRegex": "ullamco deserunt" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "cillum", - "table": "laborum Excepteur ex", - "column": "reprehende", - "dataSelector": "eu sit", - "dataSelectorRegex": "est", - "transformFormat": "labo", - "encryptionType": "q", - "redaction": "DEFAULT", - "sourceRegex": "cillum", - "transformedRegex": "tempor incidid" - }, - { - "action": "NOT_SELECTED", - "fieldName": "magna elit", - "table": "velit", - "column": "labore aliquip ex ad", - "dataSelector": "nulla velit anim veniam", - "dataSelectorRegex": "elit commodo", - "transformFormat": "aliquip", - "encryptionType": "pr", - "redaction": "DEFAULT", - "sourceRegex": "amet eu nostrud ", - "transformedRegex": "sit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "Duis", - "table": "dolore Ut", - "column": "tempor occaecat consectetur", - "dataSelector": "consequat", - "dataSelectorRegex": "nulla cillum in", - "transformFormat": "consectetur fugiat veniam tempor eiusmod", - "encryptionType": "est", - "redaction": "DEFAULT", - "sourceRegex": "laboris non magna do", - "transformedRegex": "et" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "quis dolore dolor", - "table": "et do aliquip ut", - "column": "reprehenderit laborum sunt elit laboris", - "dataSelector": "dolore in fugiat", - "dataSelectorRegex": "voluptate", - "transformFormat": "incididunt", - "encryptionType": "sed irure", - "redaction": "DEFAULT", - "sourceRegex": "culpa elit eu aute", - "transformedRegex": "consectetur in consequat tempor ut" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aute incididunt tempor labore deserunt", - "table": "exercitation nisi consequat ipsum labori", - "column": "ad in consequat molli", - "dataSelector": "labore", - "dataSelectorRegex": "in voluptate", - "transformFormat": "aute ut dolor", - "encryptionType": "aliquip occaecat laboris", - "redaction": "DEFAULT", - "sourceRegex": "et dolore exercitation", - "transformedRegex": "voluptate in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "labor", - "table": "qui aute ", - "column": "officia esse nisi nostrud Duis", - "dataSelector": "aliquip", - "dataSelectorRegex": "sint minim amet ea", - "transformFormat": "ex Duis", - "encryptionType": "reprehenderit conse", - "redaction": "DEFAULT", - "sourceRegex": "exercitation", - "transformedRegex": "anim dolor amet dolor minim" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "in et ex ipsum", - "table": "nostrud do culpa ut ex", - "column": "ut deserunt labore", - "dataSelector": "laboris Duis Lorem dolor", - "dataSelectorRegex": "tempor fugia", - "transformFormat": "id officia pariatur deserunt", - "encryptionType": "eu", - "redaction": "DEFAULT", - "sourceRegex": "adipisicing minim", - "transformedRegex": "voluptate" - }, - { - "action": "NOT_SELECTED", - "fieldName": "m", - "table": "sint dolore adipisicing id", - "column": "officia veniam", - "dataSelector": "exercitation enim anim commodo cupidatat", - "dataSelectorRegex": "qui tempor ipsum ut ex", - "transformFormat": "anim est et in", - "encryptionType": "sed officia aliquip deserunt s", - "redaction": "DEFAULT", - "sourceRegex": "eiusmod", - "transformedRegex": "irure Ut" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sed", - "table": "laborum D", - "column": "ut exercitation dolore", - "dataSelector": "Duis", - "dataSelectorRegex": "Lorem", - "transformFormat": "tempor eiusmod", - "encryptionType": "ea aliquip", - "redaction": "DEFAULT", - "sourceRegex": "nisi commodo Lo", - "transformedRegex": "velit nisi amet nostrud deserunt" - } - ], - "name": "quis ip", - "description": "sint nisi dolore", - "soapAction": "consequat deserunt officia", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "in velit", - "keyEncryptionAlgo": "nis", - "contentEncryptionAlgo": "non quis", - "signatureAlgorithm": "amet Lorem", - "sourceRegex": "adipisicing ullamco ut", - "transformedRegex": "id ame", - "target": "laboris" - }, - { - "type": "NOACTION", - "action": "aliquip culpa", - "keyEncryptionAlgo": "qui", - "contentEncryptionAlgo": "dolore", - "signatureAlgorithm": "sed labore consectetur Lorem", - "sourceRegex": "veniam in sint ad", - "transformedRegex": "quis laboris", - "target": "sunt nisi sed sint" - }, - { - "type": "NOACTION", - "action": "et deserunt velit", - "keyEncryptionAlgo": "culpa ", - "contentEncryptionAlgo": "officia culpa do", - "signatureAlgorithm": "id in", - "sourceRegex": "qui exercitation adipisicing minim", - "transformedRegex": "mollit nulla dolor cillum quis", - "target": "commodo" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "voluptate", - "keyEncryptionAlgo": "minim irure aute", - "contentEncryptionAlgo": "sunt est Ut", - "signatureAlgorithm": "aliqua ut eu non", - "sourceRegex": "anim sed", - "transformedRegex": "tempor", - "target": "anim eu consequat" - }, - { - "type": "NOACTION", - "action": "cillum eiusmod irure", - "keyEncryptionAlgo": "dolore dolor", - "contentEncryptionAlgo": "labore tempor", - "signatureAlgorithm": "cillum pariatur culpa", - "sourceRegex": "adipisicing nulla co", - "transformedRegex": "Ut dolor", - "target": "reprehenderit" - }, - { - "type": "NOACTION", - "action": "culpa in cillum dolor reprehenderit", - "keyEncryptionAlgo": "an", - "contentEncryptionAlgo": "est Duis", - "signatureAlgorithm": "exercitation eu incididunt", - "sourceRegex": "Lorem", - "transformedRegex": "deserunt elit dolore do", - "target": "reprehenderit voluptate deseru" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "consequat", - "keyEncryptionAlgo": "nostrud qui", - "contentEncryptionAlgo": "ea reprehenderit mollit", - "signatureAlgorithm": "culpa", - "sourceRegex": "officia deserunt qui exercitation aliquip", - "transformedRegex": "aute consequat e", - "target": "aliquip sint" - }, - { - "type": "NOACTION", - "action": "velit exercitation sint", - "keyEncryptionAlgo": "nisi", - "contentEncryptionAlgo": "enim ex commodo consequat", - "signatureAlgorithm": "eiusmod elit", - "sourceRegex": "velit qui quis do Duis", - "transformedRegex": "sit eu", - "target": "in ullamco do aliquip Duis" - }, - { - "type": "NOACTION", - "action": "in ipsum enim ad cillum", - "keyEncryptionAlgo": "dolor eu est", - "contentEncryptionAlgo": "commodo Lorem", - "signatureAlgorithm": "nulla enim ex", - "sourceRegex": "sunt proident", - "transformedRegex": "proident id o", - "target": "consequat" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "ipsum dolor incidi", - "keyEncryptionAlgo": "sint", - "contentEncryptionAlgo": "tem", - "signatureAlgorithm": "do nisi", - "sourceRegex": "ea sint", - "transformedRegex": "deserunt qui cupidatat consectetur ad", - "target": "voluptate esse" - }, - { - "type": "NOACTION", - "action": "cupidatat eu", - "keyEncryptionAlgo": "Lorem non irur", - "contentEncryptionAlgo": "mollit enim", - "signatureAlgorithm": "minim ", - "sourceRegex": "esse aliquip eu velit", - "transformedRegex": "dolor mollit aliqua eiusmod", - "target": "veniam Lorem incididunt" - }, - { - "type": "NOACTION", - "action": "Excepteur Lorem nostrud", - "keyEncryptionAlgo": "", - "contentEncryptionAlgo": "ut sit paria", - "signatureAlgorithm": "ut", - "sourceRegex": "eu nulla occaecat irure dolore", - "transformedRegex": "laboris ea", - "target": "ad adipisicing tempor Duis et" - } - ], - "tableUpsertInfo": [ - { - "table": "adipisicing est", - "column": "enim" - }, - { - "table": "cons", - "column": "qui no" - }, - { - "table": "nulla", - "column": "deserunt proident dolor" - } - ] - } - ], - "authMode": "NOAUTH", - "description": "cillum", - "BasicAudit": { - "CreatedBy": "id aute dolore dolor in", - "LastModifiedBy": "laboris laborum proident", - "CreatedOn": "ad anim", - "LastModifiedOn": "occaecat in " - }, - "denyPassThrough": false, - "formEncodedKeysPassThrough": false - } - ] - } - }, - "v1ListMembersResponse": { - "description": "Contains array of Members.", - "properties": { - "members": { - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "title": "List of members belonging to the resource.", - "type": "array" - } - }, - "type": "object", - "example": { - "dolorec": true, - "members": [ - { - "ID": "et occae", - "type": "NONE", - "name": "consequat ullamco occaecat", - "email": "id amet anim", - "status": "NONE" - }, - { - "ID": "aliquip reprehenderit ", - "type": "NONE", - "name": "ullamc", - "email": "ex ut sit", - "status": "NONE" - }, - { - "ID": "dolore", - "type": "NONE", - "name": "minim cupidatat tempor in", - "email": "ad", - "status": "NONE" - } - ] - } - }, - "v1ListPermissionsOfMemberResponse": { - "properties": { - "permissions": { - "items": { - "type": "string" - }, - "title": "Permissions that a member has been assigned.", - "type": "array" - } - }, - "type": "object", - "example": { - "sed4": false, - "permissions": [ - "Excepteur ni", - "ullamco et exerc", - "cillum velit" - ] - } - }, - "v1ListPipelineEncryptionKeysResponse": { - "properties": { - "encryptionKeys": { - "description": "Encryption keys.", - "items": { - "$ref": "#/components/schemas/v1PipelineEncryptionKeyResponse" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "encryptionKeys": [ - { - "ID": "nisi deserunt", - "encryptionProtocol": "NONE_PROTOCOL", - "publicKey": "officia", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "hasPrivateKey": false - }, - { - "ID": "sit", - "encryptionProtocol": "NONE_PROTOCOL", - "publicKey": "d", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "hasPrivateKey": true - }, - { - "ID": "quis consequat deserunt elit", - "encryptionProtocol": "NONE_PROTOCOL", - "publicKey": "Excepteur in reprehenderit nulla", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "hasPrivateKey": true - } - ] - } - }, - "v1ListPoliciesByRoleResponse": { - "properties": { - "policies": { - "items": { - "$ref": "#/components/schemas/v1Policy" - }, - "title": "The retrieved Policies.", - "type": "array" - } - }, - "type": "object", - "example": { - "policies": [ - { - "ID": "sed Lorem culpa consequat", - "name": "QLr24b", - "displayName": "in quis enim", - "description": "est Ut incididunt ut ad", - "namespace": "reprehenderit elit do Ut", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "vel", - "LastModifiedBy": "incididunt", - "CreatedOn": "Ut Duis magna", - "LastModifiedOn": "cupidatat " - }, - "resource": { - "ID": "dolore dolor", - "type": "NONE", - "name": "dolor dolor", - "namespace": "laborum mollit id reprehenderit culpa", - "description": "fugiat", - "status": "NONE", - "displayName": "non" - }, - "members": [ - "tempor aute dolor", - "magna", - "dolor" - ], - "rules": [ - { - "ID": "voluptate Lorem", - "name": "aTkN6U", - "effect": "NONE_EFFECT", - "actions": [ - "su", - "mollit enim", - "officia dolore ea in" - ], - "resources": [ - "sed ex", - "adipisicing nulla dolor ex", - "eu non aute dolor velit" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "dolor elit", - "rowFilter": "ex minim sed ut consectetur", - "ruleExpression": "fugiat consequat esse", - "redaction": "ut" - }, - { - "ID": "Excepteur officia do mollit", - "name": "XYcq3CanAH", - "effect": "NONE_EFFECT", - "actions": [ - "sit amet sed Lorem dolore", - "dolor laborum in", - "Excepteur veniam Lorem nostrud do" - ], - "resources": [ - "pariatur", - "velit commod", - "cupidatat exercitation aute" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "do", - "rowFilter": "commodo non dolor", - "ruleExpression": "elit eiusmod ut ad", - "redaction": "aliqua sed dolor ad sint" - }, - { - "ID": "eu", - "name": "HxX6GDZL22", - "effect": "NONE_EFFECT", - "actions": [ - "exercitation", - "adipisicing sed", - "adipisicing proident" - ], - "resources": [ - "officia incididunt proident", - "dolore sed", - "cupidatat esse in anim" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "consequat", - "rowFilter": "exercitation consectetur dolore et", - "ruleExpression": "velit in", - "redaction": "do ut ad enim" - } - ] - }, - { - "ID": "mollit non", - "name": "UJ16J6", - "displayName": "deserunt a", - "description": "quis voluptate", - "namespace": "dolor", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "Excepteur nulla labore ullamco sit", - "LastModifiedBy": "eu commodo exercitati", - "CreatedOn": "id qui occaecat voluptate", - "LastModifiedOn": "reprehenderit sint ex voluptate" - }, - "resource": { - "ID": "sint", - "type": "NONE", - "name": "Excepteur Ut eiusmod aliquip laboris", - "namespace": "Lorem mo", - "description": "ea in", - "status": "NONE", - "displayName": "pro" - }, - "members": [ - "nulla est re", - "cupidata", - "commodo ea sint elit nisi" - ], - "rules": [ - { - "ID": "quis occaecat dolore culpa", - "name": "JBL", - "effect": "NONE_EFFECT", - "actions": [ - "ex", - "mollit non cillum irure", - "eu Excep" - ], - "resources": [ - "irure ea", - "qui do sun", - "magna aute" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "velit non e", - "rowFilter": "nulla quis proident Excepteur", - "ruleExpression": "volup", - "redaction": "mollit laborum r" - }, - { - "ID": "ullamco sed", - "name": "w7cs", - "effect": "NONE_EFFECT", - "actions": [ - "dolor", - "et adipisicing", - "" - ], - "resources": [ - "occaecat in", - "tempor", - "com" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "fugiat", - "rowFilter": "commodo id in aliqui", - "ruleExpression": "dolor", - "redaction": "deserunt" - }, - { - "ID": "dolore ipsum", - "name": "Y", - "effect": "NONE_EFFECT", - "actions": [ - "dolor ipsum do", - "dolor n", - "ad dolore in" - ], - "resources": [ - "enim voluptate", - "sit incididunt", - "dolor" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "mollit laboris proident dolore vo", - "rowFilter": "quis", - "ruleExpression": "tempor esse deserunt ut", - "redaction": "dolor" - } - ] - }, - { - "ID": "dolore in", - "name": "LI1", - "displayName": "reprehenderit ad laboris in incididunt", - "description": "consectetur elit voluptate", - "namespace": "cillum", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "nostrud do elit", - "LastModifiedBy": "deserunt laboris nostrud", - "CreatedOn": "incididunt sed eu non", - "LastModifiedOn": "nisi labore cupidatat" - }, - "resource": { - "ID": "amet cillum officia", - "type": "NONE", - "name": "pariatur ut", - "namespace": "velit anim", - "description": "Ut", - "status": "NONE", - "displayName": "sunt voluptate" - }, - "members": [ - "in repreh", - "pariatur", - "adipisicing anim" - ], - "rules": [ - { - "ID": "laborum in Lorem ut veniam", - "name": "Yi7j6Vm", - "effect": "NONE_EFFECT", - "actions": [ - "dolor anim fugiat dolore occaecat", - "eiusmod aliqua ex in ad", - "exercitation proident ut in" - ], - "resources": [ - "sit Ut ad amet Excepteur", - "commodo nisi proident", - "laborum aliqua in laboris e" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "sit nulla cillum dolor", - "rowFilter": "nulla sit", - "ruleExpression": "magna mollit adipisicing consectetur min", - "redaction": "cillum anim consequat officia labore" - }, - { - "ID": "deserunt do adipisicing eu", - "name": "HC0Ul", - "effect": "NONE_EFFECT", - "actions": [ - "sit sed", - "cupi", - "quis mollit magna in nulla" - ], - "resources": [ - "voluptate ipsum pariatur", - "non anim aliqua consectetur sit", - "ad et id elit" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "aute proident", - "rowFilter": "dolore eiusmod", - "ruleExpression": "sed ut ut", - "redaction": "eu nisi magn" - }, - { - "ID": "nostrud commodo et ipsum", - "name": "6AJmVrwG", - "effect": "NONE_EFFECT", - "actions": [ - "est Excepteur", - "magna", - "est ad esse aliqua dolor" - ], - "resources": [ - "nulla do ", - "aute", - "qui exercitation id" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "veniam minim", - "rowFilter": "fugiat id occaecat reprehenderit ut", - "ruleExpression": "incididunt", - "redaction": "ea deserunt eiusmod" - } - ] - } - ] - } - }, - "v1ListPoliciesResponse": { - "properties": { - "policies": { - "items": { - "$ref": "#/components/schemas/v1Policy" - }, - "title": "The retrieved Policies.", - "type": "array" - } - }, - "type": "object", - "example": { - "in_cb": -72877526.93268903, - "ut922": "", - "Loremf4": true, - "policies": [ - { - "ID": "fugiat non amet laborum", - "name": "YF", - "displayName": "fugiat ipsum", - "description": "enim aliquip eiusmod fugiat", - "namespace": "elit volu", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "in deserunt quis exe", - "LastModifiedBy": "Duis commodo", - "CreatedOn": "sed ex tempor fugiat in", - "LastModifiedOn": "culpa id sit amet" - }, - "resource": { - "ID": "sit cupidatat", - "type": "NONE", - "name": "proident quis eu cupidatat sit", - "namespace": "velit consectetur deserunt fugiat ex", - "description": "Ut pariatur in", - "status": "NONE", - "displayName": "aute co" - }, - "members": [ - "proident aliqua", - "non magna pariatur", - "Duis aliqua incididunt" - ], - "rules": [ - { - "ID": "aliquip amet in eiusmod", - "name": "F8pDXcK", - "effect": "NONE_EFFECT", - "actions": [ - "labore", - "aliqua in", - "in adipisicing dolore" - ], - "resources": [ - "commodo Ut anim dolor velit", - "officia in consectetur exercitation qui", - "adipisicing sit in ea ex" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "ex", - "rowFilter": "id", - "ruleExpression": "E", - "redaction": "nisi quis" - }, - { - "ID": "laboris", - "name": "L4iJqdenC", - "effect": "NONE_EFFECT", - "actions": [ - "su", - "nulla", - "commodo in occaecat" - ], - "resources": [ - "amet commodo", - "sit aliqua", - "aliquip Ut Duis dolor" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "deserunt", - "rowFilter": "id tempor non laborum dolor", - "ruleExpression": "proident ea laborum aliqua", - "redaction": "do" - }, - { - "ID": "aliqua", - "name": "z", - "effect": "NONE_EFFECT", - "actions": [ - "consectetur minim nulla qui", - "qui officia", - "quis veniam irure sit" - ], - "resources": [ - "ut Duis labore", - "sed esse", - "velit" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "dolore", - "rowFilter": "ea", - "ruleExpression": "amet voluptate anim Ut", - "redaction": "nisi commodo tempor qui eu" - } - ] - }, - { - "ID": "eiusmod", - "name": "z", - "displayName": "non id volup", - "description": "veniam do cillum dolore", - "namespace": "ex incididunt aliquip irure", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "labore", - "LastModifiedBy": "esse et officia magna", - "CreatedOn": "nisi qui eiusmod", - "LastModifiedOn": "veniam est sint in" - }, - "resource": { - "ID": "sunt velit sint qui in", - "type": "NONE", - "name": "elit proident Ut", - "namespace": "enim minim in", - "description": "mollit", - "status": "NONE", - "displayName": "sint " - }, - "members": [ - "tempor aliqua in ut adipisicing", - "Lorem minim commodo", - "cupidatat magna" - ], - "rules": [ - { - "ID": "sit et quis nostrud", - "name": "CB", - "effect": "NONE_EFFECT", - "actions": [ - "laborum Excepteur eiusmod", - "ullamco volup", - "tempor ullamco aute" - ], - "resources": [ - "reprehenderit", - "ipsum", - "exercitation sed qui elit consectetur" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "aute Lorem minim pariatur occaecat", - "rowFilter": "enim minim ", - "ruleExpression": "dolor", - "redaction": "dolor nisi magna" - }, - { - "ID": "cillum ", - "name": "9uluJs", - "effect": "NONE_EFFECT", - "actions": [ - "nostrud in ut enim culpa", - "dolore q", - "ad nulla in tempo" - ], - "resources": [ - "proident laboris ea enim velit", - "magna ullamco", - "ipsum esse culpa do veniam" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "adipisicing dolo", - "rowFilter": "esse Ut", - "ruleExpression": "irure ea nostrud in", - "redaction": "aute Ut dolore eiusmod" - }, - { - "ID": "amet laboris quis", - "name": "iCQ1xcPLdc", - "effect": "NONE_EFFECT", - "actions": [ - "amet ex", - "culpa sed consectetur", - "sunt dolore mollit adipisicing" - ], - "resources": [ - "exercitation culpa eu aute", - "aliqua", - "ad" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "nostrud", - "rowFilter": "anim laboris deserunt", - "ruleExpression": "officia", - "redaction": "eiusmod consequat adipisicing" - } - ] - }, - { - "ID": "non qui id", - "name": "t5", - "displayName": "", - "description": "eu officia", - "namespace": "est ut nostrud", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "irure exercitation", - "LastModifiedBy": "magna quis dolore", - "CreatedOn": "in laborum anim magna exercitation", - "LastModifiedOn": "aliqua dolore" - }, - "resource": { - "ID": "laboris mollit veniam enim cillum", - "type": "NONE", - "name": "exercitation Excepteur dolore fugiat est", - "namespace": "ullam", - "description": "quis fugiat", - "status": "NONE", - "displayName": "elit magna velit" - }, - "members": [ - "fugiat dolor", - "aute", - "dolor laboris in consectetu" - ], - "rules": [ - { - "ID": "dolore irure", - "name": "k5bhC5", - "effect": "NONE_EFFECT", - "actions": [ - "ea", - "Excepteur ad irure consequat", - "occaecat do dolor" - ], - "resources": [ - "ea vel", - "irure adipisicing enim", - "esse Lorem et aliquip" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "dolor id laborum laboris", - "rowFilter": "est do", - "ruleExpression": "adipisicing", - "redaction": "Excepteur enim qui tempor" - }, - { - "ID": "", - "name": "61IR", - "effect": "NONE_EFFECT", - "actions": [ - "aliqua sint dolor ex", - "anim voluptate", - "minim et" - ], - "resources": [ - "sed anim", - "sunt", - "id dolor " - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "dolore sint", - "rowFilter": "aute Duis labore velit", - "ruleExpression": "sit dolore ut quis cillum", - "redaction": "in " - }, - { - "ID": "commodo veniam officia non id", - "name": "b2N", - "effect": "NONE_EFFECT", - "actions": [ - "ipsum amet ut d", - "labore enim anim eiusmod ", - "tempor amet adipisicing id esse" - ], - "resources": [ - "voluptate Ut commodo veniam officia", - "et eiusmod ", - "proident" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "pariatur in cupidatat", - "rowFilter": "laboris aute ut", - "ruleExpression": "eu eiusmod nostrud minim", - "redaction": "aliqua in " - } - ] - } - ] - } - }, - "v1ListRegionsResponse": { - "example": { - "regions": { - "l0f36c510c3643d8b5df45aa58e91909": { - "displayName": "Oregon", - "flagUrl": "https://static.skyflow.com/images/flags/Groupusa.png", - "regionName": "us-west-2.1-oregon", - "regionUrl": "ebfc9bee4242.vault.skyflowapis.com" - } - } - }, - "properties": { - "regions": { - "additionalProperties": { - "$ref": "#/components/schemas/v1RegionInfo" - }, - "description": "RegionInfo with regionID as key, for the requested accountID.", - "title": "regionInfo", - "type": "object" - } - }, - "type": "object" - }, - "v1ListResourcesResponse": { - "properties": { - "resources": { - "description": "List of all resources under the given resource.", - "items": { - "$ref": "#/components/schemas/v1Resource" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "aliqua5e": false, - "resources": [ - { - "ID": "occaecat", - "type": "NONE", - "name": "irure a", - "namespace": "et cupidatat", - "description": "aliquip non aliqua", - "status": "NONE", - "displayName": "dolor incididunt in consectetur" - }, - { - "ID": "tempor anim eiusmod Duis", - "type": "NONE", - "name": "aute ut aliquip est", - "namespace": "ex", - "description": "in nostrud in", - "status": "NONE", - "displayName": "reprehenderit in Lorem" - }, - { - "ID": "irure aliquip deserunt ipsum", - "type": "NONE", - "name": "non enim ad Excepteur", - "namespace": "et Excepteur", - "description": "proident minim eu", - "status": "NONE", - "displayName": "sunt velit dolore adipisicing" - } - ] - } - }, - "v1ListRoleDefinitionsResponse": { - "properties": { - "roleDefinitions": { - "items": { - "$ref": "#/components/schemas/v1RoleDefinition" - }, - "title": "A pre-defined role definition.", - "type": "array" - } - }, - "type": "object", - "example": { - "voluptate_2c": "ad cillum sint", - "roleDefinitions": [ - { - "name": "Excepteur", - "displayName": "proident", - "description": "sit", - "permissions": [ - "ut", - "nisi", - "nulla" - ], - "levels": [ - "sint adipisicing a", - "exercitation commodo dolore sint esse", - "labore id cupidata" - ], - "type": "NONE" - }, - { - "name": "incididunt ut ipsum dolor nostrud", - "displayName": "id incididunt consectetur dolor", - "description": "id consectetur voluptate ullamco", - "permissions": [ - "irure ullamco adipisi", - "cillum culpa aliqua", - "consequat Duis aliqua adipisicing sunt" - ], - "levels": [ - "est sit minim commodo in", - "minim reprehenderit et sint aliquip", - "est" - ], - "type": "NONE" - }, - { - "name": "ullamc", - "displayName": "dolor Lorem velit", - "description": "sint reprehenderit tempor", - "permissions": [ - "occaecat consequat", - "dolore ipsum ad est nulla", - "Duis" - ], - "levels": [ - "aute dolore occaecat adipisicing quis", - "sint Ut nulla deserunt", - "laboris cu" - ], - "type": "NONE" - } - ] - } - }, - "v1ListRolesOfMemberResponse": { - "properties": { - "roleToResource": { - "items": { - "$ref": "#/components/schemas/v1RoleResourcePair" - }, - "title": "Pairs of role to resource that a member has been assigned.", - "type": "array" - } - }, - "type": "object", - "example": { - "cupidatat_d0a": 74469705.59110603, - "elit_f": -3633668.035060063, - "roleToResource": [ - { - "role": { - "ID": "eu et", - "namespace": "ut exercitation", - "definition": { - "name": "est", - "displayName": "officia sunt in incididunt", - "description": "sed laborum et", - "permissions": [ - "ad Excepteur ut", - "nisi Excepteur pariatur cillum", - "occaecat pariatur aliqua ut adipisicing" - ], - "levels": [ - "quis commodo", - "dolore cillum sit", - "con" - ], - "type": "NONE" - }, - "resource": { - "ID": "Lorem anim et", - "type": "NONE", - "name": "dolor officia ipsum", - "namespace": "proident aliqua", - "description": "eu veniam eiusmod", - "status": "NONE", - "displayName": "consequat magna cupidatat quis" - }, - "BasicAudit": { - "CreatedBy": "incididunt laboris sunt Excepteur aute", - "LastModifiedBy": "non proident", - "CreatedOn": "eu adipisicing ullamco", - "LastModifiedOn": "nulla laboris ad eiusmod" - } - }, - "resource": { - "ID": "minim la", - "type": "NONE", - "name": "est minim ex in", - "namespace": "qui ex", - "description": "exercitation qui sed comm", - "status": "NONE", - "displayName": "q" - } - }, - { - "role": { - "ID": "adipisicing eiusmod", - "namespace": "commodo fugiat", - "definition": { - "name": "ea", - "displayName": "in dolore", - "description": "incididunt culpa", - "permissions": [ - "eu", - "Lorem ad", - "sit labore consectetur proident dolor" - ], - "levels": [ - "officia amet quis", - "in esse consectetur occaecat non", - "cillum labore Duis" - ], - "type": "NONE" - }, - "resource": { - "ID": "anim nisi", - "type": "NONE", - "name": "non laborum occaecat deserunt", - "namespace": "Duis quis in", - "description": "ut voluptate id", - "status": "NONE", - "displayName": "laborum dolore ut" - }, - "BasicAudit": { - "CreatedBy": "et eiusmod ipsum do", - "LastModifiedBy": "magna incididunt ad voluptate laboris", - "CreatedOn": "laboris in occaecat cupidatat", - "LastModifiedOn": "aliquip" - } - }, - "resource": { - "ID": "n", - "type": "NONE", - "name": "adipisicing", - "namespace": "consequat proident tempor", - "description": "veniam amet labore pariatur ad", - "status": "NONE", - "displayName": "dolore" - } - }, - { - "role": { - "ID": "pariatur adipisicing sed ut", - "namespace": "id quis exercitation", - "definition": { - "name": "culpa nulla elit", - "displayName": "ea reprehenderit velit", - "description": "quis amet in dolore", - "permissions": [ - "proident do dolore eu", - "Excepteur occaecat", - "voluptate est dolore eiusmod" - ], - "levels": [ - "aute anim dolor non", - "et ipsum Lorem", - "pariatur" - ], - "type": "NONE" - }, - "resource": { - "ID": "nulla Ut", - "type": "NONE", - "name": "eiusmod es", - "namespace": "labore consequat velit aute conse", - "description": "esse tempor", - "status": "NONE", - "displayName": "exercitation do" - }, - "BasicAudit": { - "CreatedBy": "ut fugiat ad commodo", - "LastModifiedBy": "in ullamco", - "CreatedOn": "cupidatat ut nulla velit culpa", - "LastModifiedOn": "magna ea Lorem" - } - }, - "resource": { - "ID": "laboris sunt nisi do", - "type": "NONE", - "name": "ea ex id pariatur sed", - "namespace": "laborum aliqua in labore", - "description": "minim aute in proident", - "status": "NONE", - "displayName": "Excepteur ut enim nisi eiusmod" - } - } - ] - } - }, - "v1ListRolesOfPolicyResponse": { - "description": "Contains array of roles.", - "properties": { - "roles": { - "items": { - "$ref": "#/components/schemas/v1Role" - }, - "title": "The requested Roles", - "type": "array" - } - }, - "type": "object", - "example": { - "roles": [ - { - "ID": "laborum aute", - "namespace": "eu", - "definition": { - "name": "veniam nulla", - "displayName": "qui f", - "description": "incididunt nisi cillum", - "permissions": [ - "nulla elit dolor", - "ad sint ut aliqua", - "ipsum " - ], - "levels": [ - "ex", - "dolore culpa", - "nostrud" - ], - "type": "NONE" - }, - "resource": { - "ID": "commodo Ut dolore", - "type": "NONE", - "name": "ut pariatur exercitation consectetur", - "namespace": "et nisi qui cupidatat a", - "description": "in ipsum nisi ut Ut", - "status": "NONE", - "displayName": "in ullamco irure in" - }, - "BasicAudit": { - "CreatedBy": "Duis aliqua", - "LastModifiedBy": "sint reprehenderit exercitation laboris et", - "CreatedOn": "non dolor ullamco", - "LastModifiedOn": "exercitation dolore" - } - }, - { - "ID": "officia veniam voluptate", - "namespace": "nostrud cons", - "definition": { - "name": "et id consectetur nulla dolor", - "displayName": "deserunt ut et adipisic", - "description": "c", - "permissions": [ - "ex", - "qui cupidatat", - "dolor veniam" - ], - "levels": [ - "esse eu proident", - "id nisi ex c", - "in" - ], - "type": "NONE" - }, - "resource": { - "ID": "Excepteur sint Lorem ad laborum", - "type": "NONE", - "name": "quis minim i", - "namespace": "ut ", - "description": "e", - "status": "NONE", - "displayName": "amet" - }, - "BasicAudit": { - "CreatedBy": "et ad volupta", - "LastModifiedBy": "ipsum", - "CreatedOn": "aliqua labore occaecat veniam", - "LastModifiedOn": "minim est" - } - }, - { - "ID": "ut exercitation Ut esse Duis", - "namespace": "proident cupidatat", - "definition": { - "name": "sunt mollit dolore elit culpa", - "displayName": "sunt ad et culpa", - "description": "nulla", - "permissions": [ - "ut in id", - "Lorem esse anim commodo", - "commodo ut occaecat deserunt sint" - ], - "levels": [ - "ut aute irure ut ullamco", - "exercitation minim", - "tempor nulla dolore dolor" - ], - "type": "NONE" - }, - "resource": { - "ID": "cupidatat", - "type": "NONE", - "name": "la", - "namespace": "irure", - "description": "dolor Ut nisi irure culpa", - "status": "NONE", - "displayName": "sit in" - }, - "BasicAudit": { - "CreatedBy": "aliqua do", - "LastModifiedBy": "aute incididunt est fugiat", - "CreatedOn": "qui Lorem tempor occaecat officia", - "LastModifiedOn": "dolor" - } - } - ] - } - }, - "v1ListRolesResponse": { - "properties": { - "roles": { - "items": { - "$ref": "#/components/schemas/v1Role" - }, - "title": "List of roles belonging to the provided resource.", - "type": "array" - } - }, - "type": "object", - "example": { - "roles": [ - { - "ID": "elit ullamco laborum veniam id", - "namespace": "Duis Lorem est sint", - "definition": { - "name": "elit consectetur mol", - "displayName": "ut ullamc", - "description": "officia laborum", - "permissions": [ - "velit Lorem voluptate tempor amet", - "commodo adipisicing", - "aliqua velit esse" - ], - "levels": [ - "cupidatat sint nulla Duis do", - "proident magna anim", - "et in" - ], - "type": "NONE" - }, - "resource": { - "ID": "tempor commodo", - "type": "NONE", - "name": "id", - "namespace": "reprehenderit nostrud do", - "description": "enim ad laborum", - "status": "NONE", - "displayName": "fugiat eiusmod aliqua exercitation est" - }, - "BasicAudit": { - "CreatedBy": "laboris consectetur in ullamco", - "LastModifiedBy": "occaecat ipsum eu laboris", - "CreatedOn": "sit in", - "LastModifiedOn": "elit aute nisi officia" - } - }, - { - "ID": "Excepteur", - "namespace": "mollit anim amet in eu", - "definition": { - "name": "et in laboris", - "displayName": "tempor nostrud fugiat id", - "description": "minim sed", - "permissions": [ - "moll", - "nostrud ea", - "pariatur quis minim dolor eiusmod" - ], - "levels": [ - "et", - "laboris irure", - "amet est magna" - ], - "type": "NONE" - }, - "resource": { - "ID": "amet commodo esse irure", - "type": "NONE", - "name": "ut qui", - "namespace": "fugiat", - "description": "ut eiusmod elit id nulla", - "status": "NONE", - "displayName": "do Lorem" - }, - "BasicAudit": { - "CreatedBy": "minim", - "LastModifiedBy": "reprehenderit", - "CreatedOn": "in do anim enim", - "LastModifiedOn": "eu" - } - }, - { - "ID": "adipisicin", - "namespace": "velit", - "definition": { - "name": "sunt et culpa ut nostrud", - "displayName": "ullamco dolor anim aliqua est", - "description": "velit sit pariatur ex", - "permissions": [ - "Lorem", - "adipisicing ut", - "id labore" - ], - "levels": [ - "Excepteur exercitat", - "mollit proident", - "aute" - ], - "type": "NONE" - }, - "resource": { - "ID": "tempor veniam culpa voluptate", - "type": "NONE", - "name": "voluptate nulla in sint", - "namespace": "cupidatat veniam aliquip sed", - "description": "in nulla", - "status": "NONE", - "displayName": "id sit" - }, - "BasicAudit": { - "CreatedBy": "dolore eiusmod exercitation", - "LastModifiedBy": "", - "CreatedOn": "fugiat ut non sunt", - "LastModifiedOn": "cillum commodo consectetur re" - } - } - ] - } - }, - "v1ListServiceAccountKeysResponse": { - "description": "The service account keys list response.", - "properties": { - "keys": { - "description": "The public keys for the service account.", - "items": { - "$ref": "#/components/schemas/v1ServiceAccountKey" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "keys": [ - { - "keyID": "in in", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "UBM/bhhkUy/HdnUCqDGUxV==", - "publicKeyData": "3/Y09DXVpCOSibOV2q95yfyHBjtkqUA+tvRfGDan", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "amet culpa", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "f7cdzJ/q+gcZvHVG0uKJ", - "publicKeyData": "", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "qui ad", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "dycr7AUSfR==", - "publicKeyData": "Zksp9l1=", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - } - ] - } - }, - "v1ListServiceAccountsResponse": { - "description": "The service account list response.", - "properties": { - "serviceAccounts": { - "items": { - "$ref": "#/components/schemas/v1ServiceAccountInfo" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "serviceAccounts": [ - { - "serviceAccount": { - "name": "eu ullamco Duis adipisicing reprehenderit", - "displayName": "cillum adipisicing proid", - "description": "in nisi consequat", - "ipAllowlist": { - "status": "INACTIVE", - "cidrBlocks": [ - "exercitation qui consectetur", - "dolor quis sunt voluptate", - "esse quis pariatur deserunt" - ] - }, - "ID": "ad ", - "namespace": "Duis ex mollit", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "velit nulla consectetur", - "LastModifiedBy": "veniam minim proident", - "CreatedOn": "e", - "LastModifiedOn": "in sint" - } - }, - "clientConfiguration": { - "enforceContextID": false, - "enforceSignedDataTokens": true - } - }, - { - "serviceAccount": { - "name": "ut exercitation do culpa adipisicing", - "displayName": "Duis Excepteur minim adipisicing aute", - "description": "aliqua dolor proident", - "ipAllowlist": { - "status": "INACTIVE", - "cidrBlocks": [ - "cupidatat commodo dolor officia Excepteur", - "commodo veniam", - "ad Lorem dolore" - ] - }, - "ID": "sint labore amet aliquip", - "namespace": "amet Excepteur sunt", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "eiusmod sunt quis", - "LastModifiedBy": "irure ullamco", - "CreatedOn": "do", - "LastModifiedOn": "dolor" - } - }, - "clientConfiguration": { - "enforceContextID": true, - "enforceSignedDataTokens": true - } - }, - { - "serviceAccount": { - "name": "cupidatat et ipsum", - "displayName": "anim proident n", - "description": "dolor Excepteur in reprehenderit", - "ipAllowlist": { - "status": "INACTIVE", - "cidrBlocks": [ - "laboris ut", - "minim amet voluptate dolore eu", - "Excepteur " - ] - }, - "ID": "et commodo reprehenderit dolor", - "namespace": "elit sint non culpa cillum", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "aute Lorem magna in dolor", - "LastModifiedBy": "aliquip", - "CreatedOn": "et", - "LastModifiedOn": "Lorem" - } - }, - "clientConfiguration": { - "enforceContextID": true, - "enforceSignedDataTokens": true - } - } - ] - } - }, - "v1ListSignedDataTokenKeyResponse": { - "description": "List response for signed token keys.", - "properties": { - "keys": { - "items": { - "$ref": "#/components/schemas/v1SignedDataTokenKey" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "nulla4f": false, - "keys": [ - { - "keyID": "ex", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "GSCHuM/b9BNk7xcf", - "publicKeyData": "Ogm6itC=", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "ea", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "+NFgFo==", - "publicKeyData": "a0KOj5O5zQHZQbnDe0S=", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - }, - { - "keyID": "sint occa", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "EpA3b11OC8Xm7Lp9Td1Ej58KLHUoaNEGCb==", - "publicKeyData": "6WiaLmcPeSAdUekbtivnEi4aA1P3wWGfoXeWLfQr", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - } - ] - } - }, - "v1ListUsersResponse": { - "description": "User list response.", - "example": { - "users": [ - { - "BasicAudit": { - "CreatedBy": "saaca13f7fc54d9c967cafb7d5f26004", - "CreatedOn": "2024-05-07 20:03:57.53338124 +0000 UTC", - "LastModifiedBy": "", - "LastModifiedOn": "" - }, - "ID": "c4cea870d25d4911aee705c98fd8a21f", - "contactAddress": { - "city": "Bloom", - "country": "United States", - "state": "Ohio", - "streetAddress": "111 First Street", - "zip": 65127 - }, - "name": "Jan Doe", - "status": "PENDING", - "userIdentity": { - "email": "jan@acme.com", - "oktaID": "00uj8zs9ung3x8ucz4x7" - } - } - ] - }, - "properties": { - "users": { - "items": { - "$ref": "#/components/schemas/v1User" - }, - "type": "array" - } - }, - "type": "object" - }, - "v1ListVaultTemplatesResponse": { - "properties": { - "vaultTemplates": { - "description": "List of Vault Templates.", - "items": { - "$ref": "#/components/schemas/v1VaultTemplate" - }, - "title": "Vault Templates List", - "type": "array" - } - }, - "type": "object", - "example": { - "vaultTemplates": [ - { - "ID": "ad", - "BasicAudit": { - "CreatedBy": "enim", - "LastModifiedBy": "est commodo magna", - "CreatedOn": "consequat ullamco ", - "LastModifiedOn": "voluptate id Excepteur aliqu" - }, - "name": "sint aliquip", - "description": "irure sint Duis nulla", - "vaultSchema": { - "schemas": [ - { - "ID": "anim quis reprehenderit pariatur exercitation", - "name": "dolore adipisicing", - "parentSchemaProperties": { - "parentID": "c", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "culpa", - "values": [ - "nisi exercitation consectetur", - "sunt", - "nostrud nulla quis fugiat exercitation" - ] - }, - { - "name": "aliqua irure voluptate", - "values": [ - "ullamco quis", - "esse mollit adipi", - "fugiat commodo in" - ] - }, - { - "name": "in cupidatat sit culpa esse", - "values": [ - "dolore sunt sint Lorem sed", - "aute", - "deserunt Excepteur ad" - ] - } - ], - "name": "cupidatat tempor" - }, - "fields": [ - { - "name": "irure Lorem tempor ipsum id", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "veniam", - "values": [ - "sit eiusmod in ad", - "dolor irure culpa", - "nostrud consequat" - ] - }, - { - "name": "ullamco consectetur sed quis", - "values": [ - "Ut ven", - "id", - "enim ut qui proident" - ] - }, - { - "name": "mollit labore qui id", - "values": [ - "ut commodo", - "velit consequat", - "dolor eiusmod" - ] - } - ], - "properties": { - "name": "in consec", - "description": "quis ipsum labore", - "references": "elit ut est" - }, - "ID": "consequat eu deserunt" - }, - { - "name": "in incididunt in nisi", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "in do consectetur", - "values": [ - "anim cupidatat dolor", - "elit", - "magna Excepteur in" - ] - }, - { - "name": "dolore magna sit veniam esse", - "values": [ - "laborum", - "in deserunt in consequat", - "magna sint" - ] - }, - { - "name": "mollit in sed dolor eiusmod", - "values": [ - "occaecat", - "do", - "dolore" - ] - } - ], - "properties": { - "name": "nostrud sint eiusmod", - "description": "in labore", - "references": "in" - }, - "ID": "in" - }, - { - "name": "Ut cupidatat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "reprehenderit ullamco", - "values": [ - "minim et", - "commodo non ut voluptate officia", - "sunt sint Lorem ad" - ] - }, - { - "name": "in in", - "values": [ - "consequat deserunt", - "ex in dolore cupidatat consectetur", - "voluptate" - ] - }, - { - "name": "Lorem", - "values": [ - "consectetur officia culpa nostrud", - "dolor id ad pariatur Ut", - "commodo cupidatat" - ] - } - ], - "properties": { - "name": "mollit consequat nulla", - "description": "ut commodo minim", - "references": "est ipsum" - }, - "ID": "nisi" - } - ], - "childrenSchemas": [ - { - "aliquip5": true - }, - { - "dolore_ff": "irure aliqua" - }, - { - "deserunt_d": "Ut velit in" - } - ], - "schemaTags": [ - { - "name": "non", - "values": [ - "exercitation", - "nostrud amet fugiat qui ullamco", - "ex incididunt quis id" - ] - }, - { - "name": "proident nisi irure sed reprehenderit", - "values": [ - "proident ut eiusmod", - "dolore aute", - "adipisicing ut consectetur fugiat" - ] - }, - { - "name": "qui adipisicing eu ullamco ut", - "values": [ - "eu irure pariatur magna", - "incididunt eiusmod minim", - "dolore Excepteur" - ] - } - ], - "properties": { - "name": "Ut cupidatat", - "description": "labore irure", - "references": "ipsum" - } - }, - { - "ID": "fugiat", - "name": "mollit fugiat enim nisi", - "parentSchemaProperties": { - "parentID": "laborum Lorem reprehenderit elit Ut", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "ut", - "values": [ - "esse deserunt Duis", - "qui do", - "magna" - ] - }, - { - "name": "ex sit dolor Excepteur", - "values": [ - "ut nulla enim officia dolore", - "Excepteur cupidatat aliqua", - "mollit" - ] - }, - { - "name": "exercitation consequat culpa", - "values": [ - "non dolore id", - "culpa amet nisi eiusmod id", - "sunt nisi officia inc" - ] - } - ], - "name": "qui ad aliqua veniam esse" - }, - "fields": [ - { - "name": "ipsum", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "exercitation Duis esse non consecte", - "values": [ - "adipisicing nostrud dolore pariatur dolore", - "Lorem", - "dolore non irure aliqua" - ] - }, - { - "name": "sed ipsum aute dolor laboris", - "values": [ - "fugiat ad Duis", - "eiusmod sit", - "in " - ] - }, - { - "name": "ullamco in in occaecat", - "values": [ - "dolore voluptate ut dolor ut", - "aliqua ut cons", - "non tempor aliquip dolor" - ] - } - ], - "properties": { - "name": "ipsum voluptate", - "description": "nostrud reprehenderit", - "references": "in eiusmod incididunt" - }, - "ID": "sint commodo" - }, - { - "name": "labore elit consequat", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "dolor", - "values": [ - "esse aliqua consectetur labore", - "occaecat ea ad offic", - "laboris quis aute sint" - ] - }, - { - "name": "elit", - "values": [ - "cillum sint", - "eiusmod cupidatat in", - "dolore" - ] - }, - { - "name": "labore", - "values": [ - "velit Lorem", - "do mollit", - "ut sunt" - ] - } - ], - "properties": { - "name": "pariatur exercitation", - "description": "anim nostrud sunt officia", - "references": "Duis nisi sit dolor dolore" - }, - "ID": "mollit irur" - }, - { - "name": "adipisicing dolor do", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "dolor aliquip do", - "values": [ - "nostrud ipsum quis non", - "tempor esse voluptate", - "qui est commodo " - ] - }, - { - "name": "sint ut deserunt dolor", - "values": [ - "deserunt dolore pariatur", - "esse eiusmod consequat", - "ut commodo Ut Excepteur pa" - ] - }, - { - "name": "officia sit dolore non", - "values": [ - "in", - "anim cupidatat dolore Ut do", - "reprehenderit adipisicing" - ] - } - ], - "properties": { - "name": "quis magna consequat", - "description": "voluptate adipisicing ad", - "references": "qui " - }, - "ID": "deserun" - } - ], - "childrenSchemas": [ - { - "deserunt_9a": -94001912 - }, - { - "aliqua_96": false, - "reprehenderit_2": 73870627.37489808 - }, - { - "fugiat9f": 74445143 - } - ], - "schemaTags": [ - { - "name": "incididunt labore voluptate laborum", - "values": [ - "exercitation", - "laborum voluptate sint", - "aliquip non sit aliqua" - ] - }, - { - "name": "do est ad sit esse", - "values": [ - "nulla irure esse", - "sint esse mollit sit occaecat", - "incididunt in eiusmod aliqu" - ] - }, - { - "name": "dolore quis proident ", - "values": [ - "aute Lorem officia nostrud", - "est labore in ut consectetur", - "pariatur nulla magna" - ] - } - ], - "properties": { - "name": "dol", - "description": "ipsu", - "references": "dolor" - } - }, - { - "ID": "ad Duis", - "name": "occaecat ut Ut", - "parentSchemaProperties": { - "parentID": "aliqua", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "consequat voluptate", - "values": [ - "aute", - "cillum", - "labore adipisicing" - ] - }, - { - "name": "proident", - "values": [ - "minim irure", - "ex esse", - "dolor ipsum amet" - ] - }, - { - "name": "al", - "values": [ - "aliquip cupi", - "occaecat", - "nostrud esse incididunt" - ] - } - ], - "name": "ullamco" - }, - "fields": [ - { - "name": "ea irure minim Ut", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "non mollit aliquip ut", - "values": [ - "laborum consequat", - "velit ut est do exercitation", - "velit Duis in veniam sed" - ] - }, - { - "name": "et dolor non nulla occaecat", - "values": [ - "Duis ex cupidatat", - "", - "dolor" - ] - }, - { - "name": "et ea quis anim nisi", - "values": [ - "veniam est amet", - "labore aliquip consectetur in ad", - "nisi fugiat" - ] - } - ], - "properties": { - "name": "aute incididunt sint qui", - "description": "dolor", - "references": "eiusmod quis elit enim" - }, - "ID": "in in" - }, - { - "name": "exercitation reprehenderit", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "dolore consectetur laborum", - "values": [ - "culpa nostr", - "aliquip ex pariatur", - "veniam est" - ] - }, - { - "name": "Excepteur id occaecat laboris", - "values": [ - "in deserunt", - "laboris", - "in Excepteur Lorem D" - ] - }, - { - "name": "mollit qui eu minim", - "values": [ - "incididunt in ipsum et", - "mollit nulla sed consequat", - "irure" - ] - } - ], - "properties": { - "name": "nulla", - "description": "sed qui adipisicing", - "references": "Lorem" - }, - "ID": "et ea do Duis" - }, - { - "name": "occaecat consectetur amet", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "tempor ut volup", - "values": [ - "nisi elit amet consequat dolore", - "do", - "id adipisicing" - ] - }, - { - "name": "aliquip culpa mollit", - "values": [ - "consequat irure esse non", - "non Lorem quis", - "anim culpa ea in" - ] - }, - { - "name": "mollit anim ut", - "values": [ - "fugiat dolor qui Ut", - "Lorem officia anim", - "ea" - ] - } - ], - "properties": { - "name": "exercitation et sed esse qui", - "description": "proident", - "references": "in exercitati" - }, - "ID": "Excepteur consequat vo" - } - ], - "childrenSchemas": [ - { - "sed_c4": "cupidatat adipisicing aliqua", - "dolore29": -31529661 - }, - { - "ut_c4": "dolor ipsum ex" - }, - { - "dolora": "nulla nisi pariatur in" - } - ], - "schemaTags": [ - { - "name": "cillum ex", - "values": [ - "voluptate magna nulla laborum", - "nostrud ea deserunt eu", - "laboris" - ] - }, - { - "name": "cupidatat", - "values": [ - "cillum", - "ad in Except", - "" - ] - }, - { - "name": "reprehenderit ullamco", - "values": [ - "ut tempor dolore", - "non sint aliquip", - "pariatur sint cupidatat consectetur" - ] - } - ], - "properties": { - "name": "nostrud ", - "description": "occaecat dolore mollit consectetur fugiat", - "references": "irure quis aliqua Ut ullamco" - } - } - ], - "tags": [ - { - "name": "nisi dolor mollit", - "values": [ - "quis", - "sint adipisicing reprehenderit irure", - "enim dolore veniam pariatur" - ] - }, - { - "name": "id ullamco ut sint", - "values": [ - "voluptate anim amet Ut incididunt", - "eu", - "eiusmod pa" - ] - }, - { - "name": "sunt ad", - "values": [ - "esse", - "in ex Excepteur exercitation cupidatat", - "in laboris" - ] - } - ] - }, - "namespace": "cu", - "status": "NONE", - "displayName": "pariatur" - }, - { - "ID": "sint laboris irure Duis", - "BasicAudit": { - "CreatedBy": "in", - "LastModifiedBy": "mollit ea Ut", - "CreatedOn": "consequat aliqua", - "LastModifiedOn": "veniam mollit do" - }, - "name": "et nisi do aliquip est", - "description": "nulla exe", - "vaultSchema": { - "schemas": [ - { - "ID": "occaeca", - "name": "aliqua", - "parentSchemaProperties": { - "parentID": "Duis laborum dolor", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "ullamco amet mollit est", - "values": [ - "nulla nostrud Lorem elit eu", - "cillum et Ut elit", - "eiusmod mollit exercitation dolor nisi" - ] - }, - { - "name": "laboris", - "values": [ - "nostrud sit", - "est", - "reprehend" - ] - }, - { - "name": "dolore", - "values": [ - "tempor incididunt cupidatat minim", - "exercitation", - "enim veniam magna" - ] - } - ], - "name": "id aute sed" - }, - "fields": [ - { - "name": "nulla sint ut occaecat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "culpa nulla ex id laboris", - "values": [ - "aliquip", - "ad irure est cu", - "sint tempor voluptate pariatur" - ] - }, - { - "name": "amet", - "values": [ - "anim reprehenderit", - "adipisicing", - "sit eu qui anim" - ] - }, - { - "name": "laboris", - "values": [ - "proident dolor", - "culpa in nostrud ut", - "of" - ] - } - ], - "properties": { - "name": "velit pariatur", - "description": "ea", - "references": "cillum ut consectetur laboris" - }, - "ID": "consectetur sint pariatur" - }, - { - "name": "sed in quis", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "incididunt non consequat enim", - "values": [ - "in", - "fugiat", - "e" - ] - }, - { - "name": "ut proident qui", - "values": [ - "nisi ut", - "mollit Duis labori", - "in consectetur eiusmod" - ] - }, - { - "name": "amet mollit aliqua", - "values": [ - "consequat", - "ut adipisicing ad voluptate", - "sit Excepteur id ut et" - ] - } - ], - "properties": { - "name": "laboris nisi pariatur", - "description": "Ut id magna", - "references": "qui" - }, - "ID": "ut culpa et" - }, - { - "name": "voluptate ullamco in incididunt", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "tempor reprehenderit sint laboris dolore", - "values": [ - "sunt ea", - "mollit commodo Lorem aliquip", - "velit nisi" - ] - }, - { - "name": "Excepteur reprehenderit sint id", - "values": [ - "proident", - "commodo Excepteur", - "non nulla" - ] - }, - { - "name": "tempor et", - "values": [ - "laborum ipsum o", - "voluptate tempor", - "sed et commodo" - ] - } - ], - "properties": { - "name": "consequat aliquip in aliqua veniam", - "description": "fugiat in sed sint", - "references": "consequat commodo laboris" - }, - "ID": "dolore eu qui anim" - } - ], - "childrenSchemas": [ - { - "aliquip4": "aliquip et adipisicing cupidatat qui" - }, - { - "ad_cf": -19609978.43114339, - "deserunt_b": "aliquip ea", - "docd": 24469980.16311674, - "incididuntec": "tempor enim ut", - "sit_b_7": true - } - ], - "schemaTags": [ - { - "name": "dolore nisi", - "values": [ - "ex enim", - "culpa Duis in dolor", - "aliqua" - ] - }, - { - "name": "sint ad", - "values": [ - "e", - "commodo eu magna", - "exercitation sit occ" - ] - }, - { - "name": "mollit fugiat sint", - "values": [ - "exercitation aliqua", - "Excepteur", - "nisi voluptate occaecat" - ] - } - ], - "properties": { - "name": "id incididunt", - "description": "adipisicing", - "references": "culpa elit s" - } - }, - { - "ID": "pariatur est", - "name": "ex L", - "parentSchemaProperties": { - "parentID": "voluptate esse", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "elit dolor pariatur culpa", - "values": [ - "minim ", - "dolor mollit dolore tempor", - "enim in occaecat non" - ] - }, - { - "name": "dolore deserunt ullamco incididunt cupidatat", - "values": [ - "proident officia tempor eu", - "magna dolor laboris ullamco", - "sed culpa eiusmod" - ] - }, - { - "name": "nisi aliqua", - "values": [ - "fugiat sunt nostrud enim", - "minim dolore", - "aute" - ] - } - ], - "name": "mollit" - }, - "fields": [ - { - "name": "ullamco id Lorem ex ea", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "dolore do", - "values": [ - "pariatur cupidatat velit", - "in ea ipsum cu", - "Ut" - ] - }, - { - "name": "Excepteur laboris laborum", - "values": [ - "aute ea", - "esse irure nisi ipsum", - "in ipsum sed laboris eiusmod" - ] - }, - { - "name": "aute do", - "values": [ - "commodo in e", - "nulla proident", - "pariatur" - ] - } - ], - "properties": { - "name": "et", - "description": "laboris", - "references": "veniam" - }, - "ID": "amet in id" - }, - { - "name": "occaec", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "aliquip et enim dolor", - "values": [ - "occaecat Ut esse adipisicing a", - "ex do dolor qu", - "Lorem dolor eiusmod non" - ] - }, - { - "name": "consectetur quis in", - "values": [ - "deserunt exercitation nostrud", - "irure ullamco", - "nisi irure exercitation" - ] - }, - { - "name": "ulla", - "values": [ - "ullamco et officia", - "aliquip in ea voluptate anim", - "qui ad do" - ] - } - ], - "properties": { - "name": "laborum in ipsum dolore", - "description": "dolor id", - "references": "proiden" - }, - "ID": "aute Ut voluptate non" - }, - { - "name": "consectetur in", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "esse", - "values": [ - "sint m", - "cupidatat", - "dolor ad" - ] - }, - { - "name": "cillum do", - "values": [ - "laborum", - "dolor velit voluptate aliquip", - "magna" - ] - }, - { - "name": "deserunt labore", - "values": [ - "in", - "veniam mollit aute", - "est mollit" - ] - } - ], - "properties": { - "name": "Exce", - "description": "proident", - "references": "sunt" - }, - "ID": "pariatur dolore incididunt commodo" - } - ], - "childrenSchemas": [ - { - "tempor_525": "officia consequat ut exercitation in", - "eiusmod_a4_": true - } - ], - "schemaTags": [ - { - "name": "sed sint", - "values": [ - "magna culpa dolore", - "laboris veniam quis", - "ve" - ] - }, - { - "name": "id", - "values": [ - "nulla voluptate ad amet minim", - "in sed", - "elit ipsum" - ] - }, - { - "name": "Duis", - "values": [ - "Lorem irure", - "voluptate in esse", - "sint" - ] - } - ], - "properties": { - "name": "voluptate anim", - "description": "adipisicing ut nis", - "references": "officia enim ad Duis" - } - }, - { - "ID": "cillum enim labore deserunt", - "name": "eiusmod ea sunt", - "parentSchemaProperties": { - "parentID": "sit cillum nisi", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "Lorem irure aliqua officia ad", - "values": [ - "nostrud eu magna dolore", - "do commodo ex deserunt magna", - "quis dolor anim" - ] - }, - { - "name": "commodo Duis nisi officia", - "values": [ - "ad in sint", - "enim pariatur aliqua ut", - "qui non" - ] - }, - { - "name": "ut non est voluptate", - "values": [ - "cillum dolor", - "consectetur mollit Ut aliqua", - "exercitation sit" - ] - } - ], - "name": "Ut quis Duis" - }, - "fields": [ - { - "name": "pariatur", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "anim fugiat dolor laboris", - "values": [ - "commodo cupidat", - "voluptate", - "Duis officia commodo" - ] - }, - { - "name": "nostrud aliqua", - "values": [ - "nulla sit ex elit sint", - "qui", - "anim" - ] - }, - { - "name": "consequat dolore ex", - "values": [ - "aute des", - "magna aute exer", - "commodo consequat Excepteur in sit" - ] - } - ], - "properties": { - "name": "est adipisicing mollit", - "description": "ut sunt exercitation", - "references": "in" - }, - "ID": "proident commodo lab" - }, - { - "name": "exercitation laboris aliquip sit laborum", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "Ut eiusmod fugiat", - "values": [ - "deserunt dolore", - "culpa ipsum esse dolor ea", - "laboris" - ] - }, - { - "name": "cillum occaecat dolore est velit", - "values": [ - "Lorem commodo in", - "elit enim dolore", - "officia aliquip aliqua consequat" - ] - }, - { - "name": "et Lorem", - "values": [ - "anim incididunt", - "deserunt et ad est", - "elit Ut officia aliqua eu" - ] - } - ], - "properties": { - "name": "adipisicing elit", - "description": "laboris mag", - "references": "ex id" - }, - "ID": "lab" - }, - { - "name": "minim commodo", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "et eiusmod", - "values": [ - "ut", - "Lorem labore do adip", - "eu adipisicing eiusmod in" - ] - }, - { - "name": "voluptate magna exercitation laborum in", - "values": [ - "eu qui Ut esse consectetur", - "ut officia culpa consequat", - "esse qui in " - ] - }, - { - "name": "ut qui voluptate", - "values": [ - "dolor", - "nulla Lorem", - "elit magna et velit" - ] - } - ], - "properties": { - "name": "", - "description": "enim", - "references": "aliquip consequat nostrud in" - }, - "ID": "tempor enim" - } - ], - "childrenSchemas": [ - { - "velit8f": "in incididunt exercitation", - "officia_5ae": "voluptate si", - "exercitation_b2": 33836197.630059406 - } - ], - "schemaTags": [ - { - "name": "velit sunt aliqua incidid", - "values": [ - "eu officia Excepteur", - "occaecat consectet", - "voluptate dolore" - ] - }, - { - "name": "Excepteur", - "values": [ - "laboris esse cupidatat occaecat pariatur", - "quis", - "velit" - ] - }, - { - "name": "Ut", - "values": [ - "consequat Lorem", - "eiusmod in deserunt eu fugiat", - "commodo in quis" - ] - } - ], - "properties": { - "name": "do magna ut nostrud ipsum", - "description": "ullamco", - "references": "in sit velit fugiat amet" - } - } - ], - "tags": [ - { - "name": "anim sint nisi", - "values": [ - "reprehenderit eiusmod in consectetur", - "ut dolor consectetur anim magna", - "dolore eiusmod dolore quis" - ] - }, - { - "name": "et enim", - "values": [ - "amet ea", - "deserunt officia", - "ea culpa minim" - ] - }, - { - "name": "mollit", - "values": [ - "", - "Excepteur", - "laborum eiusmod in ullamco" - ] - } - ] - }, - "namespace": "eu nisi", - "status": "NONE", - "displayName": "ut ullamco et fugiat dolore" - }, - { - "ID": "culpa elit ut in", - "BasicAudit": { - "CreatedBy": "voluptate sed eu culpa sunt", - "LastModifiedBy": "eiusmod officia", - "CreatedOn": "consequat ex Duis", - "LastModifiedOn": "est" - }, - "name": "sunt cillum ut", - "description": "ut", - "vaultSchema": { - "schemas": [ - { - "ID": "pa", - "name": "laboris exercitation esse sed anim", - "parentSchemaProperties": { - "parentID": "occaecat sint labore", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "fugiat", - "values": [ - "commodo id", - "magna exercitation laborum", - "magna sunt fu" - ] - }, - { - "name": "laboris eu dolor", - "values": [ - "nisi veniam esse occaecat", - "do eu", - "in magna minim enim qui" - ] - }, - { - "name": "enim in Lorem", - "values": [ - "Excepteur sint in", - "ut officia qui E", - "minim nulla" - ] - } - ], - "name": "sit Excepteur ullamco in et" - }, - "fields": [ - { - "name": "cillum ex tempor dolor", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "Ut ex ea", - "values": [ - "cupidat", - "labore proident non aute", - "eu Lorem aute irure" - ] - }, - { - "name": "cillum pariatur", - "values": [ - "deserunt elit", - "ullamco est reprehenderit dolore", - "quis Ut incididunt" - ] - }, - { - "name": "Lorem laborum qu", - "values": [ - "ullamco laborum nostrud esse", - "ut non pariatur", - "velit in" - ] - } - ], - "properties": { - "name": "aliqua est aute Ut mollit", - "description": "tempo", - "references": "commodo enim magna" - }, - "ID": "magna fugiat eu dolore sed" - }, - { - "name": "adipisicing dol", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "consequat", - "values": [ - "labore nisi qui aliqua", - "ipsum quis consequat", - "" - ] - }, - { - "name": "tempor aliquip labore eu", - "values": [ - "occaecat", - "eu laborum eiusmod", - "ut Ut magna incididunt" - ] - }, - { - "name": "cupidatat deserunt officia nostrud consequat", - "values": [ - "occaecat culpa ipsum", - "commodo adipisicing ut", - "ut cillum occaecat" - ] - } - ], - "properties": { - "name": "Lorem dolore ex", - "description": "amet Ut in", - "references": "cillum ex deserunt" - }, - "ID": "Ut esse amet sint voluptate" - }, - { - "name": "aute", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "sed", - "values": [ - "sunt", - "mollit Excepteur sit fugiat", - "amet do" - ] - }, - { - "name": "aliquip elit consectetur eiusmod", - "values": [ - "dolor qu", - "consectetur cons", - "est aliqua eu" - ] - }, - { - "name": "et cupidatat aliqua ex irure", - "values": [ - "Lorem aliqua esse", - "amet", - "ipsum" - ] - } - ], - "properties": { - "name": "sit eu", - "description": "aliqua cupidatat", - "references": "nisi" - }, - "ID": "ipsum exercitation tempor et" - } - ], - "childrenSchemas": [ - { - "nisi_e": "id magna fugiat dolor" - }, - { - "Lorem_d87": 74634957, - "Excepteur_08": true, - "est_5": true, - "aliqua_d5": -51922880 - } - ], - "schemaTags": [ - { - "name": "sit nulla d", - "values": [ - "dolor non", - "et laborum qui Ut consequat", - "Excepteur enim commodo" - ] - }, - { - "name": "eiusmod aliquip elit Ut aliqua", - "values": [ - "dolor", - "eu", - "q" - ] - }, - { - "name": "eiusmod nulla anim dolor Excepteur", - "values": [ - "eu do est mollit temp", - "Lorem", - "ex aute" - ] - } - ], - "properties": { - "name": "irure ips", - "description": "deserunt sint", - "references": "ut" - } - }, - { - "ID": "aliqua", - "name": "sit in", - "parentSchemaProperties": { - "parentID": "officia labori", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "in Ut", - "values": [ - "amet", - "Duis in dolore", - "ut fugiat" - ] - }, - { - "name": "in in do ad", - "values": [ - "non amet", - "proident enim", - "fugiat" - ] - }, - { - "name": "eiusmod quis", - "values": [ - "nulla non pariatur enim ullamco", - "velit Duis nostrud", - "sint Duis" - ] - } - ], - "name": "minim ipsum magna ut deserunt" - }, - "fields": [ - { - "name": "esse sint sunt cupidatat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "sed ex mollit", - "values": [ - "exercitation", - "ipsum", - "ullamco proident velit" - ] - }, - { - "name": "sunt elit", - "values": [ - "veniam cillum Duis", - "sunt laboris in", - "ullamco minim ipsum" - ] - }, - { - "name": "irure nisi dolor ipsum dolore", - "values": [ - "commodo velit", - "veniam nulla", - "Ut ea magna in" - ] - } - ], - "properties": { - "name": "nulla Lorem consectetur do", - "description": "incid", - "references": "sit" - }, - "ID": "est tempor pariatur sit" - }, - { - "name": "Excepteur exercitation ex sunt cupidatat", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "eiusmod anim", - "values": [ - "fugiat Lorem Duis", - "ut lab", - "dolore" - ] - }, - { - "name": "aliquip dolore exercita", - "values": [ - "cillum qui nulla", - "minim", - "in non officia occaecat ea" - ] - }, - { - "name": "dolore minim aute et", - "values": [ - "sun", - "labor", - "non sit eu labore" - ] - } - ], - "properties": { - "name": "est Duis ullamco adipisicing", - "description": "mollit ad occaecat", - "references": "non" - }, - "ID": "magna culpa" - }, - { - "name": "occaecat laborum", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "sunt nostrud pariatur ex", - "values": [ - "Lorem esse ea", - "culpa eiusmod n", - "do dolor magna ex sit" - ] - }, - { - "name": "consectetur velit", - "values": [ - "cillum ullamco", - "quis ullamco", - "voluptate elit consectetur" - ] - }, - { - "name": "aute voluptate ex", - "values": [ - "Duis Excepteur", - "esse", - "reprehenderit consequat Ut" - ] - } - ], - "properties": { - "name": "officia sunt sed nostrud", - "description": "sed", - "references": "quis" - }, - "ID": "magna do ad ut dolore" - } - ], - "childrenSchemas": [ - { - "Ut__": true - }, - { - "mollit1fb": "commodo sit", - "ut6_0": false, - "non7": 72682491, - "laboris11c": false, - "quis60": false - } - ], - "schemaTags": [ - { - "name": "quis ea", - "values": [ - "laborum voluptate ut consequat laboris", - "labore ut elit non ut", - "sit cillum magna Lorem" - ] - }, - { - "name": "magna amet cillum consectetur ad", - "values": [ - "mollit eu exercitation pariatur laboris", - "laboris ut", - "occaecat consequat nostrud voluptate" - ] - }, - { - "name": "commodo", - "values": [ - "cillum", - "veniam nostrud dolor esse", - "proident qui non quis" - ] - } - ], - "properties": { - "name": "enim reprehenderit adipisicing non cillum", - "description": "ex", - "references": "in reprehenderit labore laborum" - } - }, - { - "ID": "sit nulla", - "name": "sunt dolore elit fugi", - "parentSchemaProperties": { - "parentID": "dolore cupidatat ", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "esse", - "values": [ - "in dolor nisi", - "sit Excepteur ut fugiat", - "velit amet" - ] - }, - { - "name": "ex ut consecte", - "values": [ - "dolore aliquip labore comm", - "do", - "nulla dolore" - ] - }, - { - "name": "occaecat Excepteur cillum id", - "values": [ - "et", - "esse anim", - "mollit ullamco sint irure" - ] - } - ], - "name": "do " - }, - "fields": [ - { - "name": "ipsum est molli", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "dolor in in voluptate ex", - "values": [ - "eiusmod veniam dolor adipisicing", - "magna irure pariatur", - "ut Lorem" - ] - }, - { - "name": "dolor labore", - "values": [ - "consectetur", - "et non dolor labore culpa", - "dolore magna amet proident labore" - ] - }, - { - "name": "vo", - "values": [ - "dolor", - "Excepteur nulla aliquip", - "ni" - ] - } - ], - "properties": { - "name": "adipisicing", - "description": "sunt culpa eu", - "references": "exercitation" - }, - "ID": "ut labore et " - }, - { - "name": "exercitation deserunt in nulla et", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "occaecat ea Duis non amet", - "values": [ - "cupidatat pariatur id", - "quis in Ut sed", - "ut tempor enim" - ] - }, - { - "name": "eiusmod", - "values": [ - "deserunt mollit nostrud", - "i", - "reprehenderit" - ] - }, - { - "name": "si", - "values": [ - "nisi ipsum in incididunt", - "exercitation officia non", - "dolore non" - ] - } - ], - "properties": { - "name": "ut", - "description": "Ut occaecat", - "references": "enim ea incididunt et occaecat" - }, - "ID": "consectetur aliquip" - }, - { - "name": "amet", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "tempor Duis est", - "values": [ - "adipisicing culpa", - "amet tempor Duis", - "nisi ut commodo tempor" - ] - }, - { - "name": "elit magna in", - "values": [ - "ad culpa occaecat", - "ea aute", - "nulla deserunt Ut" - ] - }, - { - "name": "amet aliquip", - "values": [ - "do", - "id null", - "dolore" - ] - } - ], - "properties": { - "name": "dolore veniam sunt", - "description": "sunt", - "references": "sed non adipisicing et" - }, - "ID": "velit sed in exercitation" - } - ], - "childrenSchemas": [ - { - "aliqua_c30": true, - "velit__9_": -30854732, - "pariatur_307": 58253089, - "laborum5": true - }, - { - "culpa_54": 47966389, - "dolor_3c": false, - "sed_463": "aliqua quis deserunt" - } - ], - "schemaTags": [ - { - "name": "mollit ut eiusmod qui elit", - "values": [ - "aliquip veniam aute occaecat labore", - "ut esse", - "voluptate Ut eu quis ipsum" - ] - }, - { - "name": "incididunt amet", - "values": [ - "cillum", - "eiusmod reprehenderit", - "dolor consequat est laboris" - ] - }, - { - "name": "dolore est culpa nulla", - "values": [ - "Ut", - "enim", - "in" - ] - } - ], - "properties": { - "name": "velit proident ullamco", - "description": "dolor incididunt quis", - "references": "fugiat ex adipisicing et Excepteur" - } - } - ], - "tags": [ - { - "name": "Duis deserunt mollit fugiat nisi", - "values": [ - "in laboris", - "veniam dolor ex", - "elit" - ] - }, - { - "name": "dol", - "values": [ - "in ut proident consectetur", - "proident cillum fugiat commodo ipsum", - "adipisicing sint" - ] - }, - { - "name": "Lorem est", - "values": [ - "Excepteur in", - "minim aliqua veniam id", - "dolore in ad aliquip" - ] - } - ] - }, - "namespace": "irure do ut non aliqua", - "status": "NONE", - "displayName": "cupida" - } - ] - } - }, - "v1ListWorkspacesResponse": { - "description": "Contains array of workspaces.", - "properties": { - "workspaces": { - "description": "The retrieved Workspaces.", - "items": { - "$ref": "#/components/schemas/v1Workspace" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "workspaces": [ - { - "name": "6cyB", - "displayName": "incididunt anim elit velit voluptate", - "description": "eu reprehenderit deserunt velit in", - "ID": "sunt anim veniam labore", - "namespace": "ut", - "contactAddress": { - "streetAddress": "minim dolore enim nisi esse", - "city": "fugiat nisi reprehende", - "state": "proid", - "country": "cillum anim ut proident", - "zip": 20742560 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "nisi tempor ad", - "LastModifiedBy": "Excepteur consequat nulla", - "CreatedOn": "Lorem dolore in anim", - "LastModifiedOn": "aliqua quis" - }, - "type": "NONE_TYPE", - "url": "consequat dolor", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "repr", - "permissions": [ - "dolor sint fugiat", - "eiusmod", - "aliqua qui deserunt consectetur Lorem" - ] - }, - { - "roleName": "est fugiat cupidatat minim", - "permissions": [ - "minim", - "minim", - "eiusmod ullamco dolor cupidatat Excepteur" - ] - }, - { - "roleName": "nisi et", - "permissions": [ - "fugiat sint quis", - "commodo consectetur Duis", - "in" - ] - } - ], - "enableExternalSharing": true - }, - "regionID": "consectetur ut laborum dolor" - }, - { - "name": "9F8vI", - "displayName": "aliquip Duis", - "description": "sit", - "ID": "", - "namespace": "Ut", - "contactAddress": { - "streetAddress": "id", - "city": "ut magna labore sunt Duis", - "state": "sed eiusmod sint ipsum dolor", - "country": "ut irure", - "zip": -44250297 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "velit sint proident dolor", - "LastModifiedBy": "nostrud ni", - "CreatedOn": "sed eu ", - "LastModifiedOn": "amet id" - }, - "type": "NONE_TYPE", - "url": "Ut quis", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "aliquip veniam amet", - "permissions": [ - "adipisicing mollit", - "sit", - "Excepteur minim cillum laborum ex" - ] - }, - { - "roleName": "mollit ad ex nulla incididunt", - "permissions": [ - "laboris in", - "officia nisi", - "minim eli" - ] - }, - { - "roleName": "mollit consequat culpa id", - "permissions": [ - "dolor esse", - "nulla anim volupt", - "aute labore" - ] - } - ], - "enableExternalSharing": true - }, - "regionID": "deserunt mollit magna et" - }, - { - "name": "BUj0WZn", - "displayName": "pariatur amet exercitation labore", - "description": "exercitation in ad pariatur nostrud", - "ID": "adipisicing Excepteur", - "namespace": "", - "contactAddress": { - "streetAddress": "mollit adipisicing ullamco", - "city": "proident", - "state": "elit voluptate est", - "country": "dolor sit in adipisicing officia", - "zip": 14720007 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "deserunt laboris occ", - "LastModifiedBy": "Ut ", - "CreatedOn": "veniam", - "LastModifiedOn": "tempor sed magna" - }, - "type": "NONE_TYPE", - "url": "sed", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "id deserunt quis", - "permissions": [ - "dolor", - "non dolore veniam sed dolor", - "exercitation sed" - ] - }, - { - "roleName": "ex", - "permissions": [ - "ipsum nostrud aliqua tempor ad", - "commodo esse Duis anim in", - "re" - ] - }, - { - "roleName": "sed qui aliqua voluptate cillum", - "permissions": [ - "anim c", - "et in dolor culpa id", - "est sunt sint" - ] - } - ], - "enableExternalSharing": false - }, - "regionID": "adipisicing eiusmod Lorem Ut" - } - ] - } - }, - "v1Member": { - "description": "Member details. *Members* are actors within an account. See `type`.", - "example": { - "ID": "mb057d4c570011ea89d9acde48001122", - "type": "USER" - }, - "properties": { - "ID": { - "description": "ID of the member.", - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/v1MemberType" - }, - "name": { - "description": "Name of the member.", - "type": "string" - }, - "email": { - "description": "Email address of the member.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - } - }, - "required": [ - "ID", - "type" - ], - "type": "object" - }, - "v1MemberType": { - "default": "NONE", - "description": "Type of the member.", - "enum": [ - "NONE", - "USER", - "SERVICE_ACCOUNT" - ], - "type": "string", - "example": "NONE" - }, - "Operation": { - "description": "Represents an asynchronous operation.", - "properties": { - "ID": { - "description": "ID of the operation.", - "type": "string" - }, - "type": { - "description": "Type of operation.", - "type": "string", - "enum": [ - "VAULT_TABLE_DELETE", - "VAULT_COLUMN_DELETE", - "VAULT_DELETE" - ] - }, - "status": { - "description": "Status of operation.", - "type": "string", - "enum": [ - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ] - }, - "createdAt": { - "description": "Time the operation was created.", - "type": "string" - }, - "updatedAt": { - "description": "Time the operation was last updated.", - "type": "string" - }, - "error": { - "description": "Error message. `null` if there is not error.", - "type": "string", - "nullable": true - } - }, - "type": "object" - }, - "v1ObjectStatus": { - "default": "NONE", - "description": "Status of the resource.", - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "example": "NONE" - }, - "v1ParentSchemaProperties": { - "description": "Properties that a parent object defined for a contained schema.\n\nJun 30, 2021 - removed description field, it was redundant since we use description from tags.", - "properties": { - "parentID": { - "description": "ID of the parent schema.", - "type": "string" - }, - "isArray": { - "description": "Boolean of whether or not the schema is an array.", - "type": "boolean" - }, - "tableType": { - "$ref": "#/components/schemas/v1TableType" - }, - "parentFieldTags": { - "description": "Tags defined at the parent level.", - "items": { - "$ref": "#/components/schemas/v1Tag" - }, - "type": "array" - }, - "name": { - "description": "Name of the parent schema.", - "type": "string" - } - }, - "type": "object", - "example": { - "parentID": "aute sunt pariatur", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "voluptate exercitation", - "values": [ - "tempor elit", - "esse dolore aute commodo sint", - "minim tempor sint" - ] - }, - { - "name": "eiusmod", - "values": [ - "qui", - "aute ", - "sit" - ] - }, - { - "name": "magna laborum dolore laboris", - "values": [ - "voluptate ad magna exercitation velit", - "nostrud Excepteur laboris est", - "in ut est Duis magna" - ] - } - ], - "name": "velit exer" - } - }, - "v1PermissionRestrictions": { - "properties": { - "roleName": { - "description": "Name of the role to restrict.", - "type": "string" - }, - "permissions": { - "description": "Permissions to remove from the specified role.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "roleName": "est ex nostrud commodo ut", - "permissions": [ - "incididunt", - "magna commodo", - "id adipisicing est sint" - ] - } - }, - "v1PipelineEncryptionKeyResponse": { - "properties": { - "ID": { - "description": "ID of the key.", - "type": "string" - }, - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "publicKey": { - "description": "Public key.", - "type": "string" - }, - "validAfterTime": { - "description": "The public key can be used after this timestamp.", - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "description": "The public key can be used before this timestamp.", - "format": "date-time", - "type": "string" - }, - "hasPrivateKey": { - "description": "If `true`, an associated private key exists for this key ID.", - "type": "boolean" - } - }, - "type": "object", - "example": { - "ID": "velit dolor labore adipisicing", - "encryptionProtocol": "NONE_PROTOCOL", - "publicKey": "velit ea sint culpa occaecat", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z", - "hasPrivateKey": true - } - }, - "v1PipelinePGPKey": { - "description": "PGP key used for encryption operations.", - "properties": { - "privateKey": { - "description": "Private key for decryption.", - "type": "string" - }, - "passphrase": { - "description": "Passphrase for decryption.", - "type": "string" - }, - "publicKey": { - "description": "Public key for encryption.", - "type": "string" - } - }, - "type": "object", - "example": { - "privateKey": "Lorem de", - "passphrase": "non fugiat quis in", - "publicKey": "eu deserunt" - } - }, - "v1Policy": { - "description": "Policy details.", - "properties": { - "ID": { - "description": "ID of the policy. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of the policy.", - "minLength": 1, - "pattern": "^[A-Za-z0-9]+$", - "type": "string" - }, - "displayName": { - "description": "Name of the policy as it appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the policy.", - "type": "string" - }, - "namespace": { - "description": "Unique namespace of the policy.", - "readOnly": true, - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - }, - "resource": { - "$ref": "#/components/schemas/v1Resource" - }, - "members": { - "description": "Members to assign the policy to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rules": { - "description": "Rules that comprise the policy.", - "items": { - "$ref": "#/components/schemas/v1Rule" - }, - "type": "array" - } - }, - "required": [ - "name" - ], - "type": "object", - "example": { - "ID": "aliqua in dolor", - "name": "n8IQW", - "displayName": "esse in", - "description": "Excepteur dolore exercitation", - "namespace": "cupidatat aliquip amet velit est", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "ex cupidatat in culpa cillum", - "LastModifiedBy": "Lorem Duis do aliquip dolore", - "CreatedOn": "in non elit Duis", - "LastModifiedOn": "mollit exercitation laboris dolore dolor" - }, - "resource": { - "ID": "labore Excepteur nulla incididunt ut", - "type": "NONE", - "name": "ut", - "namespace": "dolor Lorem", - "description": "eu est occaecat", - "status": "NONE", - "displayName": "eiusmod velit" - }, - "members": [ - "ipsum occaecat ea Lorem", - "eiusmod in", - "amet aliqua" - ], - "rules": [ - { - "ID": "irure ipsum culpa velit non", - "name": "cmQUG", - "effect": "NONE_EFFECT", - "actions": [ - "laborum", - "culpa veniam dolor", - "culpa non minim pariatur" - ], - "resources": [ - "cupidatat in qui mollit fug", - "aute commodo voluptate Ut aliqua", - "Duis pariatur ex non" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "irure ea sed", - "rowFilter": "anim", - "ruleExpression": "sint consectetur commodo anim", - "redaction": "dolore tempor" - }, - { - "ID": "nostrud consequat commodo aliquip", - "name": "ZfJ", - "effect": "NONE_EFFECT", - "actions": [ - "aute ", - "tempor ullamco", - "quis laboris sed enim nulla" - ], - "resources": [ - "nostrud id", - "exercitation laborum sed dolor est", - "amet exercitation sit Ut" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "exercitation qui anim dolor irure", - "rowFilter": "tempor labore eiusmod occaecat amet", - "ruleExpression": "sunt nostrud id dolore", - "redaction": "laboris elit ad proident" - }, - { - "ID": "dolor ut ut Ut", - "name": "RQcXJn7N", - "effect": "NONE_EFFECT", - "actions": [ - "pariatur sint", - "eu", - "nisi ea" - ], - "resources": [ - "cupidatat dolore", - "irure aliqua", - "reprehenderit proid" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "dolore voluptate in labore veniam", - "rowFilter": "laborum", - "ruleExpression": "in ipsum labore qui", - "redaction": "dolor Duis" - } - ] - } - }, - "v1PolicyAuthoringServiceUpdateStatusBody": { - "properties": { - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - } - }, - "type": "object", - "example": { - "aute_468": false, - "est_2d2": "amet ea dolor mollit minim", - "commodo294": false, - "cupidatat_63c": 1501344, - "status": "NONE" - } - }, - "v1Properties": { - "description": "Schema property details.", - "properties": { - "name": { - "description": "Name of the property.", - "type": "string" - }, - "description": { - "description": "Description of the property.", - "type": "string" - }, - "references": { - "description": "Declaration of cyclical object structure.", - "type": "string" - } - }, - "type": "object", - "example": { - "name": "officia", - "description": "nisi occaecat in consequa", - "references": "veniam nulla" - } - }, - "v1RegionInfo": { - "properties": { - "regionName": { - "description": "Name of the region.", - "title": "regionName", - "type": "string" - }, - "displayName": { - "description": "Display Name of the region.", - "title": "displayName", - "type": "string" - }, - "regionUrl": { - "description": "URL of the region.", - "title": "regionURL", - "type": "string" - }, - "flagUrl": { - "description": "URL of the flag.", - "title": "flagURL", - "type": "string" - } - }, - "type": "object", - "example": { - "regionName": "in dolore", - "displayName": "Excepteur laborum occaecat anim pariatur", - "regionUrl": "ut magna ut", - "flagUrl": "sit" - } - }, - "connection_auth_mode": { - "default": "NOAUTH", - "description": "External authentication mode for a connected service.", - "enum": [ - "MTLS", - "NOAUTH", - "SHAREDKEY" - ], - "type": "string", - "example": "NOAUTH" - }, - "v1RelayMappings": { - "properties": { - "ID": { - "description": "ID of the connection.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of the connection.", - "type": "string" - }, - "baseURL": { - "description": "Base URL for the server that receives payloads from the connection.", - "type": "string" - }, - "vaultID": { - "description": "ID of the vault.", - "type": "string" - }, - "routes": { - "description": "Routes for the connection.", - "items": { - "$ref": "#/components/schemas/v1RelayRoute" - }, - "type": "array" - }, - "authMode": { - "$ref": "#/components/schemas/connection_auth_mode" - }, - "description": { - "description": "Description of the connection.", - "type": "string" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - }, - "denyPassThrough": { - "type": "boolean" - }, - "formEncodedKeysPassThrough": { - "type": "boolean" - } - }, - "type": "object", - "example": { - "ID": "ex ea no", - "name": "ut laboris", - "baseURL": "aute nisi", - "vaultID": "esse laboris labore velit in", - "routes": [ - { - "path": "cillum tempor ullamco", - "method": "consectetur exercitation eiusmod voluptat", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "l", - "table": "nostrud consequat", - "column": "", - "dataSelector": "id velit ipsum Duis cupidatat", - "dataSelectorRegex": "eiusmod qui", - "transformFormat": "commodo occaecat Ut", - "encryptionType": "est et ad officia", - "redaction": "DEFAULT", - "sourceRegex": "Excepteur do", - "transformedRegex": "consectetur commodo aliquip aliqua Lorem" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aliqua sunt occaecat dolor nisi", - "table": "ad", - "column": "laboris velit pariatur", - "dataSelector": "labore minim", - "dataSelectorRegex": "minim co", - "transformFormat": "consequat velit enim aute nisi", - "encryptionType": "sint quis cillum aliquip", - "redaction": "DEFAULT", - "sourceRegex": "nisi", - "transformedRegex": "nostrud labore ex sunt r" - }, - { - "action": "NOT_SELECTED", - "fieldName": "Lorem", - "table": "sed", - "column": "quis ut sed esse nostrud", - "dataSelector": "consequat pariatur dolore", - "dataSelectorRegex": "voluptate", - "transformFormat": "ea dolore", - "encryptionType": "ex Duis", - "redaction": "DEFAULT", - "sourceRegex": "consequat", - "transformedRegex": "voluptate Excepteur et enim eu" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "mollit", - "table": "anim in velit non", - "column": "deserunt amet par", - "dataSelector": "nulla Lorem nisi eu ipsum", - "dataSelectorRegex": "dolor ali", - "transformFormat": "dolore ullamco", - "encryptionType": "consectetur aliqua Ut anim", - "redaction": "DEFAULT", - "sourceRegex": "esse ea et", - "transformedRegex": "esse dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "qui si", - "table": "laborum ea culpa", - "column": "consequat elit in", - "dataSelector": "laborum Excepteur tempor ad irure", - "dataSelectorRegex": "ipsum ad commodo", - "transformFormat": "dolor", - "encryptionType": "anim", - "redaction": "DEFAULT", - "sourceRegex": "fugiat do", - "transformedRegex": "nulla" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sed aliqua non fugiat", - "table": "aliqua", - "column": "do dolore officia ad", - "dataSelector": "esse minim", - "dataSelectorRegex": "consequat eiusmod commodo est", - "transformFormat": "in qui", - "encryptionType": "dolor est", - "redaction": "DEFAULT", - "sourceRegex": "labore", - "transformedRegex": "si" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "ut sint veniam", - "table": "veniam pari", - "column": "sit mollit", - "dataSelector": "veniam", - "dataSelectorRegex": "rep", - "transformFormat": "ut dolore mollit eu Excepteur", - "encryptionType": "ut ut", - "redaction": "DEFAULT", - "sourceRegex": "aute", - "transformedRegex": "fugiat proident commodo nisi" - }, - { - "action": "NOT_SELECTED", - "fieldName": "eu do nulla dolore", - "table": "tempor culpa", - "column": "pariatur Duis adipisicing in", - "dataSelector": "labore dolore eiusmod Ut", - "dataSelectorRegex": "sed irure aliquip dolore", - "transformFormat": "labore ex minim elit ea", - "encryptionType": "incididunt", - "redaction": "DEFAULT", - "sourceRegex": "et cupidatat deserunt irure", - "transformedRegex": "aliquip consectetur labore" - }, - { - "action": "NOT_SELECTED", - "fieldName": "reprehenderit cillum fu", - "table": "esse cupidatat laborum", - "column": "nostrud consequat", - "dataSelector": "enim minim ullamco eiusmod", - "dataSelectorRegex": "voluptate laboris", - "transformFormat": "esse aute", - "encryptionType": "ut eu", - "redaction": "DEFAULT", - "sourceRegex": "sunt labore aliq", - "transformedRegex": "mollit sunt in Lorem est" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "minim Duis et Ut in", - "table": "ut consectetur consequat tempor", - "column": "fugiat do voluptate ut", - "dataSelector": "dolor cupidatat", - "dataSelectorRegex": "ut", - "transformFormat": "dolore ullamco adipisicing aliqua", - "encryptionType": "consequat sint", - "redaction": "DEFAULT", - "sourceRegex": "cupidatat Ut occaecat", - "transformedRegex": "dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "consequat dolore dolor aute", - "table": "nisi officia tempor sint", - "column": "dolore adipisicing quis", - "dataSelector": "aliqua laborum", - "dataSelectorRegex": "reprehenderit consequat ", - "transformFormat": "culpa aliqua ad", - "encryptionType": "eiusmod", - "redaction": "DEFAULT", - "sourceRegex": "nostrud proident Excepteur", - "transformedRegex": "dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sit", - "table": "fugiat amet tempor", - "column": "nulla", - "dataSelector": "in", - "dataSelectorRegex": "dolore amet laborum cupidatat", - "transformFormat": "dolor", - "encryptionType": "exercitation fugiat aliquip amet", - "redaction": "DEFAULT", - "sourceRegex": "Excepteur labore exercitation", - "transformedRegex": "Duis" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "conseq", - "table": "reprehenderi", - "column": "aute", - "dataSelector": "occaecat voluptate esse Excepteur culpa", - "dataSelectorRegex": "officia tempor ut Ut enim", - "transformFormat": "commodo officia dolore", - "encryptionType": "ullamco dolore ut", - "redaction": "DEFAULT", - "sourceRegex": "consequat reprehenderit sit irure", - "transformedRegex": "voluptate" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ut ex", - "table": "laborum in nostrud", - "column": "enim in con", - "dataSelector": "ullamco adipisicing dolor", - "dataSelectorRegex": "deserunt", - "transformFormat": "Duis", - "encryptionType": "in do veniam", - "redaction": "DEFAULT", - "sourceRegex": "in irure reprehenderit elit", - "transformedRegex": "Lorem" - }, - { - "action": "NOT_SELECTED", - "fieldName": "amet elit ad in id", - "table": "cillum", - "column": "cillum", - "dataSelector": "do reprehenderit sunt minim quis", - "dataSelectorRegex": "id cillum Excepteur deserunt u", - "transformFormat": "dolor", - "encryptionType": "laboris nulla labore ", - "redaction": "DEFAULT", - "sourceRegex": "amet", - "transformedRegex": "cillum laboris dolo" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "exercitation adipisicing do", - "table": "qui ", - "column": "adipisicing Ut aliquip occaecat velit", - "dataSelector": "ea fug", - "dataSelectorRegex": "est dolor", - "transformFormat": "Lorem velit do nisi", - "encryptionType": "qui", - "redaction": "DEFAULT", - "sourceRegex": "aliqua ut labore", - "transformedRegex": "est ut tempor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "incididunt", - "table": "officia mollit", - "column": "laborum", - "dataSelector": "id", - "dataSelectorRegex": "occaecat magna velit est", - "transformFormat": "veniam velit", - "encryptionType": "proident voluptate", - "redaction": "DEFAULT", - "sourceRegex": "in aute", - "transformedRegex": "fugiat proident " - }, - { - "action": "NOT_SELECTED", - "fieldName": "ullamco eu mollit exercitation", - "table": "ea proident Ut", - "column": "tempor quis ullamco", - "dataSelector": "amet esse", - "dataSelectorRegex": "nulla ea culpa irure", - "transformFormat": "sint sunt", - "encryptionType": "est elit ullamco dolore id", - "redaction": "DEFAULT", - "sourceRegex": "fugiat dolor aliqu", - "transformedRegex": "pariatur eiusmod" - } - ], - "name": "consequat in aliqua", - "description": "in anim", - "soapAction": "reprehenderit", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "dolore nulla non sunt", - "keyEncryptionAlgo": "Lorem commodo reprehenderit et aute", - "contentEncryptionAlgo": "nulla", - "signatureAlgorithm": "quis dolor ut Duis", - "sourceRegex": "Duis amet", - "transformedRegex": "do", - "target": "mollit velit" - }, - { - "type": "NOACTION", - "action": "tempor", - "keyEncryptionAlgo": "nisi mollit velit", - "contentEncryptionAlgo": "mollit", - "signatureAlgorithm": "laboris exercitation", - "sourceRegex": "occaecat sit qui ex sed", - "transformedRegex": "exercitation sed", - "target": "sunt" - }, - { - "type": "NOACTION", - "action": "proident et", - "keyEncryptionAlgo": "sit Except", - "contentEncryptionAlgo": "in nulla dolore", - "signatureAlgorithm": "magna", - "sourceRegex": "qui exercitation sed", - "transformedRegex": "magna pariatur voluptate", - "target": "officia dolor veniam reprehenderit dolor" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "cupidatat", - "keyEncryptionAlgo": "occaecat id aliqua aliquip ullamco", - "contentEncryptionAlgo": "aliquip", - "signatureAlgorithm": "nulla reprehenderit", - "sourceRegex": "", - "transformedRegex": "labore veniam", - "target": "Lo" - }, - { - "type": "NOACTION", - "action": "laborum in dolor", - "keyEncryptionAlgo": "qui deserunt exercitation dolor", - "contentEncryptionAlgo": "magna", - "signatureAlgorithm": "id laborum sint veniam", - "sourceRegex": "deserunt", - "transformedRegex": "ipsum", - "target": "occaecat sed" - }, - { - "type": "NOACTION", - "action": "mini", - "keyEncryptionAlgo": "esse officia", - "contentEncryptionAlgo": "ad minim aliquip dolor Lorem", - "signatureAlgorithm": "nostrud occaecat sed pariatur", - "sourceRegex": "velit commodo eu", - "transformedRegex": "magna occaecat in tempor eu", - "target": "tempor voluptate sed" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "anim dolore ex", - "keyEncryptionAlgo": "irure consectetur", - "contentEncryptionAlgo": "pariatur nisi Excepteur irure", - "signatureAlgorithm": "voluptate cupidatat nulla dolore", - "sourceRegex": "sed", - "transformedRegex": "Duis", - "target": "labore" - }, - { - "type": "NOACTION", - "action": "laborum eu", - "keyEncryptionAlgo": "mollit culpa adipisicing veniam", - "contentEncryptionAlgo": "eu", - "signatureAlgorithm": "elit aliquip sed", - "sourceRegex": "et exercitation eu voluptate", - "transformedRegex": "non ea officia", - "target": "incididunt nostrud anim consectetur nisi" - }, - { - "type": "NOACTION", - "action": "id consectetur dolor", - "keyEncryptionAlgo": "ut in", - "contentEncryptionAlgo": "anim sit in qui pariatur", - "signatureAlgorithm": "amet", - "sourceRegex": "occaecat elit in", - "transformedRegex": "in amet", - "target": "ullamco reprehenderit fugiat nulla voluptate" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "id", - "keyEncryptionAlgo": "ut ea aliquip", - "contentEncryptionAlgo": "consectetur minim Lorem cupidatat", - "signatureAlgorithm": "cupidatat pariatur labore Lorem", - "sourceRegex": "voluptate ex incididunt sint", - "transformedRegex": "in in velit", - "target": "cillum" - }, - { - "type": "NOACTION", - "action": "non", - "keyEncryptionAlgo": "do voluptate in laborum", - "contentEncryptionAlgo": "sunt in", - "signatureAlgorithm": "elit a", - "sourceRegex": "tempor reprehenderit commodo ex", - "transformedRegex": "sunt sint ad elit ut", - "target": "laboris qui amet fugiat" - }, - { - "type": "NOACTION", - "action": "esse dolore do sed", - "keyEncryptionAlgo": "dolore ut", - "contentEncryptionAlgo": "eu velit", - "signatureAlgorithm": "Ut sint", - "sourceRegex": "magna amet", - "transformedRegex": "deserunt quis Duis nulla tempor", - "target": "occaecat aliqua exercitation laboris" - } - ], - "tableUpsertInfo": [ - { - "table": "nulla exer", - "column": "ut adipisicing" - }, - { - "table": "sint nostrud et aliqua", - "column": "reprehenderit ex" - }, - { - "table": "sunt elit", - "column": "ea" - } - ] - }, - { - "path": "dolor id labore", - "method": "ea voluptate magna", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "officia laborum esse laboris Ut", - "table": "incididunt nulla", - "column": "est", - "dataSelector": "tempor quis do", - "dataSelectorRegex": "officia veniam", - "transformFormat": "minim adipisicing cillum ea", - "encryptionType": "occaecat mollit eiusmod", - "redaction": "DEFAULT", - "sourceRegex": "irure dolore reprehen", - "transformedRegex": "pariatur laborum cillum enim laboris" - }, - { - "action": "NOT_SELECTED", - "fieldName": "tempor", - "table": "in", - "column": "irure reprehenderit nulla Excepteur do", - "dataSelector": "labore dolore irure id", - "dataSelectorRegex": "ipsum cillum esse mollit", - "transformFormat": "mollit Excepteur", - "encryptionType": "esse Duis magna ea", - "redaction": "DEFAULT", - "sourceRegex": "ea", - "transformedRegex": "ea Ut ven" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aliquip", - "table": "est anim adipisicing tempor qui", - "column": "ut", - "dataSelector": "ali", - "dataSelectorRegex": "esse cupidatat", - "transformFormat": "exercitation", - "encryptionType": "adipisicing fugiat magna", - "redaction": "DEFAULT", - "sourceRegex": "Lorem proident consectetur ex labore", - "transformedRegex": "ex" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "ea exercitation cupidatat", - "table": "nulla voluptate", - "column": "velit est Duis", - "dataSelector": "dolor nisi irure", - "dataSelectorRegex": "consequat eiusmod mollit Lor", - "transformFormat": "nulla sunt laboris", - "encryptionType": "ea", - "redaction": "DEFAULT", - "sourceRegex": "mollit", - "transformedRegex": "qui mollit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ad dolore", - "table": "fugi", - "column": "n", - "dataSelector": "eu dolor sit sint in", - "dataSelectorRegex": "commodo", - "transformFormat": "dolor minim ea", - "encryptionType": "dolore id", - "redaction": "DEFAULT", - "sourceRegex": "aliquip anim ut occaecat", - "transformedRegex": "esse" - }, - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing ex officia dolor aliqua", - "table": "quis dolor reprehenderit", - "column": "ad est commodo", - "dataSelector": "Duis", - "dataSelectorRegex": "consectetur ipsum s", - "transformFormat": "sint nulla dolor laborum", - "encryptionType": "voluptate dolore", - "redaction": "DEFAULT", - "sourceRegex": "ut cillum esse commodo", - "transformedRegex": "consequat exercitation est" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "m", - "table": "ipsum enim eu ut", - "column": "nostrud cillum enim eu Duis", - "dataSelector": "nulla eiusmod", - "dataSelectorRegex": "enim cillum do", - "transformFormat": "eiusmod ad voluptate non", - "encryptionType": "reprehen", - "redaction": "DEFAULT", - "sourceRegex": "sit ", - "transformedRegex": "cupidatat laboris" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ullamco adipisicing sit et incididunt", - "table": "est cillum laboris", - "column": "adipisicing Ut ullamco", - "dataSelector": "laboris Excepteur aliquip aliqua ipsum", - "dataSelectorRegex": "Ut reprehenderit eiusmod in", - "transformFormat": "tempor Excepteur nostrud reprehenderit", - "encryptionType": "fugiat tempor reprehenderit", - "redaction": "DEFAULT", - "sourceRegex": "ad id", - "transformedRegex": "anim reprehenderit amet" - }, - { - "action": "NOT_SELECTED", - "fieldName": "laborum do incididunt", - "table": "irure velit Ut commodo", - "column": "minim adipisicing elit cupidatat incididunt", - "dataSelector": "ut in anim", - "dataSelectorRegex": "Excepteur quis sint", - "transformFormat": "ir", - "encryptionType": "incididunt proident pariatur qui", - "redaction": "DEFAULT", - "sourceRegex": "commodo", - "transformedRegex": "irure amet" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "commodo eu cillum", - "table": "consequat exercitation aliqua sed deseru", - "column": "incididunt officia commodo do", - "dataSelector": "tempor Ut sed occaecat", - "dataSelectorRegex": "laborum dolore", - "transformFormat": "aliquip dolor sint Excepteur culpa", - "encryptionType": "sunt deserunt", - "redaction": "DEFAULT", - "sourceRegex": "incididunt enim tempor deserunt", - "transformedRegex": "nostrud sed consequat anim et" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id dolore", - "table": "ut dolor incididunt Ut dolore", - "column": "laboris pariatur amet", - "dataSelector": "dolore in et incididunt", - "dataSelectorRegex": "dolore id pariatur", - "transformFormat": "elit sunt Duis culpa et", - "encryptionType": "ut nisi in sint", - "redaction": "DEFAULT", - "sourceRegex": "amet eu incididunt sed", - "transformedRegex": "sint ea in aliquip minim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "consectetur", - "table": "dolor voluptate occaecat adipisicing culpa", - "column": "dolor", - "dataSelector": "cupidatat laborum anim", - "dataSelectorRegex": "in laboris", - "transformFormat": "Ut eu voluptate sunt incididun", - "encryptionType": "do sunt exercitation dolor", - "redaction": "DEFAULT", - "sourceRegex": "adipisicing proident dolor fugiat", - "transformedRegex": "consequat amet id Ut dolor" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "Duis in esse", - "table": "elit et commodo dolore", - "column": "sit pariatur laboris", - "dataSelector": "labore voluptate", - "dataSelectorRegex": "ipsum c", - "transformFormat": "sit", - "encryptionType": "Duis dolor eiusmod magna", - "redaction": "DEFAULT", - "sourceRegex": "id nulla Ut aliqua non", - "transformedRegex": "ex in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "Excepteur amet Ut voluptate mollit", - "table": "qui velit quis aliquip", - "column": "fugiat et nostrud", - "dataSelector": "Ut commodo", - "dataSelectorRegex": "magna amet deser", - "transformFormat": "esse aliqua ut id", - "encryptionType": "deserunt esse in", - "redaction": "DEFAULT", - "sourceRegex": "officia occaecat eu", - "transformedRegex": "ea incididunt elit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "est", - "table": "commodo", - "column": "ad mollit", - "dataSelector": "consectetu", - "dataSelectorRegex": "fugiat commodo officia reprehenderit", - "transformFormat": "pariatur l", - "encryptionType": "ut", - "redaction": "DEFAULT", - "sourceRegex": "ani", - "transformedRegex": "laboris elit laborum" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "ea", - "table": "elit", - "column": "sed ex ut fugiat qui", - "dataSelector": "enim", - "dataSelectorRegex": "amet ullamco in", - "transformFormat": "commodo Excepteur", - "encryptionType": "minim commodo est ea Excepteur", - "redaction": "DEFAULT", - "sourceRegex": "Lorem cillum tempor sit", - "transformedRegex": "et eu in ut e" - }, - { - "action": "NOT_SELECTED", - "fieldName": "voluptate laborum laboris", - "table": "ipsum ut occaecat aute laborum", - "column": "esse", - "dataSelector": "dolore Excepteur nostrud adipi", - "dataSelectorRegex": "eu nisi culpa", - "transformFormat": "enim aute exercitation in dolor", - "encryptionType": "in ipsum aute", - "redaction": "DEFAULT", - "sourceRegex": "elit", - "transformedRegex": "ex Duis" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ullamco", - "table": "eu nisi do", - "column": "deserunt cup", - "dataSelector": "sit ullamco eiusmod aliqua occaecat", - "dataSelectorRegex": "dolore tempor cupidatat", - "transformFormat": "minim in", - "encryptionType": "sunt dolore ut", - "redaction": "DEFAULT", - "sourceRegex": "nisi", - "transformedRegex": "amet nostrud labore" - } - ], - "name": "ea labore dolor in do", - "description": "commodo adipisicing eiusmod consequat esse", - "soapAction": "occaecat proident consectetur exerci", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "in est commodo quis", - "keyEncryptionAlgo": "elit", - "contentEncryptionAlgo": "occaecat culpa ea", - "signatureAlgorithm": "cupidatat laboris", - "sourceRegex": "mollit sed cupidatat", - "transformedRegex": "in", - "target": "elit commodo " - }, - { - "type": "NOACTION", - "action": "mollit veniam consequ", - "keyEncryptionAlgo": "elit in", - "contentEncryptionAlgo": "occaecat est fugiat", - "signatureAlgorithm": "laborum", - "sourceRegex": "amet cillum", - "transformedRegex": "eu ut ad", - "target": "velit ipsum" - }, - { - "type": "NOACTION", - "action": "adipisicing laborum id", - "keyEncryptionAlgo": "mollit ex", - "contentEncryptionAlgo": "dolor tempor", - "signatureAlgorithm": "cupidatat officia", - "sourceRegex": "sed proident esse tempor", - "transformedRegex": "dolore adipisicing veniam", - "target": "incididunt" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "anim sunt enim ad", - "keyEncryptionAlgo": "ut consectetur sit mollit commodo", - "contentEncryptionAlgo": "incididunt aliqua", - "signatureAlgorithm": "tempor deserunt Excepteur consectetur magna", - "sourceRegex": "laboris veniam", - "transformedRegex": "ullamco", - "target": "do consequat" - }, - { - "type": "NOACTION", - "action": "consectetur", - "keyEncryptionAlgo": "mollit amet officia", - "contentEncryptionAlgo": "Excepteur", - "signatureAlgorithm": "irure cillum anim Ut mollit", - "sourceRegex": "ir", - "transformedRegex": "anim", - "target": "ma" - }, - { - "type": "NOACTION", - "action": "dolore in", - "keyEncryptionAlgo": "magna irure labore veniam eu", - "contentEncryptionAlgo": "amet", - "signatureAlgorithm": "fugiat in", - "sourceRegex": "dolor Duis pariatur tempor sint", - "transformedRegex": "eiusmod exercitation", - "target": "dolor in en" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "laboris esse tempor veniam", - "keyEncryptionAlgo": "laboris in non esse", - "contentEncryptionAlgo": "proident n", - "signatureAlgorithm": "dolore minim velit", - "sourceRegex": "occaecat enim reprehenderit irure", - "transformedRegex": "adipisicing", - "target": "voluptate ni" - }, - { - "type": "NOACTION", - "action": "in eu occaecat dolor", - "keyEncryptionAlgo": "occaecat laboris proident aute", - "contentEncryptionAlgo": "non eu ", - "signatureAlgorithm": "esse", - "sourceRegex": "anim ", - "transformedRegex": "vol", - "target": "consequat reprehenderit cillum" - }, - { - "type": "NOACTION", - "action": "irure", - "keyEncryptionAlgo": "sed voluptate dolor", - "contentEncryptionAlgo": "ea quis", - "signatureAlgorithm": "pariatur ullamco Duis", - "sourceRegex": "nisi tempo", - "transformedRegex": "labore sint", - "target": "reprehenderit pariatur" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "cupidatat pariatur commodo amet", - "keyEncryptionAlgo": "cillum", - "contentEncryptionAlgo": "mol", - "signatureAlgorithm": "Lorem ut", - "sourceRegex": "laboris commodo do minim et", - "transformedRegex": "sed ipsum pro", - "target": "laborum officia in" - }, - { - "type": "NOACTION", - "action": "laboris est", - "keyEncryptionAlgo": "dolor fugiat culpa est", - "contentEncryptionAlgo": "d", - "signatureAlgorithm": "dolor nisi ut quis", - "sourceRegex": "dolor nulla mollit aliquip tempor", - "transformedRegex": "ut dolore", - "target": "Ut nostrud ut cillum" - }, - { - "type": "NOACTION", - "action": "consequat laborum dolore", - "keyEncryptionAlgo": "ut fugiat consectetur Excepteur", - "contentEncryptionAlgo": "ut ex ipsum s", - "signatureAlgorithm": "anim eu in Duis", - "sourceRegex": "sunt dolore laboris ipsum commodo", - "transformedRegex": "eiusmod aute irure", - "target": "est incididunt irure voluptate" - } - ], - "tableUpsertInfo": [ - { - "table": "dolore minim", - "column": "" - }, - { - "table": "deserunt in adipisicing consequat", - "column": "eiusmod" - }, - { - "table": "i", - "column": "est amet ipsum ut exercitation" - } - ] - }, - { - "path": "est aute dolore pariatur", - "method": "velit proident", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "cillum", - "table": "incididunt exerc", - "column": "dolor", - "dataSelector": "enim", - "dataSelectorRegex": "Duis irure", - "transformFormat": "mollit nulla", - "encryptionType": "et adipisicing", - "redaction": "DEFAULT", - "sourceRegex": "ex", - "transformedRegex": "ullamco in dolor elit velit" - }, - { - "action": "NOT_SELECTED", - "fieldName": "est do", - "table": "ullamco velit", - "column": "veniam cupidatat sint", - "dataSelector": "sit dolore", - "dataSelectorRegex": "ad mollit", - "transformFormat": "amet eu velit in officia", - "encryptionType": "nostrud", - "redaction": "DEFAULT", - "sourceRegex": "quis Ut deserunt proident adipisicing", - "transformedRegex": "pariatur ea aute" - }, - { - "action": "NOT_SELECTED", - "fieldName": "quis deserunt esse Lorem occaecat", - "table": "Duis", - "column": "fugiat", - "dataSelector": "do aute proident reprehe", - "dataSelectorRegex": "fugiat dolore cupidatat enim", - "transformFormat": "adipisicing occaeca", - "encryptionType": "Duis in nisi laboris sint", - "redaction": "DEFAULT", - "sourceRegex": "in", - "transformedRegex": "labore" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "nulla labo", - "table": "Excepteur aute ullamco", - "column": "ea", - "dataSelector": "in", - "dataSelectorRegex": "voluptate minim ut", - "transformFormat": "et", - "encryptionType": "ad occaecat sint", - "redaction": "DEFAULT", - "sourceRegex": "enim qui", - "transformedRegex": "laboris" - }, - { - "action": "NOT_SELECTED", - "fieldName": "ea exercitation et nisi", - "table": "irure sed", - "column": "consequat laboris", - "dataSelector": "eu Duis", - "dataSelectorRegex": "eu sint veniam incidid", - "transformFormat": "dolore deserunt", - "encryptionType": "tempor amet et culpa", - "redaction": "DEFAULT", - "sourceRegex": "in", - "transformedRegex": "in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "officia", - "table": "qui nostrud laboris et", - "column": "cupidatat laboris Lorem", - "dataSelector": "eu cillum veniam sed Ut", - "dataSelectorRegex": "mollit commodo id anim", - "transformFormat": "inci", - "encryptionType": "nulla ut non", - "redaction": "DEFAULT", - "sourceRegex": "occaecat qui cillum aute", - "transformedRegex": "do minim consequat irure ut" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "sed in labore sunt", - "table": "elit", - "column": "quis magna cillum", - "dataSelector": "ullamco reprehenderit Lorem in", - "dataSelectorRegex": "amet officia id sed", - "transformFormat": "eiusmod in", - "encryptionType": "ullamco ", - "redaction": "DEFAULT", - "sourceRegex": "qui ut", - "transformedRegex": "sed veniam consectetur eiusmod" - }, - { - "action": "NOT_SELECTED", - "fieldName": "", - "table": "et anim", - "column": "qui exerc", - "dataSelector": "consectetur Lorem in labore sed", - "dataSelectorRegex": "laborum pariatur in sed Excepteur", - "transformFormat": "anim consectetur occaecat eiusmod qui", - "encryptionType": "Duis dolor ad aliquip", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "in nulla ea do" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolor incididunt", - "table": "dolore quis laborum ad cillum", - "column": "culpa c", - "dataSelector": "non", - "dataSelectorRegex": "proident", - "transformFormat": "nulla Excepteur", - "encryptionType": "reprehenderit", - "redaction": "DEFAULT", - "sourceRegex": "in dolor id cupidatat elit", - "transformedRegex": "ipsum dolor eu veniam" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "occaecat minim officia", - "table": "est esse dolore ea a", - "column": "officia quis cillum s", - "dataSelector": "sint consectetur culpa", - "dataSelectorRegex": "cillum sunt", - "transformFormat": "cillum Excepteur pariatur fugiat es", - "encryptionType": "aliq", - "redaction": "DEFAULT", - "sourceRegex": "officia fugiat dolore labo", - "transformedRegex": "in pariatur sunt consequat" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolor eu minim", - "table": "non ipsum sit", - "column": "ad esse et commodo exercitation", - "dataSelector": "minim nostrud", - "dataSelectorRegex": "proident molli", - "transformFormat": "amet Duis ut", - "encryptionType": "in ullamco aliquip ", - "redaction": "DEFAULT", - "sourceRegex": "eiusmod Lorem mollit deserunt", - "transformedRegex": "in ut magna laborum" - }, - { - "action": "NOT_SELECTED", - "fieldName": "incididunt cillum sint qui", - "table": "nisi aliqua", - "column": "dolor anim", - "dataSelector": "nostrud consectetur", - "dataSelectorRegex": "laborum s", - "transformFormat": "ullamco reprehenderit culpa id Duis", - "encryptionType": "ut aliquip et laboris", - "redaction": "DEFAULT", - "sourceRegex": "id min", - "transformedRegex": "ex ea Ut" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "culpa ex proident amet in", - "table": "ullamco do", - "column": "qui in laboris", - "dataSelector": "mollit", - "dataSelectorRegex": "est", - "transformFormat": "ut mollit ut adipi", - "encryptionType": "ea incididunt pariatur minim magna", - "redaction": "DEFAULT", - "sourceRegex": "voluptate qui et", - "transformedRegex": "deserunt sunt enim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sit", - "table": "eu magna", - "column": "Ut", - "dataSelector": "aliquip n", - "dataSelectorRegex": "sint fugiat ad", - "transformFormat": "Duis ", - "encryptionType": "est sint culpa proident", - "redaction": "DEFAULT", - "sourceRegex": "veniam ipsum ut Excepteur", - "transformedRegex": "in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolore", - "table": "ut non", - "column": "ullamco ex ut", - "dataSelector": "pariatur id", - "dataSelectorRegex": "in magna non Duis", - "transformFormat": "aliquip labore eu", - "encryptionType": "velit", - "redaction": "DEFAULT", - "sourceRegex": "veniam ullamco", - "transformedRegex": "dolore Duis aliqua" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "sint nisi", - "table": "commodo Duis aute anim nulla", - "column": "eiusmod ut", - "dataSelector": "fugiat qui anim sed", - "dataSelectorRegex": "minim ", - "transformFormat": "tempor aliqua commodo ex", - "encryptionType": "", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "nostrud officia" - }, - { - "action": "NOT_SELECTED", - "fieldName": "culpa", - "table": "dolore elit", - "column": "labore Excepteur sit in fugiat", - "dataSelector": "ut est tempor", - "dataSelectorRegex": "proident", - "transformFormat": "do in esse", - "encryptionType": "tempor dolore", - "redaction": "DEFAULT", - "sourceRegex": "occaecat eu Ut", - "transformedRegex": "reprehenderit ea dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing dolor", - "table": "ipsum consequat", - "column": "nostrud cupidatat Duis in esse", - "dataSelector": "Excepteur do velit amet", - "dataSelectorRegex": "consequat", - "transformFormat": "commodo dolore cupidatat", - "encryptionType": "Duis aliquip", - "redaction": "DEFAULT", - "sourceRegex": "qui", - "transformedRegex": "labore cons" - } - ], - "name": "sint", - "description": "velit eiusmod si", - "soapAction": "consectetur tempor nostrud", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "elit", - "keyEncryptionAlgo": "exercitation ipsum consectetur", - "contentEncryptionAlgo": "nisi", - "signatureAlgorithm": "Lorem mollit amet dolor", - "sourceRegex": "sed", - "transformedRegex": "aliquip offi", - "target": "" - }, - { - "type": "NOACTION", - "action": "velit est Ut ullam", - "keyEncryptionAlgo": "ipsum esse consequat laborum", - "contentEncryptionAlgo": "adipisicing", - "signatureAlgorithm": "eiusmod sed aliquip sit quis", - "sourceRegex": "sit", - "transformedRegex": "do", - "target": "ut id eiusmod" - }, - { - "type": "NOACTION", - "action": "ea culpa nisi Ut in", - "keyEncryptionAlgo": "Duis quis qui Lorem nostr", - "contentEncryptionAlgo": "et", - "signatureAlgorithm": "aliqua aliquip consequ", - "sourceRegex": "ipsum aliqua sunt", - "transformedRegex": "sit eiusmod aliquip", - "target": "laboris ex" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "do dolor laboris veniam", - "keyEncryptionAlgo": "anim veniam", - "contentEncryptionAlgo": "sint", - "signatureAlgorithm": "Ut velit mollit", - "sourceRegex": "dolor", - "transformedRegex": "aliquip magna", - "target": "enim Duis" - }, - { - "type": "NOACTION", - "action": "ex reprehenderi", - "keyEncryptionAlgo": "cupidatat", - "contentEncryptionAlgo": "cillum labore deserunt sit", - "signatureAlgorithm": "et in eu consectetur labore", - "sourceRegex": "ut", - "transformedRegex": "labore", - "target": "elit officia" - }, - { - "type": "NOACTION", - "action": "in eiusmod qui magna", - "keyEncryptionAlgo": "nulla dolore reprehenderit ipsum", - "contentEncryptionAlgo": "laboris nis", - "signatureAlgorithm": "ipsum consequat", - "sourceRegex": "magna", - "transformedRegex": "magna minim Excepteur proident sint", - "target": "qui" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "officia sunt ut", - "keyEncryptionAlgo": "nisi anim ullamco co", - "contentEncryptionAlgo": "non nostrud ut", - "signatureAlgorithm": "elit irure", - "sourceRegex": "laborum sed pariatur", - "transformedRegex": "dolor aliqua commodo aliq", - "target": "mollit exercitation sit laborum" - }, - { - "type": "NOACTION", - "action": "commodo ea in anim", - "keyEncryptionAlgo": "r", - "contentEncryptionAlgo": "officia amet", - "signatureAlgorithm": "in Duis eu v", - "sourceRegex": "exercitation culpa", - "transformedRegex": "veniam", - "target": "in id aliqua" - }, - { - "type": "NOACTION", - "action": "non consequat amet dolor mollit", - "keyEncryptionAlgo": "tempor ex ut velit aliquip", - "contentEncryptionAlgo": "culpa officia", - "signatureAlgorithm": "Ut proident aliqua nostrud in", - "sourceRegex": "laborum sint", - "transformedRegex": "in dolore fugiat sunt occaecat", - "target": "proident" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "exercitation eius", - "keyEncryptionAlgo": "id eu", - "contentEncryptionAlgo": "aliqua nostrud cons", - "signatureAlgorithm": "voluptate nisi elit", - "sourceRegex": "exercitation sint enim labore commo", - "transformedRegex": "qui ex", - "target": "incididunt fugiat voluptate Lorem eu" - }, - { - "type": "NOACTION", - "action": "eu", - "keyEncryptionAlgo": "nulla", - "contentEncryptionAlgo": "esse", - "signatureAlgorithm": "et aliquip minim qui", - "sourceRegex": "ex aute ad enim i", - "transformedRegex": "aliqua incididunt commodo Dui", - "target": "magna id" - }, - { - "type": "NOACTION", - "action": "sit incididu", - "keyEncryptionAlgo": "et dolor aliquip", - "contentEncryptionAlgo": "aliquip Ut dolor", - "signatureAlgorithm": "ipsum mollit consequat aliquip amet", - "sourceRegex": "velit eiusmod pariatur", - "transformedRegex": "dolor magna Ut", - "target": "ea sit est" - } - ], - "tableUpsertInfo": [ - { - "table": "mollit", - "column": "dolor magna ut id sed" - }, - { - "table": "magna et", - "column": "eu ad in voluptate quis" - }, - { - "table": "Duis voluptate Excepteur ipsum", - "column": "commodo ut nisi" - } - ] - } - ], - "authMode": "NOAUTH", - "description": "repreh", - "BasicAudit": { - "CreatedBy": "adipisicing non elit quis", - "LastModifiedBy": "enim ut reprehenderit", - "CreatedOn": "in elit et sed", - "LastModifiedOn": "incididunt laborum labore pariatur" - }, - "denyPassThrough": true, - "formEncodedKeysPassThrough": true - } - }, - "v1RelayMessageActions": { - "properties": { - "type": { - "$ref": "#/components/schemas/RelayMessageActionsMessageActionType" - }, - "action": { - "description": "Type of message action.
      Accepted values:
      • JWE
      • JWS
      • RSAPKCS
      • RSAOAEP
      ", - "type": "string" - }, - "keyEncryptionAlgo": { - "description": "Algorithm used to encrypt the message encryption key.
      Accepted values:
      • ED25519
      • RSA-OAEP
      • RSA-OAEP-256
      • A128KW
      • A192KW
      • A256KW
      • ECDH-ES
      • ECDH-ES+A128KW
      • ECDH-ES+A192KW
      • ECDH-ES+A256KW
      • A128GCMKW
      • A192GCMKW
      • A256GCMKW
      • PBES2-HS256+A128KW
      • PBES2-HS384+A192KW
      • PBES2-HS512+A256KW
      ", - "type": "string" - }, - "contentEncryptionAlgo": { - "description": "Algorithm used to encrypt the message content.
      Accepted values:
      • A256GCM
      • A192CBC_HS384
      • A128GCM
      • A192GCM
      • A256CBC-HS512
      • A128CBC-HS256
      ", - "type": "string" - }, - "signatureAlgorithm": { - "description": "Algorithm used to sign and verify message content.
      Accepted values:
      • EdDSA
      • HS256
      • HS384
      • HS512
      • PS512
      • RS256
      • RS384
      • RS512
      • ES256
      • ES384
      • ES512
      • PS256
      • PS384
      • PS512
      ", - "type": "string" - }, - "sourceRegex": { - "description": "Regex to match the given field value.", - "type": "string" - }, - "transformedRegex": { - "description": "Regex to create the transformed value.", - "type": "string" - }, - "target": { - "description": "Target defines the part of request like Body, Headers.", - "type": "string" - } - }, - "type": "object", - "example": { - "type": "NOACTION", - "action": "proident elit", - "keyEncryptionAlgo": "sed", - "contentEncryptionAlgo": "dolore nisi", - "signatureAlgorithm": "cupidatat magna fugiat", - "sourceRegex": "dolore laborum aute", - "transformedRegex": "elit occaecat ", - "target": "id proident e" - } - }, - "v1RelayOP": { - "properties": { - "action": { - "$ref": "#/components/schemas/RelayOPActions" - }, - "fieldName": { - "description": "Name (path) of the field that the action acts on. JSON uses '.' as a separator.", - "type": "string" - }, - "table": { - "description": "Name of the table to store the token in. Required only if `action` is `TOKENIZATION`.", - "type": "string" - }, - "column": { - "description": "Name of the column to store the token in. Required only if `action` is `TOKENIZATION`.", - "type": "string" - }, - "dataSelector": { - "description": "Method to select data within a field.", - "type": "string" - }, - "dataSelectorRegex": { - "description": "Regular expression to select data within a field. Required only if `dataSelector` is `REGEX`.", - "type": "string" - }, - "transformFormat": { - "description": "Directive to change format of the data.", - "type": "string" - }, - "encryptionType": { - "description": "Type of encryption. Required only if `action` is `ENCRYPTION`.
      Accepted values:
      • AES_IV_FRONT_APPEND
      ", - "type": "string" - }, - "redaction": { - "$ref": "#/components/schemas/RedactionEnumREDACTION" - }, - "sourceRegex": { - "description": "Regex to match the given field value.", - "type": "string" - }, - "transformedRegex": { - "description": "Regex to create the transformed value.", - "type": "string" - } - }, - "type": "object", - "example": { - "action": "NOT_SELECTED", - "fieldName": "exercitation consequat", - "table": "est aute occaecat labore eiusmod", - "column": "laboris", - "dataSelector": "sunt Excepteur deserunt reprehenderit fugiat", - "dataSelectorRegex": "sed commodo Duis", - "transformFormat": "sit Lorem dolore", - "encryptionType": "esse culpa non incididunt dolor", - "redaction": "DEFAULT", - "sourceRegex": "do aute Ut ipsum", - "transformedRegex": "irure minim" - } - }, - "v1RelayRoute": { - "properties": { - "path": { - "description": "Path of the route.", - "type": "string" - }, - "method": { - "description": "HTTP method for the route path.", - "type": "string" - }, - "contentType": { - "$ref": "#/components/schemas/RelayRouteContentType" - }, - "url": { - "description": "Operations to perform on the URL of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "requestBody": { - "description": "Operations to perform on the request body of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "responseBody": { - "description": "Operations to perform on the response body of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "responseHeader": { - "description": "Operations to perform on the response header of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "queryParams": { - "description": "Operations to perform on the query parameters of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "requestHeader": { - "description": "Operations to perform on the request header of the incoming payload.", - "items": { - "$ref": "#/components/schemas/v1RelayOP" - }, - "type": "array" - }, - "name": { - "description": "Name of the route.", - "type": "string" - }, - "description": { - "description": "Description of the route.", - "type": "string" - }, - "soapAction": { - "description": "SOAP action to process.", - "type": "string" - }, - "mleType": { - "$ref": "#/components/schemas/RelayRouteMLEType" - }, - "preFieldRequestMessageActions": { - "description": "Message-level actions to perform when Skyflow receives a request through a connection.", - "items": { - "$ref": "#/components/schemas/v1RelayMessageActions" - }, - "type": "array" - }, - "postFieldRequestMessageActions": { - "description": "Field-level actions to perform (after message-level actions) when Skyflow receives a request through a connection.", - "items": { - "$ref": "#/components/schemas/v1RelayMessageActions" - }, - "type": "array" - }, - "preFieldResponseMessageActions": { - "description": "Message-level actions to perform when Skyflow receives a response through a connection.", - "items": { - "$ref": "#/components/schemas/v1RelayMessageActions" - }, - "type": "array" - }, - "postFieldResponseMessageActions": { - "description": "Field-level actions to perform (after message-level actions) when Skyflow receives a response through a connection.", - "items": { - "$ref": "#/components/schemas/v1RelayMessageActions" - }, - "type": "array" - }, - "tableUpsertInfo": { - "description": "Table and column information for upsert.", - "items": { - "$ref": "#/components/schemas/RelayRouteTableUpsertInfo" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "path": "voluptate et", - "method": "aliquip voluptate eiusmod Duis fugiat", - "contentType": "JSON", - "url": [ - { - "action": "NOT_SELECTED", - "fieldName": "laboris dolor ipsum in", - "table": "adipisicing minim sed exercitation", - "column": "nulla labore cillum cupidatat id", - "dataSelector": "reprehenderit in non eli", - "dataSelectorRegex": "sunt anim id", - "transformFormat": "labore velit reprehenderit ullamco", - "encryptionType": "veniam in", - "redaction": "DEFAULT", - "sourceRegex": "occaecat", - "transformedRegex": "ex dolor" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolor sed", - "table": "dolor ullamco occaecat ad velit", - "column": "do qui", - "dataSelector": "sit nostrud ven", - "dataSelectorRegex": "labore laborum amet velit ut", - "transformFormat": "officia", - "encryptionType": "cillum nulla dolore ullamco exercitation", - "redaction": "DEFAULT", - "sourceRegex": "labore", - "transformedRegex": "est amet sint" - }, - { - "action": "NOT_SELECTED", - "fieldName": "dolore adipisicing enim", - "table": "sit", - "column": "aliqua nostrud labore ipsum", - "dataSelector": "elit ullamco", - "dataSelectorRegex": "ad fugiat", - "transformFormat": "Duis", - "encryptionType": "aute tempor anim eu occaecat", - "redaction": "DEFAULT", - "sourceRegex": "", - "transformedRegex": "Ut aliqua ea do" - } - ], - "requestBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "velit non l", - "table": "qui do", - "column": "pariatur ad proident nulla", - "dataSelector": "ullamco tempor dolor ipsum dolore", - "dataSelectorRegex": "dolore aliquip", - "transformFormat": "veniam s", - "encryptionType": "eu consequat ea", - "redaction": "DEFAULT", - "sourceRegex": "aliquip esse et deserunt", - "transformedRegex": "minim ullamco aute" - }, - { - "action": "NOT_SELECTED", - "fieldName": "adipisicing incididunt", - "table": "fugia", - "column": "nulla", - "dataSelector": "amet nisi officia minim", - "dataSelectorRegex": "magna in qui", - "transformFormat": "in cillum in dolore", - "encryptionType": "ut aliquip", - "redaction": "DEFAULT", - "sourceRegex": "sint culpa tempor Duis cillum", - "transformedRegex": "ut dolor incididunt" - }, - { - "action": "NOT_SELECTED", - "fieldName": "anim irure ea occa", - "table": "nisi Lorem et dolor", - "column": "ut", - "dataSelector": "Excepteur laborum", - "dataSelectorRegex": "est nisi", - "transformFormat": "officia", - "encryptionType": "fugiat consequat laboris anim dolore", - "redaction": "DEFAULT", - "sourceRegex": "culpa labore reprehenderit pariatur dolore", - "transformedRegex": "mollit sed ullamco" - } - ], - "responseBody": [ - { - "action": "NOT_SELECTED", - "fieldName": "et consectetur mollit enim", - "table": "in", - "column": "Ut id", - "dataSelector": "Ut veniam", - "dataSelectorRegex": "incididunt Ut esse", - "transformFormat": "nisi Ut", - "encryptionType": "ad dolor tempor sed", - "redaction": "DEFAULT", - "sourceRegex": "magna fugiat", - "transformedRegex": "veniam in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aute", - "table": "amet sunt ex", - "column": "ullamco in L", - "dataSelector": "fugiat ut", - "dataSelectorRegex": "occaecat in consectetur", - "transformFormat": "et aute ipsum aliqua", - "encryptionType": "sunt", - "redaction": "DEFAULT", - "sourceRegex": "magna proident dolor officia sunt", - "transformedRegex": "aliquip" - }, - { - "action": "NOT_SELECTED", - "fieldName": "id laborum elit consectetur", - "table": "magna aliqua", - "column": "non minim", - "dataSelector": "magna dolor in eiusmod ea", - "dataSelectorRegex": "fugiat in mollit veniam", - "transformFormat": "ullamco et", - "encryptionType": "velit", - "redaction": "DEFAULT", - "sourceRegex": "mollit in est dolor", - "transformedRegex": "fugiat eu mollit" - } - ], - "responseHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "sunt pariatur", - "table": "occaecat amet", - "column": "dolor", - "dataSelector": "eiusmod sint dolor cupidatat officia", - "dataSelectorRegex": "sint", - "transformFormat": "sit", - "encryptionType": "laborum dolor et est Duis", - "redaction": "DEFAULT", - "sourceRegex": "cillum Duis", - "transformedRegex": "pariatur aliquip culpa" - }, - { - "action": "NOT_SELECTED", - "fieldName": "sunt consequat", - "table": "anim dolor in", - "column": "enim aliquip dolor voluptate", - "dataSelector": "ut ea ipsum", - "dataSelectorRegex": "proident", - "transformFormat": "incididunt officia ad non", - "encryptionType": "ullamco", - "redaction": "DEFAULT", - "sourceRegex": "irure consequat", - "transformedRegex": "irure amet in" - }, - { - "action": "NOT_SELECTED", - "fieldName": "elit quis", - "table": "Ut", - "column": "laborum", - "dataSelector": "nulla exercitation", - "dataSelectorRegex": "eu commodo do ipsum dolor", - "transformFormat": "Lorem amet", - "encryptionType": "Duis", - "redaction": "DEFAULT", - "sourceRegex": "Excepteur velit reprehenderit adipisicing", - "transformedRegex": "minim id" - } - ], - "queryParams": [ - { - "action": "NOT_SELECTED", - "fieldName": "consequ", - "table": "", - "column": "sed sunt deserunt exercitation et", - "dataSelector": "minim culpa do sed aliqua", - "dataSelectorRegex": "ex in sint veniam ad", - "transformFormat": "ex nulla e", - "encryptionType": "non in elit eu cillum", - "redaction": "DEFAULT", - "sourceRegex": "veniam ut", - "transformedRegex": "velit consectetur deserunt culpa sint" - }, - { - "action": "NOT_SELECTED", - "fieldName": "irure", - "table": "et laboris Lorem", - "column": "anim aliqua mollit", - "dataSelector": "nostrud dolor deserunt", - "dataSelectorRegex": "consectetur laboris non occaecat", - "transformFormat": "dolor", - "encryptionType": "eu aliqua mollit qui", - "redaction": "DEFAULT", - "sourceRegex": "nostrud", - "transformedRegex": "qui et nulla in enim" - }, - { - "action": "NOT_SELECTED", - "fieldName": "aliqua ", - "table": "Ut aliqu", - "column": "aute", - "dataSelector": "dolore ullamco laborum cupidatat", - "dataSelectorRegex": "elit adipisicing dolo", - "transformFormat": "aliquip non velit", - "encryptionType": "in in nisi", - "redaction": "DEFAULT", - "sourceRegex": "ea proident qui", - "transformedRegex": "aliqua ipsum" - } - ], - "requestHeader": [ - { - "action": "NOT_SELECTED", - "fieldName": "esse ex culpa qui aliqua", - "table": "eiusmod mollit laboris", - "column": "minim aute mollit", - "dataSelector": "ad ", - "dataSelectorRegex": "reprehenderit dolore proident", - "transformFormat": "anim velit venia", - "encryptionType": "aliqua veniam nostrud elit Lo", - "redaction": "DEFAULT", - "sourceRegex": "e", - "transformedRegex": "commodo laboris" - }, - { - "action": "NOT_SELECTED", - "fieldName": "non sed cillum occaecat exercitatio", - "table": "ea est aute dolore de", - "column": "est ex", - "dataSelector": "fugiat sed reprehenderit sunt", - "dataSelectorRegex": "Lorem Excepteur consectetur aute", - "transformFormat": "nostrud cillum incididun", - "encryptionType": "laboris ea elit esse", - "redaction": "DEFAULT", - "sourceRegex": "nisi", - "transformedRegex": "magna adipisicing aliquip" - }, - { - "action": "NOT_SELECTED", - "fieldName": "deserunt tempor", - "table": "laboris", - "column": "cupidatat aute et", - "dataSelector": "officia", - "dataSelectorRegex": "voluptate in laboris nostrud commodo", - "transformFormat": "incididunt officia fugiat ea ipsum", - "encryptionType": "aliquip adipisicing officia dolor quis", - "redaction": "DEFAULT", - "sourceRegex": "id ullamco dolor velit Ut", - "transformedRegex": "est ea exercitation consectetur adipisicing" - } - ], - "name": "consequat fugiat", - "description": "occaecat qui consectetur enim", - "soapAction": "enim pariatur culpa ullamco consectetur", - "mleType": "NOT_REQUIRED", - "preFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "pa", - "keyEncryptionAlgo": "elit veniam Lorem", - "contentEncryptionAlgo": "Duis voluptate reprehenderit Ut dolore", - "signatureAlgorithm": "m", - "sourceRegex": "commodo reprehenderit et veniam", - "transformedRegex": "mollit velit minim fugiat pariatur", - "target": "deserunt in" - }, - { - "type": "NOACTION", - "action": "irure veniam magna aute", - "keyEncryptionAlgo": "ex", - "contentEncryptionAlgo": "ea", - "signatureAlgorithm": "anim do velit ipsum", - "sourceRegex": "sint laboris id", - "transformedRegex": "quis officia exercitation velit sit", - "target": "dolore Lorem id" - }, - { - "type": "NOACTION", - "action": "nisi ut aute sunt culpa", - "keyEncryptionAlgo": "eu Duis voluptate quis", - "contentEncryptionAlgo": "voluptate ullamco occaecat elit aliquip", - "signatureAlgorithm": "sunt Lorem incididun", - "sourceRegex": "Excepteur sit in", - "transformedRegex": "fugiat et ex anim", - "target": "in tempor sit" - } - ], - "postFieldRequestMessageActions": [ - { - "type": "NOACTION", - "action": "veniam Excepteur", - "keyEncryptionAlgo": "commodo sit aliquip ut", - "contentEncryptionAlgo": "deserunt adipi", - "signatureAlgorithm": "ut et sunt", - "sourceRegex": "do", - "transformedRegex": "eu dolor", - "target": "non Ut" - }, - { - "type": "NOACTION", - "action": "D", - "keyEncryptionAlgo": "nisi dolore Ut culpa in", - "contentEncryptionAlgo": "deserunt anim minim", - "signatureAlgorithm": "ea", - "sourceRegex": "anim eiusmod", - "transformedRegex": "esse", - "target": "magna aute" - }, - { - "type": "NOACTION", - "action": "veniam in dolor", - "keyEncryptionAlgo": "Excepteur ut irure", - "contentEncryptionAlgo": "occaecat Ut", - "signatureAlgorithm": "ipsum dolore Lorem culpa", - "sourceRegex": "deserunt id laboris nisi ea", - "transformedRegex": "Duis ut officia laboris", - "target": "reprehenderit ip" - } - ], - "preFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "ipsum adipisicing in officia Lorem", - "keyEncryptionAlgo": "irure cillum", - "contentEncryptionAlgo": "aliquip", - "signatureAlgorithm": "dolore", - "sourceRegex": "qui Excepteur incididunt ullamco ipsum", - "transformedRegex": "nostrud ullamco nulla eiusmod Duis", - "target": "reprehenderit officia " - }, - { - "type": "NOACTION", - "action": "reprehenderit amet nulla tempor adipisicing", - "keyEncryptionAlgo": "laboris cupidatat", - "contentEncryptionAlgo": "ipsum", - "signatureAlgorithm": "cupidatat", - "sourceRegex": "officia ad", - "transformedRegex": "sint exercitation", - "target": "culpa Ut" - }, - { - "type": "NOACTION", - "action": "ipsum", - "keyEncryptionAlgo": "qui ullamco quis ut", - "contentEncryptionAlgo": "et esse velit exercitation", - "signatureAlgorithm": "Lorem labore Ut incididunt sed", - "sourceRegex": "ni", - "transformedRegex": "exercitation incididunt veniam", - "target": "sed" - } - ], - "postFieldResponseMessageActions": [ - { - "type": "NOACTION", - "action": "in velit", - "keyEncryptionAlgo": "elit eu qui", - "contentEncryptionAlgo": "cupidatat proident ullamco culpa", - "signatureAlgorithm": "cupidat", - "sourceRegex": "ut est", - "transformedRegex": "laborum dolore mollit", - "target": "exercitation Lorem velit anim reprehenderit" - }, - { - "type": "NOACTION", - "action": "aliquip ex", - "keyEncryptionAlgo": "ad culpa minim in in", - "contentEncryptionAlgo": "do nostrud dolor non", - "signatureAlgorithm": "sunt minim dolor veniam", - "sourceRegex": "nulla qui non ex Excepteur", - "transformedRegex": "Ut proident sunt laborum enim", - "target": "dolor aliqua nostrud aute" - }, - { - "type": "NOACTION", - "action": "sint ut", - "keyEncryptionAlgo": "sunt sint Duis", - "contentEncryptionAlgo": "sed consectet", - "signatureAlgorithm": "sunt qui esse ut", - "sourceRegex": "labore", - "transformedRegex": "in consectetur deserunt", - "target": "dolore" - } - ], - "tableUpsertInfo": [ - { - "table": "ulla", - "column": "incididunt nulla adipisicing" - }, - { - "table": "non in ad culpa", - "column": "s" - }, - { - "table": "culpa dolor ad aute", - "column": "ex officia labore incididunt" - } - ] - } - }, - "v1Resource": { - "description": "Component of a Skyflow account.", - "example": { - "ID": "g2400b4c4c9c11ea8baaacde48001122", - "type": "VAULT" - }, - "properties": { - "ID": { - "description": "ID of the resource. For example, if `resource.type` is `VAULT`, this field is the vault ID. If `resource.type` is `WORKSPACE`, this field is the workspace ID.", - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/v1ResourceType" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "namespace": { - "description": "Unique namespace for the resource. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Description of the resource.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "displayName": { - "description": "Display name of the resource that appears in user interfaces.", - "type": "string" - } - }, - "required": [ - "ID", - "type" - ], - "type": "object" - }, - "v1ResourceType": { - "default": "NONE", - "description": "Type of the resource.", - "enum": [ - "NONE", - "ORGANIZATION", - "VAULT", - "ACCOUNT", - "SERVICE_ACCOUNT", - "VAULT_TEMPLATE", - "WORKSPACE", - "FIELD_TEMPLATE", - "RECORD", - "TOKEN", - "CONNECTION", - "ENCRYPTION_KEY", - "NETWORK_TOKEN", - "SUBSCRIPTION", - "PAYMENT_CONFIG" - ], - "type": "string", - "example": "NONE" - }, - "v1Role": { - "properties": { - "ID": { - "description": "ID of the role.", - "title": "ID", - "type": "string" - }, - "namespace": { - "description": "This will be generated by the server and cannot be user generated.", - "readOnly": true, - "title": "Namespace to uniquely identify a role", - "type": "string" - }, - "definition": { - "$ref": "#/components/schemas/v1RoleDefinition" - }, - "resource": { - "$ref": "#/components/schemas/v1Resource" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - }, - "type": "object", - "example": { - "ID": "deserunt cillum qui", - "namespace": "nostru", - "definition": { - "name": "dolore", - "displayName": "ullamco", - "description": "proident esse", - "permissions": [ - "do", - "incididunt eiusmod officia", - "esse sit" - ], - "levels": [ - "dolor est", - "mollit amet proident voluptate sunt", - "pariatur Duis labore ullamco" - ], - "type": "NONE" - }, - "resource": { - "ID": "quis aliqua", - "type": "NONE", - "name": "aliqua ea veniam", - "namespace": "Excepteur", - "description": "officia cillum", - "status": "NONE", - "displayName": "nisi" - }, - "BasicAudit": { - "CreatedBy": "proident pariatur incididunt", - "LastModifiedBy": "cupidatat", - "CreatedOn": "cupidatat nisi", - "LastModifiedOn": "et" - } - } - }, - "v1RoleDefinition": { - "description": "Role details.", - "properties": { - "name": { - "description": "Name of the role. Must be unique.", - "type": "string" - }, - "displayName": { - "description": "Display name of the role.", - "type": "string" - }, - "description": { - "description": "Description of the role.", - "type": "string" - }, - "permissions": { - "description": "Permissions granted to a role.", - "items": { - "type": "string" - }, - "type": "array" - }, - "levels": { - "description": "Levels at which this role is applied.", - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "$ref": "#/components/schemas/v1RoleDefinitionType" - } - }, - "required": [ - "name" - ], - "type": "object", - "example": { - "name": "consectetur aute", - "displayName": "sit ut nisi velit", - "description": "elit", - "permissions": [ - "incidi", - "enim sunt consequat ut quis", - "pariatur et Duis non amet" - ], - "levels": [ - "aliquip fugiat ", - "officia exercitati", - "velit et tempor" - ], - "type": "NONE" - } - }, - "v1RoleDefinitionType": { - "default": "NONE", - "description": " - SYSTEM: Defined by Skyflow.\n - CUSTOM: Defined by a user.", - "enum": [ - "NONE", - "SYSTEM", - "CUSTOM" - ], - "type": "string", - "example": "NONE" - }, - "v1RoleResourcePair": { - "properties": { - "role": { - "$ref": "#/components/schemas/v1Role" - }, - "resource": { - "$ref": "#/components/schemas/v1Resource" - } - }, - "type": "object", - "example": { - "role": { - "ID": "deserunt dolore commodo", - "namespace": "in nulla laborum ea Lorem", - "definition": { - "name": "ut nisi sint", - "displayName": "in", - "description": "labore dolore", - "permissions": [ - "minim nisi adipisicing reprehenderit occae", - "nisi consectetur in reprehenderit dolor", - "nisi ut Ut" - ], - "levels": [ - "voluptate", - "ut", - "aliqua" - ], - "type": "NONE" - }, - "resource": { - "ID": "Ut", - "type": "NONE", - "name": "exercitation", - "namespace": "veniam ni", - "description": "deserunt ullamco do", - "status": "NONE", - "displayName": "minim consequat nulla" - }, - "BasicAudit": { - "CreatedBy": "deserunt id ut", - "LastModifiedBy": "dolor dolor ullamco exercitation", - "CreatedOn": "adipisicing do Lorem dolore", - "LastModifiedOn": "dolor nulla adipisicing mollit incidid" - } - }, - "resource": { - "ID": "cupidatat", - "type": "NONE", - "name": "mollit deserunt", - "namespace": "Excepteur nostrud", - "description": "Excepteur ut cu", - "status": "NONE", - "displayName": "nostrud" - } - } - }, - "v1RotatePipelineEncryptionKeyResponse": { - "properties": { - "publicKey": { - "description": "Public key.", - "type": "string" - }, - "encryptionProtocol": { - "$ref": "#/components/schemas/v1EncryptionProtocol" - }, - "validAfterTime": { - "description": "The key can be used after this timestamp.", - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "description": "The key can be used before this timestamp.", - "format": "date-time", - "type": "string" - } - }, - "type": "object", - "example": { - "publicKey": "in nulla", - "encryptionProtocol": "NONE_PROTOCOL", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - } - }, - "v1Rule": { - "description": "Rule details.", - "properties": { - "ID": { - "description": "ID of the rule.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of the rule. Must be unique within a policy.", - "minLength": 1, - "pattern": "^[A-Za-z0-9]+$", - "type": "string" - }, - "effect": { - "$ref": "#/components/schemas/v1Effect" - }, - "actions": { - "description": "Actions the rule is scoped to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "resources": { - "description": "Resources the rule applies to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "resourceType": { - "$ref": "#/components/schemas/RuleResourceType" - }, - "dlpFormat": { - "$ref": "#/components/schemas/v1DLPFormat" - }, - "condition": { - "description": "A Common Expression Language that applies a conditional filter.", - "type": "string" - }, - "rowFilter": { - "description": "SQL expression that applies a filter on all rows of a table.", - "type": "string" - }, - "ruleExpression": { - "description": "The rule expressed as a formatted string.", - "type": "string" - }, - "redaction": { - "description": "The redaction expression.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object", - "example": { - "ID": "sed ullamco", - "name": "TLo", - "effect": "NONE_EFFECT", - "actions": [ - "amet aliqua id ullamco", - "consectetur in sunt officia", - "ipsum id nisi" - ], - "resources": [ - "commodo in non Lorem", - "sunt veniam consectetur", - "ex pariatur labore" - ], - "resourceType": "ACCOUNT", - "dlpFormat": "NONE_FORMAT", - "condition": "aliqua adipisicing quis consectetur", - "rowFilter": "anim", - "ruleExpression": "sed reprehende", - "redaction": "ipsum nostrud eu do non" - } - }, - "v1RuleParams": { - "description": "Rule details.", - "properties": { - "name": { - "description": "Name of the rule.", - "type": "string" - }, - "ID": { - "description": "ID of the rule. Only specify a rule ID when updating a policy.", - "type": "string" - }, - "ruleExpression": { - "description": "Rule expressed as a formatted string.", - "type": "string" - }, - "columnRuleParams": { - "$ref": "#/components/schemas/v1ColumnRuleParams" - }, - "tableRuleParams": { - "$ref": "#/components/schemas/v1TableRuleParams" - }, - "columnGroupRuleParams": { - "$ref": "#/components/schemas/v1ColumnGroupRuleParams" - } - }, - "type": "object", - "example": { - "name": "ea ut voluptate ut", - "ID": "in sunt in elit Excepteur", - "ruleExpression": "Lorem tempor", - "columnRuleParams": { - "vaultID": "occaecat", - "columns": [ - "dolor", - "non aliqu", - "et irure sint" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "laborum Lorem", - "redaction": "commodo", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "tableRuleParams": { - "vaultID": "qui ut aliqua", - "tableName": "esse reprehenderit", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "in enim do", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - }, - "columnGroupRuleParams": { - "vaultID": "eu", - "columnGroups": [ - "eiusmod esse quis reprehenderit", - "cillum", - "ea eu aute nisi consectetur" - ], - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "minim eiusmod sint et", - "redaction": "mollit", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - } - }, - "v1Schema": { - "description": "Schema that represents the fields and field options of the vault.", - "properties": { - "ID": { - "description": "ID of the schema.", - "type": "string" - }, - "name": { - "description": "Name of the schema.", - "type": "string" - }, - "parentSchemaProperties": { - "$ref": "#/components/schemas/v1ParentSchemaProperties" - }, - "fields": { - "description": "Fields in this schema.", - "items": { - "$ref": "#/components/schemas/v1Field" - }, - "type": "array" - }, - "childrenSchemas": { - "description": "Complete `schema` objects contained within the current schema.", - "items": { - "type": "object", - "properties": {} - }, - "type": "array" - }, - "schemaTags": { - "description": "Tags applied to a schema.", - "items": { - "$ref": "#/components/schemas/v1Tag" - }, - "type": "array" - }, - "properties": { - "$ref": "#/components/schemas/v1Properties" - } - }, - "type": "object", - "example": { - "ID": "", - "name": "do occaecat magna incididunt qui", - "parentSchemaProperties": { - "parentID": "", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "do exercitation", - "values": [ - "dolore dolore adipisicing", - "adipisicin", - "sint in Lorem " - ] - }, - { - "name": "veniam", - "values": [ - "ut velit consectetur deserunt", - "Duis", - "sed dolor" - ] - }, - { - "name": "Ut et irure quis cupidatat", - "values": [ - "qui tempor velit adipisicing voluptate", - "consectetur ipsum Lorem commodo reprehenderit", - "proident" - ] - } - ], - "name": "cu" - }, - "fields": [ - { - "name": "labore commodo exercitation aliqua", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "voluptate magna", - "values": [ - "voluptate i", - "adipisicing do tempor", - "non et sit enim" - ] - }, - { - "name": "incididunt in qui magna", - "values": [ - "anim Du", - "tempor do deserunt consectetur", - "proident" - ] - }, - { - "name": "laboris tempor dolor in nostrud", - "values": [ - "deser", - "ad magn", - "ex" - ] - } - ], - "properties": { - "name": "minim aute sunt", - "description": "adipisicing Excepteur laborum velit", - "references": "consectetur" - }, - "ID": "tempor dolor in fugiat" - }, - { - "name": "ut Ut amet non", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "aliquip exercitation", - "values": [ - "enim Ut amet", - "mollit veniam", - "in" - ] - }, - { - "name": "voluptate ad qui elit", - "values": [ - "tempor incididunt", - "non cillum esse", - "proident" - ] - }, - { - "name": "aliquip eiusmod velit aute", - "values": [ - "Ut laboris aliquip nulla", - "sint ad quis ex", - "c" - ] - } - ], - "properties": { - "name": "sit do adipisicing", - "description": "minim elit ullamco", - "references": "esse" - }, - "ID": "commodo dolore" - }, - { - "name": "amet", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "officia aute ullamco labore incididunt", - "values": [ - "elit ea incididunt", - "voluptate cupidatat exercitation qui commodo", - "dolor Du" - ] - }, - { - "name": "aute reprehenderit culpa", - "values": [ - "et cupidatat sit", - "dolor", - "Duis dolore aliquip sint in" - ] - }, - { - "name": "ea reprehenderit", - "values": [ - "laboris cillum tempor exercitation", - "exercitation tempo", - "officia ea commodo velit" - ] - } - ], - "properties": { - "name": "id", - "description": "laborum", - "references": "proident non" - }, - "ID": "enim" - } - ], - "childrenSchemas": [ - { - "non31d": "Ut" - } - ], - "schemaTags": [ - { - "name": "qui elit deserunt laborum sed", - "values": [ - "anim consequat Excepteur", - "Ut occaecat laborum", - "magna nisi eiusmod" - ] - }, - { - "name": "id dolore", - "values": [ - "aliquip esse non eius", - "dolor ex", - "dolor in" - ] - }, - { - "name": "ut", - "values": [ - "qui esse laboris", - "in laborum in commodo", - "velit eu aliqua consectetur Lorem" - ] - } - ], - "properties": { - "name": "enim", - "description": "exercitation eu in", - "references": "mollit qui" - } - } - }, - "v1ServiceAccount": { - "description": "Service account details.", - "example": { - "ID": "g2400b4c4c9c11ea8baaacde48001122", - "description": "Service account for vault admin", - "displayName": "SA for Vault Admin", - "name": "serviceAccount@accountID-skyflow.com" - }, - "properties": { - "name": { - "description": "Name of the service account.", - "type": "string" - }, - "displayName": { - "description": "Display name of the service account that appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the service account.", - "type": "string" - }, - "ipAllowlist": { - "$ref": "#/components/schemas/ipAllowlist" - }, - "ID": { - "description": "ID of the service account. Generated by Skyflow.", - "type": "string" - }, - "namespace": { - "description": "Namespace of the service account.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - }, - "type": "object" - }, - "v1UpdateServiceAccountResponse": { - "description": "Service account details.", - "example": { - "name": "Admin", - "displayName": "", - "description": "Admin service account", - "ID": "b24e7ba813654628819586e4c0086ca5", - "namespace": "skyflow:f2f10f08084f11eb8e7452d498dc3ee0/account:cfdc00b3bfe04e2ea57d8587dfce7b22/tenant:a451b783713e4424a7c761bb7bbc84eb/serviceAccount:b24e7ba813654628819586e4c0086ca5", - "status": "ACTIVE", - "BasicAudit": { - "CreatedBy": "saaca13f7fc54d9c967cafb7d5f26004", - "LastModifiedBy": "saaca13f7fc54d9c967cafb7d5f26004", - "CreatedOn": "2024-08-28 22:34:32.2279663 +0000 UTC", - "LastModifiedOn": "2024-08-28 22:34:32.304372719 +0000 UTC" - } - }, - "properties": { - "name": { - "description": "Name of the service account.", - "type": "string" - }, - "displayName": { - "description": "Display name of the service account that appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the service account.", - "type": "string" - }, - "ID": { - "description": "ID of the service account. Generated by Skyflow.", - "type": "string" - }, - "namespace": { - "description": "Namespace of the service account.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - }, - "type": "object" - }, - "v1ServiceAccountInfo": { - "properties": { - "serviceAccount": { - "$ref": "#/components/schemas/v1ServiceAccount" - }, - "clientConfiguration": { - "$ref": "#/components/schemas/v1ClientConfiguration" - } - }, - "type": "object", - "example": { - "serviceAccount": { - "name": "Duis irure ", - "displayName": "Lorem sint", - "description": "occaecat in", - "ipAllowlist": { - "status": "INACTIVE", - "cidrBlocks": [ - "Excepteur velit", - "quis sunt adipisicing tempor nostrud", - "enim" - ] - }, - "ID": "incididunt", - "namespace": "dolore laborum", - "status": "NONE", - "BasicAudit": { - "CreatedBy": "non cillum tempor ea", - "LastModifiedBy": "en", - "CreatedOn": "Excepteur proident voluptate veniam", - "LastModifiedOn": "magna c" - } - }, - "clientConfiguration": { - "enforceContextID": false, - "enforceSignedDataTokens": true - } - } - }, - "v1ServiceAccountKey": { - "description": "A service account key.", - "example": { - "keyID": "b9e4105e33024f1eac23998f0825b187", - "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNzakNDQVpxZ0F3SUJBZ0lRSzdHTXBLWmluWHlRb3RUYVhORkZSekFOQmdrcWhraUc5dzBCQVFzRkFEQVIKTVE4d0RRWURWUVFERXdaMWJuVnpaV1F3SWhnUE1EQXdNVEF4TURFd01EQXdNREJhR0E4d01EQXhNREV3TVRBdwpNREF3TUZvd0VURVBNQTBHQTFVRUF4TUdkVzUxYzJWa01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQXpZUU9EdEtqdXA3aU4zWTFmd1U2NXI4SHFzUlRqcFUxTzVtSEVFUGcrMWdmYzlDV3I5Z1UKV3N4RzRpQytoTG4wUmFGOEdZVjhESkMrd01XVlJZTTArSVk0d0VERC9EWmViTnV6YkFLNlZWcmJka2JVL0Q1Ywp2OXJuN2l5RHdBWmYzcENGaW5zWmlOcXF5MlgyYTV0WjZ4VjlGaFd5SVRrMCs4cm9leGFFeXl5QStNUmFiRkxwCjF3ZnN2d2gycThCM0dWZFUxZ04xYVg5NWN5ZWdBNnBCcllCeTB2QUZpVWNIMWRNQkhaeXAwNnFFeDZ2d05tVFUKd3hpTDJ6U0pmN2ZZZWtPejlxcG1sQUdCSnZ6dDIxYXRyaGtHR3puRFZaWEc5NHNXM3hWVmZuWG9KbWlHcXM5awpJR2Y0V3hFQ1YxRHlsdTE2ejRNdFgzcURUU0pJaFZ3cGF3SURBUUFCb3dJd0FEQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBWXBQS0FyS0N2bTZScHpiUWYwNHRIQ2hDdHZPTE9DbFRTUUV2VkdKTjBTclpvTjRJckcwL0l1dWkKYTgyR3lmY2JXYkdhcjQzTWZQVGhWWlN6aHNhQ1AyTGhiUEJpWHRHT01qUWFSUGUyUjc3ZFMxY1NKcW9CU24yQQpIMlBMODFLaE53MGtrWldNZUhhNGJXcFVXMWwxNVNzZGZDTzhLSGR0SmJLWUtFa2Q5bUlBZGNjWDNLb3pHYTVvCmZJeXVkYTQxQUFrUnZSTE9Mem9rU3ZSdExRUmxGbNgUUXU0WGV1c0d0cTBrMWw5WDlzTkRzNWNiTHBsMjNGbzgKYWpYSTlsUTFQYndjYnJ6S1ZGbjJTNmhIVG9uSTJlc3hKOHFwb0hsRasdflBVSlgxQnUzMFFOdkdwVXZLWFE1egp5UklrK2Qyd2M2eDh3aHVFdzdLdFRId0tJZ1dQeEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==", - "validAfterTime": "2023-01-31T17:54:02.954178202Z", - "validBeforeTime": "2024-01-30T17:54:02.954178202Z" - }, - "properties": { - "keyID": { - "type": "string" - }, - "keyAlgorithm": { - "$ref": "#/components/schemas/v1ServiceAccountKeyAlgorithm" - }, - "privateKeyData": { - "description": "The private key data. Only provided in `CreateServiceAccountKey`\nresponses. Make sure to keep the private key data secure because it\nallows for the assertion of the service account identity.\nWhen base64 decoded, the private key data can be used to authenticate with.", - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - }, - "publicKeyData": { - "description": "The public key data. Only provided in `GetServiceAccountKey` responses.", - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - }, - "validAfterTime": { - "description": "The key can be used after this timestamp.", - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "description": "The key can be used before this timestamp.\nFor system-managed key pairs, this timestamp is the end time for the\nprivate key signing operation. The public key could still be used\nfor verification for a few hours after this time.", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "v1ServiceAccountKeyAlgorithm": { - "default": "KEY_ALG_UNSPECIFIED", - "description": "Supported key algorithms.\n\n - KEY_ALG_UNSPECIFIED: An unspecified key algorithm.\n - KEY_ALG_RSA_1024: 1k RSA Key.\n - KEY_ALG_RSA_2048: 2k RSA Key.\n - KEY_ALG_SM2_256: 256 SM2 Key.", - "enum": [ - "KEY_ALG_UNSPECIFIED", - "KEY_ALG_RSA_1024", - "KEY_ALG_RSA_2048", - "KEY_ALG_SM2_256" - ], - "type": "string", - "example": "KEY_ALG_UNSPECIFIED" - }, - "v1ServiceAccountResponse": { - "example": { - "clientID": "string", - "clientName": "string", - "keyID": "string", - "keyValidAfterTime": "string", - "keyValidBeforeTime": "string", - "privateKey": "string", - "tokenURI": "string" - }, - "properties": { - "clientID": { - "description": "ID of the service account.", - "type": "string" - }, - "clientName": { - "description": "Name of the service account.", - "type": "string" - }, - "tokenURI": { - "description": "Token issuer URI.", - "type": "string" - }, - "keyID": { - "description": "ID of the key linked with the service account.", - "type": "string" - }, - "privateKey": { - "description": "Key linked with the service account.", - "type": "string" - }, - "keyValidAfterTime": { - "description": "Timestamp when the key becomes valid.", - "format": "date-time", - "type": "string" - }, - "keyValidBeforeTime": { - "description": "Timestamp the key is valid until.", - "format": "date-time", - "type": "string" - }, - "apiKeyID": { - "description": "ID of the API key linked with the service account.", - "type": "string" - }, - "apiKey": { - "description": "API key linked with the service account.", - "type": "string" - }, - "keyAlgorithm": { - "$ref": "#/components/schemas/v1ServiceAccountKeyAlgorithm" - } - }, - "type": "object" - }, - "v1CreateServiceAccountResponse": { - "example": { - "clientID": "m2e4b25f48484f6d9839e6b051e92b60", - "clientName": "Admin", - "tokenURI": "https://manage.skyflowapis.com/v1/auth/sa/oauth/token", - "keyID": "b24e7ba813654628819586e4c0086ca5", - "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDI42EvvvZmy5pa\nYHthH4dtbjZJnnJtMUbe/RR+70Wx4c0lXwg/tbKkd+G39lPoE65zCsy3wnrMwTla\nmIF/VImUs28xoOHNzSZCmTH1wODnGa1mtcATMCxnNEG0c/BEQykxkNRvkZBwbLhW\nJ+eLrAATsctUZi10hme/PX6Gb1UxaShg21D/hQJ6B79c8LvtxtJ6d+UTQOB7YlA5\nE6hQ4ebDmIWNY2LUJEl6uSvLe/hPI1cZo6r4ZouOrc8p7V+Qixsbl2dvPpyBr58y\n55YwF9KU+IrhsUskfTA7Fe2qOeoa5bxzfj3D3S6B5nQqt6ldi4j9EiLWtgHYpLVF\nUUwR6z07AgMBAAECggEARTd7RA1DLxYWH+/Acy1+5yijUehjOtZQugJvbnEZDXpk\nyeydlf5QCHU5873PGVa2s/LTqLk8wJIPJfUIIYxKP084D9yEEPoPpcDNIwULOPVy\n9sHG5ZWipwitXvTXo12UsvxZBfwczW/Yb+8d69UezapkCbePD+hDlPQmRUHVE8mw\nK3cYCxVRqPbaLJZ0FdrJ21QYBLrawtvOfMgPBEABtkV4YVK89yzyJrv7etiWnJXK\nm+34vjHEXJVr61IUrUpDooCyyotgFywNEq09hpgTpSSQjG1ZqtP0ZcdVfLsOllz/\nHBK7Hky0Hrm4r1LZ/M9BbOoeKzC8XD2T1vXVwZRL4QKBgQDz+xiTgGWMRJy/6qp5\nEsef3p7r6Z0gIUzUWu8UbnIzpmlxuVyitYlQ9b8oK2VFyZfm69Ug2V4A20SjfL93\nuuftUCnrORLCXjtlTkQtwh8J2/ego9K3h8RA44weoNkdp/1hCz8lLQaW00qQCmCU\nYrppTVFIJhjvU+7J/4us76oZcQKBgQDSyNTZ1kQbEU3Nt6wX7iKVaLrQItyREZPd\nSnvrgSGCUQl/1nwyudUDKDo2hNhcjS5kvjuvKD6Z+qS3zeXWJ+7gbCjNcxU6R/Ua\nG3ulmxA8z4oBTRicBa8uvcRTCiSStHZy/6dH1Hq2hmvUPiOTGJLbxrRcJ4/kfZd6\ndrHUmwbLawKBgG5xtT9YOR/VE2whK4hhQvKQ0ToT56fayy+59k42bQYKh+MOOOwC\n56U5iY4CjvaXembzTOhw3YffumOTngzyE/kud7tee6p3A8YpNt3L6UcKRz91yXaB\nRArnts9Kmt485ItgjvYiOsBd53vq5qtlQeNXN7tEW7dDNG5GexEO8N5RAoGAeDbj\n9i0WgJ140ye6tZcyECY/zS7kvrPYse+mByWJd+pB0bAA+2kyzG8n7CoNv5Mhb4Fz\nRq1cLrNdOBrsxxvVSBdHmgzVgXzClBYyibuLIjN3UNCohWtUgwLlrapmO2lC2Mln\nnTbYmbrGSrD51w2/zCpieOBzV2wtdUG2oDueP2sCgYEA3dOw9zA7AiShSK4h+6TW\nQbyUDI7zBEVB7OvZmP6qf958hBhQOgGJK677Y6XxnlAARuSN80GDNVRdHH19+jV+\nSXjgZ2pQxxN0xOpvdM0hN4kjmORAtP96o+QVzdwle0WW91LdGtAX8KdsiJ3/LCe4\nj/gkBBWohHMnIdjt10o5r5E=\n-----END PRIVATE KEY-----\n", - "keyValidAfterTime": "2024-08-28T22:34:32.303335989Z", - "keyValidBeforeTime": "2025-08-28T22:34:32.303335989Z", - "apiKeyID": "", - "apiKey": "", - "keyAlgorithm": "KEY_ALG_RSA_2048" - }, - "properties": { - "clientID": { - "description": "ID of the service account.", - "type": "string" - }, - "clientName": { - "description": "Name of the service account.", - "type": "string" - }, - "tokenURI": { - "description": "Token issuer URI.", - "type": "string" - }, - "keyID": { - "description": "ID of the key linked with the service account.", - "type": "string" - }, - "privateKey": { - "description": "Key linked with the service account.", - "type": "string" - }, - "keyValidAfterTime": { - "description": "Timestamp when the key becomes valid.", - "format": "date-time", - "type": "string" - }, - "keyValidBeforeTime": { - "description": "Timestamp the key is valid until.", - "format": "date-time", - "type": "string" - }, - "apiKeyID": { - "description": "ID of the API key linked with the service account.", - "type": "string" - }, - "apiKey": { - "description": "API key linked with the service account.", - "type": "string" - }, - "keyAlgorithm": { - "$ref": "#/components/schemas/v1ServiceAccountKeyAlgorithm" - } - }, - "type": "object" - }, - "v1SignedDataTokenKey": { - "properties": { - "keyID": { - "type": "string" - }, - "keyAlgorithm": { - "$ref": "#/components/schemas/v1ServiceAccountKeyAlgorithm" - }, - "privateKeyData": { - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - }, - "publicKeyData": { - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - }, - "validAfterTime": { - "format": "date-time", - "type": "string" - }, - "validBeforeTime": { - "format": "date-time", - "type": "string" - } - }, - "type": "object", - "example": { - "keyID": "Lorem ex voluptate qui dolor", - "keyAlgorithm": "KEY_ALG_UNSPECIFIED", - "privateKeyData": "So7kX43FDksILtpde61PMq7rLB5JY0JD", - "publicKeyData": "KZn1", - "validAfterTime": "2025-08-12T20:52:16.0Z", - "validBeforeTime": "2025-08-12T20:52:16.0Z" - } - }, - "v1SignedDataTokenKeyResponse": { - "properties": { - "clientID": { - "description": "ID of the service account.", - "title": "ClientID", - "type": "string" - }, - "clientName": { - "description": "Name of the service account.", - "title": "ClientName", - "type": "string" - }, - "tokenURI": { - "description": "Token issuer URI.", - "title": "TokenURI", - "type": "string" - }, - "keyID": { - "description": "ID of the key linked with the service account.", - "title": "KeyID", - "type": "string" - }, - "privateKey": { - "title": "PrivateKey", - "type": "string" - }, - "keyValidAfterTime": { - "format": "date-time", - "title": "expires", - "type": "string" - }, - "keyValidBeforeTime": { - "format": "date-time", - "title": "keyValidBeforeTime", - "type": "string" - } - }, - "type": "object", - "example": { - "clientID": "non exercitation dolor eu deserunt", - "clientName": "incididunt aliquip aute", - "tokenURI": "eiusmod dolore in consequat fugiat", - "keyID": "consectetur deserunt dolore amet irure", - "privateKey": "sit qui", - "keyValidAfterTime": "2025-08-12T20:52:16.0Z", - "keyValidBeforeTime": "2025-08-12T20:52:16.0Z" - } - }, - "v1TableRuleParams": { - "description": "Table-level rule details.", - "properties": { - "vaultID": { - "description": "ID of the vault that contains the table.", - "type": "string" - }, - "tableName": { - "description": "Name of the table that the rule applies to.", - "type": "string" - }, - "action": { - "$ref": "#/components/schemas/v1Action" - }, - "effect": { - "$ref": "#/components/schemas/v1Effect" - }, - "rowFilter": { - "description": "SQL expression that applies a filter on all rows of a table.", - "type": "string" - }, - "actions": { - "items": { - "$ref": "#/components/schemas/v1Action" - }, - "title": "string redaction = 6;", - "type": "array" - } - }, - "type": "object", - "example": { - "vaultID": "incididunt consectetur qui", - "tableName": "voluptate n", - "action": "NONE_ACTION", - "effect": "NONE_EFFECT", - "rowFilter": "aute eu ad cupidatat", - "actions": [ - "NONE_ACTION", - "NONE_ACTION", - "NONE_ACTION" - ] - } - }, - "v1TableType": { - "default": "TT_BASE", - "description": "Table type of the schema.", - "enum": [ - "TT_BASE", - "TT_EMBEDDED", - "TT_LINKED", - "TT_REFERENCED" - ], - "type": "string", - "example": "TT_BASE" - }, - "v1Tag": { - "properties": { - "name": { - "description": "Name of the tag. For a reference of available tags, see Vault settings.", - "type": "string" - }, - "values": { - "description": "Array of values for the tag.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "name": "eiusmod ut esse aute", - "values": [ - "ut ad tempor", - "nulla", - "esse Duis velit adipisicing" - ] - } - }, - "v1UnassignPolicyRequest": { - "properties": { - "ID": { - "description": "ID of the policy.", - "type": "string" - }, - "roleIDs": { - "description": "IDs of the roles.", - "items": { - "type": "string" - }, - "type": "array" - }, - "members": { - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "title": "The ID of the Roles for whom the Policy will be unassigned. Currently unsupported", - "type": "array" - } - }, - "type": "object", - "example": { - "ID": "labore est ut occaecat", - "roleIDs": [ - "aliquip quis", - "sit", - "aliquip non" - ], - "members": [ - { - "ID": "sint sed Lorem", - "type": "NONE", - "name": "in qui ex", - "email": "id tempor labore proident ea", - "status": "NONE" - }, - { - "ID": "laboris nostrud laborum", - "type": "NONE", - "name": "laborum dolor officia deser", - "email": "aliquip aliqua magna", - "status": "NONE" - }, - { - "ID": "reprehenderit do ", - "type": "NONE", - "name": "aliqua dolor ea al", - "email": "adipisicing", - "status": "NONE" - } - ] - } - }, - "v1UnassignPolicyResponse": { - "properties": { - "ID": { - "title": "The ID of the unassigned Policy.", - "type": "string" - } - }, - "type": "object", - "example": { - "cupidatat1": true, - "ID": "dolore esse cillum aliqua sit" - } - }, - "v1UnassignRoleRequest": { - "properties": { - "ID": { - "description": "ID of the role.", - "type": "string" - }, - "members": { - "description": "Members to remove the role from.", - "items": { - "$ref": "#/components/schemas/v1Member" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "ID": "quis id", - "members": [ - { - "ID": "Duis incididunt", - "type": "NONE", - "name": "velit occaecat sunt consequat", - "email": "mollit Ut pariatur aute", - "status": "NONE" - }, - { - "ID": "exercitatio", - "type": "NONE", - "name": "occaecat in", - "email": "incididunt", - "status": "NONE" - }, - { - "ID": "velit et enim", - "type": "NONE", - "name": "eu et exercitation aliqui", - "email": "minim irure eu anim do", - "status": "NONE" - } - ] - } - }, - "v1UnassignRoleResponse": { - "properties": { - "ID": { - "title": "The ID of the unassigned role.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "est sed in" - } - }, - "v1UpdateAccountResponse": { - "description": "Contains status of update operation.", - "properties": { - "ID": { - "description": "ID of the updated Account.", - "type": "string" - } - }, - "type": "object", - "example": { - "nisi5fc": 8646224.850283384, - "amet__": false, - "ID": "aute minim sit fugiat" - } - }, - "v1UpdateIntegrationResponse": { - "properties": { - "ID": { - "description": "ID of the connection config which got updated.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "pariatur nostrud eu cillum voluptate" - } - }, - "v1UpdatePolicyResponse": { - "properties": { - "ID": { - "title": "The ID of the updated Policy.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "ex anim veniam velit esse" - } - }, - "v1UpdateRoleResponse": { - "properties": { - "ID": { - "title": "ID of the updated Role", - "type": "string" - } - }, - "type": "object", - "example": { - "dolore_fa7": false, - "inf69": "velit in est", - "anim4b": true, - "ID": "irure" - } - }, - "v1UpdateRuleResponse": { - "properties": { - "ID": { - "title": "The ID of the updated Rule.", - "type": "string" - } - }, - "type": "object", - "example": { - "dolor29": false, - "eu_3": "adipisicing enim labore reprehenderit", - "ID": "Du" - } - }, - "v1UpdateStatusResponse": { - "properties": { - "ID": { - "title": "ID of the directory object whose status was updated", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "do cillum" - } - }, - "v1UpdateUserResponse": { - "description": "User update response.", - "example": { - "ID": "c4cea870d25d4911aee705c98fd8a21g" - }, - "properties": { - "ID": { - "description": "ID of the updated user.", - "type": "string" - } - }, - "type": "object" - }, - "v1UpdateWorkspaceResponse": { - "description": "Contains status of update operation.", - "properties": { - "ID": { - "description": "ID of the updated Workspace.", - "type": "string" - } - }, - "type": "object", - "example": { - "uta": false, - "ID": "officia est" - } - }, - "v1User": { - "description": "User details.", - "example": { - "contactAddress": { - "city": "Sunnyvalue", - "country": "USA", - "state": "CA", - "streetAddress": "9876 E E Avenue", - "zip": 94086 - }, - "name": "kishorebandi", - "status": "ACTIVE", - "userIdentity": { - "ID": "mb057d4c570011ea89d9acde48001122", - "email": "kishore.bandi@skyflow.com", - "oktaID": "00j9y3tpmj4kHfX4z739" - } - }, - "properties": { - "name": { - "description": "Name of the user.", - "type": "string" - }, - "contactAddress": { - "$ref": "#/components/schemas/v1Address" - }, - "userIdentity": { - "$ref": "#/components/schemas/v1UserIdentity" - }, - "ID": { - "description": "ID of the user. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - }, - "required": [ - "userIdentity" - ], - "type": "object" - }, - "v1UserIdentity": { - "description": "Identity information of the user.", - "example": { - "ID": "mb057d4c570011ea89d9acde48001122", - "email": "kishore.bandi@skyflow.com", - "oktaID": "00j9y3tpmj4kHfX4z739" - }, - "properties": { - "email": { - "description": "Email address of the user.", - "type": "string" - }, - "oktaID": { - "description": "Okta ID of the user.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "v1VaultSchema": { - "description": "Schema definition and settings for a vault.", - "properties": { - "schemas": { - "description": "Schema that represents the fields and field options of the vault.", - "items": { - "$ref": "#/components/schemas/v1Schema" - }, - "type": "array" - }, - "tags": { - "description": "Tags applied to the whole vault.", - "items": { - "$ref": "#/components/schemas/v1Tag" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "schemas": [ - { - "ID": "occaecat", - "name": "exercitation", - "parentSchemaProperties": { - "parentID": "sunt ipsum ut enim", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "Ut quis ", - "values": [ - "sint elit ipsum aliqua voluptate", - "et officia", - "in elit" - ] - }, - { - "name": "reprehenderit minim", - "values": [ - "sed", - "culpa", - "est" - ] - }, - { - "name": "qui nisi", - "values": [ - "in ipsum elit ut", - "laborum tempor sed", - "nisi ex pariatur magna" - ] - } - ], - "name": "et occaecat anim" - }, - "fields": [ - { - "name": "et consectetur do aliqua ex", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "in officia ad dolor elit", - "values": [ - "sed aute Duis in", - "labore adipisicing pariatur ex eu", - "ad ipsum in" - ] - }, - { - "name": "laborum consectetur", - "values": [ - "adipisicing eu", - "aute cupidatat in culpa", - "exercitation consectetur Ut sed" - ] - }, - { - "name": "ullamco et", - "values": [ - "occaecat", - "consectetur sint", - "mollit ex tempor" - ] - } - ], - "properties": { - "name": "consequ", - "description": "tempor nostrud est pariatur exercitation", - "references": "amet" - }, - "ID": "Duis in et commodo est" - }, - { - "name": "sit id velit fugiat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "qui minim Excepteur labore", - "values": [ - "proident et incididunt deserunt", - "exercitation", - "dolore" - ] - }, - { - "name": "dolore fugiat non", - "values": [ - "in eiusmod voluptate ad", - "sed magna nostrud ex", - "fugiat qui mollit non" - ] - }, - { - "name": "Lorem", - "values": [ - "fugiat ut", - "irure", - "ullamco incididunt aliqua velit" - ] - } - ], - "properties": { - "name": "", - "description": "ullamco exercitation dolor et aliqua", - "references": "fugiat in eiusmod commodo do" - }, - "ID": "non eu" - }, - { - "name": "occaecat pariat", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "q", - "values": [ - "in", - "cillum laborum sit proident anim", - "sit sunt qui" - ] - }, - { - "name": "ipsum ut in Ut null", - "values": [ - "amet labore sed", - "aliqua non tempor Ut enim", - "t" - ] - }, - { - "name": "est eu deserunt", - "values": [ - "tempor in laborum", - "cupidatat co", - "minim incididunt dolor magna sit" - ] - } - ], - "properties": { - "name": "in aute ad qui", - "description": "consectetur officia veniam irure est", - "references": "proident ullamco quis e" - }, - "ID": "reprehenderit veniam" - } - ], - "childrenSchemas": [ - { - "in305": -54944488, - "officia_c": "labore" - }, - { - "in_ec5": false, - "reprehenderit3f": false, - "aliqua_0": 1059259 - } - ], - "schemaTags": [ - { - "name": "do non commodo veniam quis", - "values": [ - "Lorem commodo consequat sed ad", - "est eiusmod", - "occaecat" - ] - }, - { - "name": "proident", - "values": [ - "cons", - "fugiat", - "sed minim ullamco" - ] - }, - { - "name": "esse ut officia", - "values": [ - "Ut officia reprehenderit", - "dolor", - "ex nulla velit m" - ] - } - ], - "properties": { - "name": "proident laborum officia", - "description": "ex nostrud", - "references": "eiusmod in consequat Lorem" - } - }, - { - "ID": "mollit adipisicing", - "name": "ipsum velit", - "parentSchemaProperties": { - "parentID": "qui esse veniam voluptate cupidatat", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "nostrud tempor", - "values": [ - "tempor in dolor", - "c", - "exercitation" - ] - }, - { - "name": "Excepteur labori", - "values": [ - "voluptate in non laborum", - "in anim ea irure velit", - "deserunt" - ] - }, - { - "name": "voluptate Duis nostrud", - "values": [ - "deserunt", - "anim dolor consequat cupidatat ex", - "eiusmo" - ] - } - ], - "name": "est ullamco et id aliquip" - }, - "fields": [ - { - "name": "adipis", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "pariatur dolor laboris enim", - "values": [ - "ex ut in", - "sed", - "pariatur officia occaecat" - ] - }, - { - "name": "nostrud eiusmod deserunt do", - "values": [ - "sunt fugiat", - "ut sint", - "magna adipisicing cupidatat" - ] - }, - { - "name": "occaecat incididunt et sed sit", - "values": [ - "reprehenderit ad qui veniam ea", - "in", - "culpa amet ex aute ad" - ] - } - ], - "properties": { - "name": "consequat", - "description": "laborum nostrud minim sit dolore", - "references": "in aliqua q" - }, - "ID": "nulla" - }, - { - "name": "adipisicing occaecat Excepteur", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "dolor id aliqu", - "values": [ - "id est non", - "e", - "aliqua labore" - ] - }, - { - "name": "sint sit", - "values": [ - "occ", - "sed", - "tempor minim velit" - ] - }, - { - "name": "aliquip nulla in", - "values": [ - "commodo", - "adipisicing eu sed dolore", - "in ut sint irure" - ] - } - ], - "properties": { - "name": "nisi laboris anim adipisicing minim", - "description": "nisi Lorem sed", - "references": "sed do non in" - }, - "ID": "sint" - }, - { - "name": "voluptate cup", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "reprehenderit incididunt cupid", - "values": [ - "laboris sint", - "minim dolor dolore nostrud deserunt", - "in Excepteur enim culpa incididunt" - ] - }, - { - "name": "deserunt e", - "values": [ - "laborum est", - "velit occaecat dolore", - "elit consectetur dolore nulla" - ] - }, - { - "name": "exercit", - "values": [ - "ad ut mollit nulla in", - "consequat sit", - "laboris dolore" - ] - } - ], - "properties": { - "name": "veniam est et qui ", - "description": "fugiat", - "references": "ve" - }, - "ID": "aliqua labore ut" - } - ], - "childrenSchemas": [ - { - "irure5": -26322968, - "in_c87": 66609692.15465635 - }, - { - "officia_a": -17887697, - "veniamc9d": false, - "pariatur_e5": 64542402.40240669 - } - ], - "schemaTags": [ - { - "name": "ut dolore", - "values": [ - "non consequat pariatur sit anim", - "culpa proident quis incididunt", - "mollit ullamco" - ] - }, - { - "name": "non", - "values": [ - "sed elit ipsum enim nostrud", - "sunt ex", - "quis sint anim" - ] - }, - { - "name": "irure esse", - "values": [ - "enim", - "non nulla", - "commodo occaecat" - ] - } - ], - "properties": { - "name": "m", - "description": "sunt non mollit", - "references": "sunt ullamco nostrud consequat" - } - }, - { - "ID": "commodo nisi anim labore", - "name": "Lorem in qui culpa", - "parentSchemaProperties": { - "parentID": "dolore proident ut ad tempor", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "cillum quis amet qui tempor", - "values": [ - "pariatur est", - "velit tempor adipisicing", - "fugiat Duis" - ] - }, - { - "name": "aute sit nulla aliquip", - "values": [ - "in au", - "irure", - "cupidatat" - ] - }, - { - "name": "est amet", - "values": [ - "eu quis Ut do exercitation", - "null", - "amet veniam incididunt" - ] - } - ], - "name": "voluptate irure et" - }, - "fields": [ - { - "name": "dolor Excepteur laboris velit irure", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "commodo am", - "values": [ - "dolore e", - "incididunt cupidatat mollit Lorem", - "velit aliquip in" - ] - }, - { - "name": "deserunt fugiat veniam", - "values": [ - "dolor pariatur", - "in", - "Duis consequat adipisicing ea dolore" - ] - }, - { - "name": "nisi ea", - "values": [ - "incididunt aliquip nulla sunt ut", - "anim", - "esse" - ] - } - ], - "properties": { - "name": "sunt consectetur Duis", - "description": "non elit commodo ", - "references": "repreh" - }, - "ID": "pariatur ullamco Duis deserunt sunt" - }, - { - "name": "deserunt sit nulla incididunt", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "incididunt", - "values": [ - "aliquip sint", - "iru", - "veniam ipsum" - ] - }, - { - "name": "dolore quis", - "values": [ - "velit", - "voluptate sed tempor", - "dolo" - ] - }, - { - "name": "laboris dolore ", - "values": [ - "si", - "in et sunt adipisicing anim", - "nisi deserunt sit" - ] - } - ], - "properties": { - "name": "amet laboris rep", - "description": "reprehenderit", - "references": "enim" - }, - "ID": "voluptate elit reprehenderit" - }, - { - "name": "dolor", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "est", - "values": [ - "ut", - "sint esse consectetur aliquip", - "tempor incididunt" - ] - }, - { - "name": "culpa", - "values": [ - "qui", - "sunt", - "in sit " - ] - }, - { - "name": "est Ut irure", - "values": [ - "esse sit incididunt enim", - "adipisicing", - "Lorem nostrud " - ] - } - ], - "properties": { - "name": "dolor", - "description": "laboris esse ullamco deserunt nis", - "references": "Ut Duis qui" - }, - "ID": "elit enim minim laboris" - } - ], - "childrenSchemas": [ - { - "ipsumde3": 17938411.13863066 - }, - { - "amet_d": -15397799.127342805, - "nostrudcb": -97749200, - "esse1": -42628307.78509987, - "sint_2": true, - "aute_08f": -52242784 - } - ], - "schemaTags": [ - { - "name": "deserunt officia veniam", - "values": [ - "consequat", - "", - "Lorem consequat tempor" - ] - }, - { - "name": "anim veniam est", - "values": [ - "occaecat adipisicing consequat", - "amet laboris et culpa reprehenderit", - "sint anim sunt" - ] - }, - { - "name": "nostrud dolore", - "values": [ - "amet eiusmod mollit sint", - "Excepteur nisi", - "ea velit" - ] - } - ], - "properties": { - "name": "nostrud aliquip minim in", - "description": "qui et id Lorem", - "references": "ea dolore do" - } - } - ], - "tags": [ - { - "name": "sint voluptate sit esse", - "values": [ - "irure", - "aute consectetur", - "sunt ipsum esse" - ] - }, - { - "name": "enim ad", - "values": [ - "in sit id dolor ut", - "in sint nisi", - "qui eiusmod in voluptate" - ] - }, - { - "name": "consectetur ", - "values": [ - "reprehenderit eu Ut", - "in", - "ea quis mollit nisi" - ] - } - ] - } - }, - "v1VaultTemplate": { - "properties": { - "ID": { - "type": "string" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - }, - "name": { - "description": "Name of the vault template.", - "type": "string" - }, - "description": { - "description": "Description of the vault template.", - "type": "string" - }, - "vaultSchema": { - "$ref": "#/components/schemas/v1VaultSchema" - }, - "namespace": { - "description": "Namespace of the vault template.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "displayName": { - "description": "Display name of the vault template.", - "type": "string" - } - }, - "type": "object", - "example": { - "ID": "Duis ", - "BasicAudit": { - "CreatedBy": "commodo aliquip deserunt id", - "LastModifiedBy": "minim ea consequat", - "CreatedOn": "reprehenderit sint amet aliqua", - "LastModifiedOn": "aliquip" - }, - "name": "aute veniam", - "description": "ex Duis mollit", - "vaultSchema": { - "schemas": [ - { - "ID": "id reprehenderit Lorem dolore", - "name": "quis labore non dolo", - "parentSchemaProperties": { - "parentID": "mollit elit laboris nostrud dolore", - "isArray": false, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "commodo nisi in", - "values": [ - "sunt", - "Duis dolor commodo adipisicing ad", - "veniam " - ] - }, - { - "name": "ea consectetur et", - "values": [ - "officia proident incididunt irure", - "exercitation adipisicing aliquip ullamco", - "aliquip ea magna anim" - ] - }, - { - "name": "qu", - "values": [ - "id eiusmod esse ipsum commodo", - "amet in ipsum sunt", - "do aliqua" - ] - } - ], - "name": "minim mollit in" - }, - "fields": [ - { - "name": "et Excepteur elit", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "aliqua", - "values": [ - "", - "consequat laborum sint culpa", - "reprehenderit sed fugiat" - ] - }, - { - "name": "in velit nulla veniam", - "values": [ - "aliquip Excepteur", - "aute", - "pariatur" - ] - }, - { - "name": "in", - "values": [ - "commodo ipsum dolor consequat proident", - "magna est aliquip amet et", - "nostrud" - ] - } - ], - "properties": { - "name": "Ut enim sint", - "description": "c", - "references": "cupidatat occaecat sunt do" - }, - "ID": "consectetur id est incididun" - }, - { - "name": "in", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "irure", - "values": [ - "voluptate aliquip eu", - "non nulla", - "quis esse" - ] - }, - { - "name": "aliqua tempor enim dolore deserunt", - "values": [ - "aut", - "id aliquip", - "consectetur elit Ut" - ] - }, - { - "name": "ipsum dolore magna officia", - "values": [ - "laborum sunt consequat", - "amet do in nisi fugiat", - "officia mollit esse ullamco" - ] - } - ], - "properties": { - "name": "cupidatat anim Excepteur ea", - "description": "dolor ex sit ullamco laboris", - "references": "Excepteur est ma" - }, - "ID": "proident" - }, - { - "name": "voluptat", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "reprehenderit nisi", - "values": [ - "te", - "proident enim irure ut", - "id" - ] - }, - { - "name": "veniam do mollit", - "values": [ - "aliqua velit et deserunt", - "sit minim eu aliquip", - "Duis" - ] - }, - { - "name": "enim aute", - "values": [ - "do", - "ipsum ex", - "tempor proident id ex" - ] - } - ], - "properties": { - "name": "veniam est", - "description": "incididunt", - "references": "eiusmod minim dolore" - }, - "ID": "veniam ad" - } - ], - "childrenSchemas": [ - { - "id_d47": 93400466.19930327 - }, - { - "ut_1a4": 92567751, - "dolor_20d": 51103956.69717723 - } - ], - "schemaTags": [ - { - "name": "magna sit in", - "values": [ - "mi", - "officia", - "voluptate esse ea sunt dolore" - ] - }, - { - "name": "velit laboris ut", - "values": [ - "non in qui dolore sit", - "sint", - "aliqua" - ] - }, - { - "name": "tempor ea", - "values": [ - "id exercitation cupidatat in magna", - "laborum", - "dolor labore" - ] - } - ], - "properties": { - "name": "voluptate", - "description": "m", - "references": "esse Ut ut deserunt" - } - }, - { - "ID": "ut fugiat adipisicing", - "name": "mollit", - "parentSchemaProperties": { - "parentID": "voluptate sint deserunt", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "labore esse", - "values": [ - "commodo Lorem occaecat Duis dolore", - "et eu nostrud", - "elit proident culpa" - ] - }, - { - "name": "velit veniam cillum sed sit", - "values": [ - "aliqua ut magna Excepteur id", - "ex nostrud reprehenderit minim", - "non eiusmod" - ] - }, - { - "name": "anim Excepteur", - "values": [ - "veniam labore dolore magna", - "irure proident elit", - "enim eiusmod dolore" - ] - } - ], - "name": "reprehenderit do" - }, - "fields": [ - { - "name": "ut sunt in commodo", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "in nostrud ut magna", - "values": [ - "et consequat exercitation est ad", - "consequat in aute tempor", - "eiusmod elit incididunt eu deserunt" - ] - }, - { - "name": "sed nostrud qui minim", - "values": [ - "Lorem consequat amet", - "reprehende", - "ut" - ] - }, - { - "name": "exercitation dolore fugiat eu", - "values": [ - "voluptate veniam sed proident occaecat", - "ea qui mollit", - "aute" - ] - } - ], - "properties": { - "name": "adipis", - "description": "adipisicing velit Lorem dolor Excepteur", - "references": "nostrud sed voluptat" - }, - "ID": "ullam" - }, - { - "name": "veniam consequat Lorem", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "est amet ea veniam", - "values": [ - "mollit amet", - "ad", - "dolo" - ] - }, - { - "name": "enim laborum ex eu officia", - "values": [ - "magna elit", - "tempor", - "consequat dolore" - ] - }, - { - "name": "minim non", - "values": [ - "laboris ipsum est consequat", - "Ut dolor v", - "Ut dolor" - ] - } - ], - "properties": { - "name": "et pariatur iru", - "description": "eiusmod aliqua ex", - "references": "deserunt nostrud sunt Lorem" - }, - "ID": "esse in commodo elit deserunt" - }, - { - "name": "sunt aliquip quis voluptate", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "laboris", - "values": [ - "irure", - "quis ", - "Excepteur est mollit nulla esse" - ] - }, - { - "name": "nulla deserunt tempor minim", - "values": [ - "Excepteur amet labore sint", - "quis ad", - "exercitati" - ] - }, - { - "name": "commodo laborum dolore", - "values": [ - "in", - "consectetur ullamco do", - "mollit cillum deserunt" - ] - } - ], - "properties": { - "name": "magna", - "description": "tempor deserunt commodo", - "references": "reprehenderit sunt sit voluptate Lorem" - }, - "ID": "pariatur eu aliqua" - } - ], - "childrenSchemas": [ - { - "irure_1": "exercitation sint esse" - } - ], - "schemaTags": [ - { - "name": "ullamco cillum veniam proident", - "values": [ - "officia adipisicing dolore", - "irure eiusmod commodo officia nulla", - "do velit consectetur" - ] - }, - { - "name": "et incididunt sit est deserunt", - "values": [ - "consequat incididunt", - "ut ullamco", - "commodo en" - ] - }, - { - "name": "aute ex", - "values": [ - "Excepteur ea fugiat voluptate", - "ut", - "laborum qui enim" - ] - } - ], - "properties": { - "name": "labore quis do ut laborum", - "description": "dolor magna et ad deserunt", - "references": "occaecat esse" - } - }, - { - "ID": "proident Duis", - "name": "qui esse et magna est", - "parentSchemaProperties": { - "parentID": "consequat amet", - "isArray": true, - "tableType": "TT_BASE", - "parentFieldTags": [ - { - "name": "eiusmod tempor sunt et Excepteur", - "values": [ - "Lorem cillum id est", - "sint qui tempor dolor esse", - "ut commodo" - ] - }, - { - "name": "quis ut elit aute", - "values": [ - "Duis laboris", - "consectetur Lorem", - "do dolore" - ] - }, - { - "name": "in dolore dolor", - "values": [ - "laboris", - "tempor minim", - "do cupidatat laboris consequat officia" - ] - } - ], - "name": "ad do quis" - }, - "fields": [ - { - "name": "nulla in", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "eiusmod consequat proident et al", - "values": [ - "et sint enim do pariatur", - "dolor fugiat sed aute", - "tempor commodo proident in" - ] - }, - { - "name": "ut veniam in eu", - "values": [ - "ad", - "dolor eiusmod ex laborum commodo", - "tempor ut ipsum" - ] - }, - { - "name": "cillum", - "values": [ - "nulla", - "incididunt", - "mollit ipsum Ut nulla" - ] - } - ], - "properties": { - "name": "in Duis occ", - "description": "sit", - "references": "sint" - }, - "ID": "ipsum" - }, - { - "name": "in dolor veniam exercitation", - "datatype": "DT_INVALID", - "isArray": false, - "tags": [ - { - "name": "ipsum officia", - "values": [ - "velit officia dolor esse", - "dolore in officia commodo incididunt", - "ut irure in Ut minim" - ] - }, - { - "name": "laborum in", - "values": [ - "ex consequat", - "dolor in mollit in", - "laboris incididunt commodo" - ] - }, - { - "name": "ea sunt dolor fugiat", - "values": [ - "deserunt proident ad", - "ut aliqua mollit qui reprehenderit", - "sint sunt" - ] - } - ], - "properties": { - "name": "laboris ex proident minim", - "description": "voluptate nostru", - "references": "irure fugiat" - }, - "ID": "sit te" - }, - { - "name": "amet est dolor deserunt sint", - "datatype": "DT_INVALID", - "isArray": true, - "tags": [ - { - "name": "aliqua incididunt", - "values": [ - "labore", - "esse dolore", - "proident" - ] - }, - { - "name": "nisi", - "values": [ - "nulla", - "Excepteur consectetur nisi", - "sit dolore" - ] - }, - { - "name": "reprehender", - "values": [ - "ipsum cupidatat", - "in Excepteur mollit", - "id culpa ullamco i" - ] - } - ], - "properties": { - "name": "in", - "description": "adipisicing enim non", - "references": "consectetur nulla cillum fugiat ea" - }, - "ID": "esse sed aute minim" - } - ], - "childrenSchemas": [ - { - "aliqua4": -79506349.68695325, - "cillum_d9": true, - "occaecat_4": -50078113.058726095 - }, - { - "veniam_e": 38244977.274900585 - }, - { - "fugiat_8": "elit Excepteur consequat irure est", - "cillum_4": 60787896, - "sint8": -1741944 - } - ], - "schemaTags": [ - { - "name": "tempor esse consectetur laboris", - "values": [ - "in eu irure nulla", - "cillum amet consequat commodo", - "velit ut ip" - ] - }, - { - "name": "nulla id", - "values": [ - "deserunt labore occaecat", - "incididunt amet do tempor", - "n" - ] - }, - { - "name": "dolore Lorem", - "values": [ - "laborum labore Excepteur dolor esse", - "aliquip", - "et do cillum dolore" - ] - } - ], - "properties": { - "name": "dolore cillum velit", - "description": "nostrud ullamco magna consectetur labore", - "references": "D" - } - } - ], - "tags": [ - { - "name": "eu aliqua laborum ad in", - "values": [ - "sint irure fugiat", - "aliquip do", - "dolore anim" - ] - }, - { - "name": "nulla dolore", - "values": [ - "do ea amet quis aute", - "est magna nostrud", - "ut ad" - ] - }, - { - "name": "qui commodo deserunt", - "values": [ - "adipisicing irure", - "dolore nulla sint", - "commodo mollit sunt" - ] - } - ] - }, - "namespace": "in", - "status": "NONE", - "displayName": "do aliquip ea" - } - }, - "v1Workspace": { - "description": "Workspace details.", - "properties": { - "name": { - "description": "Name of the workspace.", - "minLength": 1, - "pattern": "^[A-Za-z0-9]+$", - "type": "string" - }, - "displayName": { - "description": "Display name of the workspace that appears in user interfaces.", - "type": "string" - }, - "description": { - "description": "Description of the workspace.", - "type": "string" - }, - "ID": { - "description": "ID of the workspace. Generated by Skyflow.", - "readOnly": true, - "type": "string" - }, - "namespace": { - "description": "Namespace that uniquely identifies the workspace.", - "readOnly": true, - "type": "string" - }, - "contactAddress": { - "$ref": "#/components/schemas/v1Address" - }, - "status": { - "$ref": "#/components/schemas/v1ObjectStatus" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - }, - "type": { - "$ref": "#/components/schemas/WorkspaceWorkspaceType" - }, - "url": { - "description": "URL of the workspace.", - "type": "string" - }, - "limits": { - "$ref": "#/components/schemas/v1WorkspaceLimits" - }, - "regionID": { - "description": "ID of the workspace's region.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object", - "example": { - "name": "yqelI", - "displayName": "fugiat nisi nostrud do", - "description": "ex aute qui labore", - "ID": "dolor tempor eu esse", - "namespace": "culpa eiusmod dolore voluptate", - "contactAddress": { - "streetAddress": "aliqua D", - "city": "amet Ut incididunt elit cupidatat", - "state": "Ut Lorem officia", - "country": "commodo exercitation", - "zip": 44479502 - }, - "status": "NONE", - "BasicAudit": { - "CreatedBy": "elit amet id ut sed", - "LastModifiedBy": "eu", - "CreatedOn": "cupidatat in pariatur", - "LastModifiedOn": "sed" - }, - "type": "NONE_TYPE", - "url": "irure id ut aute", - "limits": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "sint", - "permissions": [ - "sint par", - "aliqua sunt ex dolore", - "sint" - ] - }, - { - "roleName": "in fugiat", - "permissions": [ - "n", - "in", - "minim ut" - ] - }, - { - "roleName": "et aliquip elit", - "permissions": [ - "voluptate labo", - "aliquip Lorem non eiusmod ullamco", - "deserunt proident amet ipsum" - ] - } - ], - "enableExternalSharing": true - }, - "regionID": "consequat officia aliquip" - } - }, - "v1WorkspaceLimits": { - "properties": { - "vaultCountLimit": { - "description": "Maximum number of vaults.", - "format": "int64", - "type": "string" - }, - "vaultSizeLimit": { - "description": "Maximum size of a vault.", - "format": "int64", - "type": "string" - }, - "vaultOwnerLimit": { - "description": "Maximum number of owners for a vault.", - "format": "int64", - "type": "string" - }, - "permissionRestrictions": { - "description": "Permissions removed from specified roles.", - "items": { - "$ref": "#/components/schemas/v1PermissionRestrictions" - }, - "type": "array" - }, - "enableExternalSharing": { - "description": "Identifier for whether vaults can be shared externally.", - "type": "boolean" - } - }, - "type": "object", - "example": { - "vaultCountLimit": "1234567890123456789", - "vaultSizeLimit": "1234567890123456789", - "vaultOwnerLimit": "1234567890123456789", - "permissionRestrictions": [ - { - "roleName": "consectetur fugiat enim sint mollit", - "permissions": [ - "aliqua", - "in proident magna", - "cillum" - ] - }, - { - "roleName": "adipisicing mini", - "permissions": [ - "esse enim officia ex ", - "Ut enim nulla", - "officia tempor ut ipsum dolore" - ] - }, - { - "roleName": "pariatur in", - "permissions": [ - "incididunt dolore aliquip", - "commodo in irure esse", - "incididunt sunt Excepteur in nulla" - ] - } - ], - "enableExternalSharing": false - } - }, - "v1GetSTSTokenRequest": { - "properties": { - "grant_type": { - "type": "string" - }, - "subject_token": { - "description": "Subject token.", - "type": "string" - }, - "subject_token_type": { - "description": "Subject token type.", - "type": "string" - }, - "service_account_id": { - "type": "string" - } - }, - "required": [ - "grant_type", - "subject_token", - "subject_token_type" - ], - "type": "object" - }, - "v1GetSTSTokenResponse": { - "example": { - "access_token": "eyJraWKiOiJ...", - "issued_token_type": "urn:ietf:params:oauth:token-type:jwt", - "token_type": "Bearer" - }, - "properties": { - "accessToken": { - "description": "AccessToken.", - "title": "AccessToken", - "type": "string" - }, - "issuedTokenType": { - "description": "IssuedTokenType : urn:ietf:params:oauth:token-type:jwt.", - "title": "IssuedTokenType", - "type": "string" - }, - "tokenType": { - "description": "TokenType : Bearer.", - "title": "TokenType", - "type": "string" - } - }, - "type": "object" - }, - "v1CreateSTSConfigRequest": { - "properties": { - "name": { - "title": "Name of the config", - "type": "string" - }, - "description": { - "title": "Description of the Vault", - "type": "string" - }, - "issuer": { - "title": "Issuer of the public keys", - "type": "string" - }, - "publicKeyJWKURI": { - "description": "Public key as JWK endpoint", - "title": "Public Key", - "type": "string" - }, - "contextClaims": { - "items": { - "type": "string" - }, - "type": "array" - }, - "serviceAccountIDs": { - "description": "list of service account IDs;", - "items": { - "type": "string" - }, - "type": "array" - }, - "accountID": { - "type": "string" - } - }, - "required": [ - "issuer" - ], - "type": "object" - }, - "v1CreateSTSConfigResponse": { - "properties": { - "ID": { - "description": "Created STS Config ID", - "type": "string" - } - }, - "type": "object" - }, - "v1ListSTSConfigResponse": { - "properties": { - "stsConfigs": { - "description": "Retrieved STS Configs", - "items": { - "$ref": "#/components/schemas/v1STSConfig" - }, - "type": "array" - } - }, - "type": "object" - }, - "v1STSConfig": { - "properties": { - "ID": { - "type": "string" - }, - "name": { - "title": "Name of the config", - "type": "string" - }, - "description": { - "title": "Description of the config", - "type": "string" - }, - "issuer": { - "title": "Issuer of the public keys", - "type": "string" - }, - "publicKeyJWKURI": { - "description": "Public key as JWK endpoint", - "title": "Public Key", - "type": "string" - }, - "serviceAccountIDs": { - "description": "list of service account IDs;", - "items": { - "type": "string" - }, - "type": "array" - }, - "contextClaims": { - "items": { - "type": "string" - }, - "type": "array" - }, - "accountID": { - "type": "string" - }, - "namespace": { - "readOnly": true, - "type": "string" - }, - "BasicAudit": { - "$ref": "#/components/schemas/v1BasicAudit" - } - }, - "type": "object" - }, - "TokenExchangeServiceUpdateSTSConfigBody": { - "properties": { - "name": { - "title": "Name of the config", - "type": "string" - }, - "description": { - "title": "Description of the Vault", - "type": "string" - }, - "issuer": { - "title": "Issuer of the public keys", - "type": "string" - }, - "publicKeyJWKURI": { - "description": "Public keys as JWK endpoint", - "title": "Public Key", - "type": "string" - }, - "contextClaims": { - "items": { - "type": "string" - }, - "type": "array" - }, - "serviceAccountIDs": { - "description": "list of service account IDs;", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "v1DeleteSTSConfigResponse": { - "properties": { - "ID": { - "description": "ID of deleted STS config", - "type": "string" - } - }, - "type": "object" - }, - "BaseDataType": { - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "description": { - "type": "string" - }, - "datatype": { - "enum": [ - "DT_FLOAT32", - "DT_FLOAT64", - "DT_INT8", - "DT_INT16", - "DT_INT32", - "DT_INT64", - "DT_UINT8", - "DT_UINT16", - "DT_UINT32", - "DT_UINT64", - "DT_BOOL", - "DT_STRING", - "DT_BYTES", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED", - "DT_REFERENCED" - ], - "type": "string", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "BasicAudit": { - "type": "object", - "properties": { - "CreatedBy": { - "type": "string", - "description": "User who created the resource." - }, - "LastModifiedBy": { - "type": "string", - "description": "User who last modified the resource." - }, - "CreatedOn": { - "type": "string", - "description": "Creation time of the resource." - }, - "LastModifiedOn": { - "type": "string", - "description": "Last modification time of the resource." - } - }, - "description": "Simple audit metadata.", - "x-visibility": [ - "external" - ] - }, - "Contact": { - "type": "object", - "properties": {}, - "description": "`Contact` is a representation of OpenAPI v2 specification's Contact object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#contactObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n info: {\n ...\n contact: {\n name: \"gRPC-Gateway project\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway\";\n email: \"none@example.com\";\n };\n ...\n };\n ...\n };" - }, - "CreateObjectVaultRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the vault." - }, - "description": { - "type": "string", - "description": "Description of the vault." - }, - "templateID": { - "type": "string", - "description": "ID of the template used to create the vault. Can't be specified with `vaultSchema`." - }, - "vaultSchema": { - "allOf": [ - { - "$ref": "#/components/schemas/VaultSchema" - } - ], - "description": "Schema to create the vault with. Can't be specified with `templateID`." - }, - "useMasterKey": { - "allOf": [ - { - "$ref": "#/components/schemas/MasterKey" - } - ], - "description": "Master key to encrypt the vault with." - }, - "workspaceID": { - "type": "string", - "description": "ID of the workspace to create the vault in." - }, - "owners": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - }, - "description": "Members to be vault owners. If not specified, the member who makes the API call is assigned as the vault owner. Both `ID` and `type` are required." - } - }, - "description": "Vault creation request.", - "x-visibility": [ - "external" - ] - }, - "CreateObjectVaultResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the created vault." - } - }, - "description": "Vault creation response.", - "x-visibility": [ - "external" - ] - }, - "CreatePipelineRequest": { - "required": [ - "name", - "vaultID", - "action", - "runTriggers" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the pipeline." - }, - "displayName": { - "type": "string", - "description": "Display name of the pipeline." - }, - "description": { - "type": "string", - "description": "Description of the pipeline." - }, - "vaultID": { - "type": "string", - "description": "ID of the vault." - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_Source" - } - ], - "description": "Datastore that unprocessed data is ingested from.

      `source` is required for all actions except `EXPORT`." - }, - "destination": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_Destination" - } - ], - "description": "Datastore that processed data is written to." - }, - "dataMappings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataMapping" - }, - "description": "Mappings of source data fields to vault tables and columns.

      `data_mappings` is required for all actions except `TRANSFER`." - }, - "action": { - "enum": [ - "IMPORT", - "TOKENIZE", - "DETOKENIZE", - "TRANSFER", - "EXPORT", - "UPDATE", - "DEIDENTIFY" - ], - "type": "string", - "description": "Action performed by the pipeline.", - "format": "enum" - }, - "runTriggers": { - "type": "array", - "items": { - "enum": [ - "ON_DEMAND" - ], - "type": "string", - "format": "enum" - } - }, - "reportOptions": { - "$ref": "#/components/schemas/ReportOptions" - } - }, - "description": "Request to create a pipeline.", - "x-visibility": [ - "external" - ] - }, - "CreatePipelineResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the created pipeline." - } - }, - "description": "Response of the Create Pipeline request.", - "x-visibility": [ - "external" - ] - }, - "CreateWebhookRequest": { - "required": [ - "name", - "URL", - "eventTypes" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the webhook." - }, - "displayName": { - "type": "string", - "description": "Display name of the webhook." - }, - "description": { - "type": "string", - "description": "Description of the webhook." - }, - "URL": { - "type": "string", - "description": "Endpoint URL that receives HTTP POST requests from Skyflow when subscribed events occur." - }, - "eventTypes": { - "type": "array", - "items": { - "enum": [ - "deidentifyFile.*", - "deidentifyFile.completed", - "pipelineRun.*", - "pipelineRun.started", - "pipelineRun.completed", - "pipelineRun.fileCompleted", - "triggerRun.*", - "triggerRun.completed", - "vaultColumn.*", - "vaultColumn.updated" - ] - }, - "description": "List of event types in `{object}.{action}` format that trigger the webhook. Wildcards (`*`) are supported for actions (for example, `pipelineRun.*`, `deidentifyFile.completed`)." - } - }, - "description": "Request to create a new webhook.", - "x-visibility": [ - "external" - ] - }, - "CreateWebhookResponse": { - "type": "object", - "properties": { - "webhookID": { - "type": "string", - "description": "ID of the created webhook." - } - }, - "description": "Response containing the ID of the created webhook.", - "x-visibility": [ - "external" - ] - }, - "DataMapping": { - "required": [ - "tableName", - "fieldMapping" - ], - "type": "object", - "properties": { - "tableName": { - "type": "string", - "description": "Name of the table that protects data. Only applicable for pipelines that interact with data in a vault.

      `tableName` is required for all actions except `DEIDENTIFY`, `DETOKENIZE`, and `TRANSFER`." - }, - "primaryKey": { - "type": "string", - "description": "Column in the table that stores a primary key. The column must be set as unique in the vault schema. Only applicable for pipelines that insert data into a vault." - }, - "fieldMapping": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FieldMapping" - }, - "description": "Mappings of source data fields to vault operations." - }, - "conditions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MappingCondition" - }, - "description": "Conditions on which a record in the data should be operated on. If the a record in the source data does not match any provided condition, it will be dropped from processing." - } - }, - "description": "Vault data mappings.", - "x-visibility": [ - "external" - ] - }, - "Datastore_FixedWidthFormatOptions": { - "type": "object", - "properties": { - "linesPerRecord": { - "type": "integer", - "description": "Number of lines that a single record spans. Defaults to 1.", - "format": "uint32" - } - }, - "description": "Options for processing fixed-width data format.", - "x-visibility": [ - "external" - ] - }, - "DeidentifyFileEventData": { - "title": "De-identify file event data", - "required": [ - "configID" - ], - "type": "object", - "properties": { - "configID": { - "type": "string", - "description": "ID of the Detect configuration." - } - }, - "description": "Details about a de-identify file event.", - "x-visibility": [ - "external" - ] - }, - "DeleteObjectVaultResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the vault." - } - }, - "description": "Vault deletion response.", - "x-visibility": [ - "external" - ] - }, - "DeleteWebhookResponse": { - "type": "object", - "properties": { - "webhookID": { - "type": "string", - "description": "ID of the deleted webhook." - } - }, - "description": "Response containing the ID of the deleted webhook.", - "x-visibility": [ - "external" - ] - }, - "FTPServer": { - "required": [ - "transferProtocol" - ], - "type": "object", - "properties": { - "transferProtocol": { - "enum": [ - "SFTP" - ], - "type": "string", - "description": "File transfer protocol.", - "format": "enum" - }, - "plainText": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_PlainTextCredentials" - } - ], - "description": "Plaintext credentials.

      One of `plainText`, `encrypted`, or `skyflowHosted` must be specified." - }, - "encrypted": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_EncryptedCredentials" - } - ], - "description": "Encrypted credentials.

      One of `plainText`, `encrypted`, or `skyflowHosted` must be specified." - }, - "skyflowHosted": { - "type": "boolean", - "description": "If `true`, Skyflow hosts the server.

      One of `plainText`, `encrypted`, or `skyflowHosted` must be specified." - } - }, - "description": "An FTP server data store. Can't be specified together with an S3 bucket.", - "x-visibility": [ - "external" - ] - }, - "FTPServer_EncryptedCredentials": { - "required": [ - "encryptedCredentials" - ], - "type": "object", - "properties": { - "encryptedCredentials": { - "type": "string", - "description": "Encrypted message containing the server credentials. The message is a JSON object with the following fields: hostname, port, username, and password. The message must be encrypted with the same public key as the source data." - } - }, - "description": "Host server credentials in an encrypted message.", - "x-visibility": [ - "external" - ] - }, - "FTPServer_PlainTextCredentials": { - "required": [ - "hostname", - "port", - "username" - ], - "type": "object", - "properties": { - "hostname": { - "type": "string", - "description": "Hostname of the server." - }, - "port": { - "type": "string", - "description": "Port to access the server." - }, - "username": { - "type": "string", - "description": "Username to access the server." - }, - "password": { - "type": "string", - "description": "Password to access the server.

      One of `password` or `sshKeyID` must be specified." - }, - "sshKeyID": { - "type": "string", - "description": "ID of the SSH key to access the server.

      One of `password` or `sshKeyID` must be specified." - } - }, - "description": "Plain text credentials for the file transfer protocol.", - "x-visibility": [ - "external" - ] - }, - "Field": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the field." - }, - "datatype": { - "enum": [ - "DT_FLOAT32", - "DT_FLOAT64", - "DT_INT8", - "DT_INT16", - "DT_INT32", - "DT_INT64", - "DT_UINT8", - "DT_UINT16", - "DT_UINT32", - "DT_UINT64", - "DT_BOOL", - "DT_STRING", - "DT_BYTES", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED", - "DT_REFERENCED" - ], - "type": "string", - "description": "Data type of the field.", - "format": "enum" - }, - "isArray": { - "type": "boolean", - "description": "Boolean of whether or not the schema is an array." - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - }, - "description": "Tags applied to the field." - }, - "properties": { - "allOf": [ - { - "$ref": "#/components/schemas/Properties" - } - ], - "description": "Properties of the field." - }, - "ID": { - "type": "string", - "description": "ID of the field." - } - }, - "description": "Field details.", - "x-visibility": [ - "external" - ] - }, - "FieldMapping": { - "required": [ - "sourceField", - "columnName" - ], - "type": "object", - "properties": { - "sourceField": { - "allOf": [ - { - "$ref": "#/components/schemas/FieldMapping_SourceField" - } - ], - "description": "Operational field in source data." - }, - "columnName": { - "type": "string", - "description": "Name of the column in a vault that protects data. Only applicable for pipelines that interact with data in a vault.

      `columnName` is required for all actions except `DEIDENTIFY`, `DETOKENIZE`, and `TRANSFER`." - } - }, - "description": "Mappings for fields in the source data.", - "x-visibility": [ - "external" - ] - }, - "FieldMapping_SourceField": { - "type": "object", - "properties": { - "columnName": { - "type": "string", - "description": "Name of the column in the source data for `CSV`, `TSV`, `PSV` and `PARQUET` data formats.

      One of `columnName`, `jsonFieldName`, `fieldName`, or `fixedWidthField` must be specified depending on the data format. May be specified with `tokenColumnName`." - }, - "jsonFieldName": { - "type": "string", - "description": "Specification for `JSON` data formats.

      One of `columnName`, `jsonFieldName`, `fieldName`, or `fixedWidthField` must be specified depending on the data format." - }, - "fieldName": { - "type": "string", - "description": "Specification for `ACH` and `METRO2` data formats.

      One of `columnName`, `jsonFieldName`, `fieldName`, or `fixedWidthField` must be specified depending on the data format." - }, - "tokenColumnName": { - "type": "string", - "description": "Name of the column that contains tokens. Values in this column are inserted as tokens for values in `columnName`. If the target column is configured for tokenization but this field isn't specified or tokens aren't present for a given value, Skyflow generates tokens according to the target column's configuration.

      Only valid for `CSV`, `TSV` and `PSV` data formats.

      If `tokenColumnName` is specified, `columnName` is required. May not be specified with `jsonFieldName`, `fieldName`, or `fixedWidthField`." - }, - "fixedWidthField": { - "$ref": "#/components/schemas/FixedWidthField" - } - }, - "description": "Source field mappings.", - "x-visibility": [ - "external" - ] - }, - "FieldTemplate": { - "type": "object", - "properties": { - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "field": { - "$ref": "#/components/schemas/Field" - }, - "namespace": { - "type": "string" - }, - "status": { - "enum": [ - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED", - "CREATION_IN_PROGRESS", - "DELETION_IN_PROGRESS", - "FAILED", - "RUNNING", - "SUCCEEDED" - ], - "type": "string", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "FixedWidthField": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "$ref": "#/components/schemas/FixedWidthField_Value" - }, - "matchLines": { - "$ref": "#/components/schemas/FixedWidthField_MatchLines" - } - }, - "description": "Specification for extracting values in a fixed-width file.

      One of `jsonFieldName`, `regularExpression`, `fieldName`, or `fixedWidthField` must be specified depending on the data format.", - "x-visibility": [ - "external" - ] - }, - "FixedWidthField_MatchLines": { - "required": [ - "regex" - ], - "type": "object", - "properties": { - "positionFirst": { - "type": "integer", - "description": "Position of the first character in the value to match.", - "format": "uint32" - }, - "positionLast": { - "type": "integer", - "description": "Position of the final character in the value to match.", - "format": "uint32" - }, - "regex": { - "type": "string", - "description": "Regular expression that validates whether the line contains a value to extract." - } - }, - "description": "An identifier used to identify fixed-width lines that contain a value.", - "x-visibility": [ - "external" - ] - }, - "FixedWidthField_Value": { - "required": [ - "positionFirst", - "positionLast" - ], - "type": "object", - "properties": { - "positionFirst": { - "type": "integer", - "description": "Position of the first character in the value.", - "format": "uint32" - }, - "positionLast": { - "type": "integer", - "description": "Position of the final character in the value.", - "format": "uint32" - }, - "trimWhitespace": { - "type": "boolean", - "description": "If `true`, leading and trailing whitespace is trimmed from the value." - } - }, - "description": "A value at a particular position on a fixed-width line.", - "x-visibility": [ - "external" - ] - }, - "GetCloudProviderDetailsResponse": { - "type": "object", - "properties": { - "cloudProvider": { - "enum": [ - "AWS", - "GCP" - ], - "type": "string", - "description": "Name of the cloud provider.", - "format": "enum" - }, - "accountNumber": { - "type": "string", - "description": "Account number for the cloud provider." - }, - "primaryRegion": { - "type": "string", - "description": "Primary region where cloud resources are hosted." - }, - "replicaRegion": { - "type": "string", - "description": "Replica region where cloud resources are replicated to. Empty string for non-multi-region-enabled environments." - }, - "cryptoUserResourceName": { - "type": "string", - "description": "Resource name of the cryptography user, such an AWS ARN, GCP Resource ID, or Azure Resource ID." - } - }, - "description": "Request to get cloud provider details.", - "x-visibility": [ - "external" - ] - }, - "GetFieldTemplateResponse": { - "type": "object", - "properties": { - "template": { - "$ref": "#/components/schemas/FieldTemplate" - } - }, - "x-visibility": [ - "external" - ] - }, - "GetMasterKeyImportResponse": { - "type": "object", - "properties": { - "publicKey": { - "type": "string", - "description": "Base64-encoded wrapping key. An RSA public key with which to encrypt the 256-bit AES symmetric master key." - }, - "importToken": { - "type": "string", - "description": "Base64-encoded token used to import a master key. Valid for 24 hours. Can't be specified with `importJobID`." - }, - "region": { - "type": "string", - "description": "Region to import the master key into." - }, - "importJobID": { - "type": "string", - "description": "Import job ID used to import a master key into GCP. Can't be specified with `importToken`." - } - }, - "description": "Master key import parameters.", - "x-visibility": [ - "external" - ], - "required": [ - "publicKey", - "region" - ] - }, - "GetMasterKeyMetadataResponse": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "description": "Epoch Unix timestamp at which the master key was created.", - "format": "date-time" - }, - "expiresAt": { - "type": "string", - "description": "Epoch Unix timestamp at which the Master Key will expire. Only applies for internal and non-BYOK Master Keys.", - "format": "date-time" - }, - "alertAt": { - "type": "string", - "description": "Epoch Unix timestamp at which an alert will be sent to rotate the Master Key. Only applies for external and BYOK Master Keys.", - "format": "date-time" - }, - "rotationPendingWindowInDays": { - "type": "integer", - "description": "Number of days to delay a rotation after the Master Key is created.", - "format": "int32" - }, - "type": { - "enum": [ - "INTERNAL", - "EXTERNAL" - ], - "type": "string", - "description": "Type of the master key.", - "format": "enum" - }, - "origin": { - "enum": [ - "AWS_KMS", - "CUSTOMER", - "GCP_KMS" - ], - "type": "string", - "description": "Origin of the Master Key material.", - "format": "enum" - }, - "id": { - "type": "string", - "description": "ID of the Master Key. Only applies for external Master Keys." - }, - "isRotationInProgress": { - "type": "boolean", - "description": "If `true`, a key rotation is in progress." - } - }, - "description": "Response for master key metadata.", - "x-visibility": [ - "external" - ] - }, - "GetObjectVaultResponse": { - "type": "object", - "properties": { - "vault": { - "allOf": [ - { - "$ref": "#/components/schemas/ObjectVault" - } - ], - "description": "A vault." - }, - "workspaceID": { - "type": "string", - "description": "ID of the vault's workspace." - } - }, - "description": "Vault retrieval response.", - "x-visibility": [ - "external" - ] - }, - "GetObjectVaultVersionResponse": { - "type": "object", - "properties": { - "vaultID": { - "type": "string", - "description": "ID of the vault." - }, - "versionTag": { - "type": "string", - "description": "Unique tag of the vault schema version." - }, - "startTime": { - "type": "string", - "description": "Start time of the vault schema version." - }, - "endTime": { - "type": "string", - "description": "End time of the vault schema version." - }, - "schemaOperation": { - "type": "string", - "description": "Vault operation that added this schema into history." - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Schema" - }, - "description": "Schemas in this version." - }, - "BasicAudit": { - "allOf": [ - { - "$ref": "#/components/schemas/BasicAudit" - } - ], - "description": "Audit information for the schema version." - } - }, - "description": "Response with a specific schema version for a vault.", - "x-visibility": [ - "external" - ] - }, - "GetWebhookResponse": { - "type": "object", - "properties": { - "webhookID": { - "type": "string", - "description": "ID of the webhook." - }, - "name": { - "type": "string", - "description": "Name of the webhook." - }, - "displayName": { - "type": "string", - "description": "Display name of the webhook." - }, - "description": { - "type": "string", - "description": "Description of the webhook." - }, - "namespace": { - "type": "string", - "description": "Namespace of the webhook." - }, - "URL": { - "type": "string", - "description": "Endpoint URL that receives HTTP POST requests from Skyflow when subscribed events occur." - }, - "eventTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of event types in {object}.{action} format that trigger the webhook." - } - }, - "description": "Response containing the details of the requested webhook.", - "x-visibility": [ - "external" - ] - }, - "ImportMasterKeyRequest": { - "required": [ - "ciphertext", - "importParams", - "workspaceID" - ], - "type": "object", - "properties": { - "ciphertext": { - "type": "string", - "description": "256-bit AES symmetric key (master key). Should be encrypted by the RSA public key (wrapping key) and be base64-encoded." - }, - "importParams": { - "allOf": [ - { - "$ref": "#/components/schemas/GetMasterKeyImportResponse" - } - ], - "description": "Master key import parameters." - }, - "workspaceID": { - "type": "string", - "description": "ID of the workspace." - } - }, - "description": "Request to import a master key.", - "x-visibility": [ - "external" - ] - }, - "ImportMasterKeyResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the imported Master Key." - } - }, - "description": "Response for master key import.", - "x-visibility": [ - "external" - ] - }, - "ListBaseDataTypesResponse": { - "type": "object", - "properties": { - "baseDataTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseDataType" - } - } - }, - "x-visibility": [ - "external" - ] - }, - "ListFieldTemplatesResponse": { - "type": "object", - "properties": { - "fieldTemplates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FieldTemplate" - } - } - }, - "x-visibility": [ - "external" - ] - }, - "ListObjectVaultVersionResponse": { - "type": "object", - "properties": { - "schemaVersions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ListObjectVaultVersionResponseEntity" - }, - "description": "List of schema versions for the vault." - } - }, - "description": "Response with schema versions for a vault.", - "x-visibility": [ - "external" - ] - }, - "ListObjectVaultVersionResponseEntity": { - "type": "object", - "properties": { - "versionTag": { - "type": "string", - "description": "Unique tag for the vault schema version." - }, - "startTime": { - "type": "string", - "description": "Start time of the vault schema version." - }, - "endTime": { - "type": "string", - "description": "End time of the vault schema version." - }, - "schemaOperation": { - "type": "string", - "description": "Vault operation that added this schema into history." - }, - "BasicAudit": { - "allOf": [ - { - "$ref": "#/components/schemas/BasicAudit" - } - ], - "description": "Audit information for the schema version." - } - }, - "description": "Schema version information.", - "x-visibility": [ - "external" - ] - }, - "ListObjectVaultsResponse": { - "type": "object", - "properties": { - "vaults": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ObjectVault" - }, - "description": "List of vaults." - } - }, - "description": "Contains array of ObjectVault messages.", - "x-visibility": [ - "external" - ] - }, - "ListWebhooksResponse": { - "type": "object", - "properties": { - "webhooks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetWebhookResponse" - }, - "description": "List of webhooks." - } - }, - "description": "Response containing a list of webhooks.", - "x-visibility": [ - "external" - ] - }, - "MappingCondition": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Value in source data that the condition applies to." - }, - "comparator": { - "enum": [ - "EQUALS", - "NOT_EQUALS" - ], - "type": "string", - "description": "Comparison operator to use when evaluating the condition.", - "format": "enum" - } - }, - "description": "Condition for mapping data fields.", - "x-visibility": [ - "external" - ] - }, - "MasterKey": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the master key." - }, - "type": { - "enum": [ - "INTERNAL", - "EXTERNAL" - ], - "type": "string", - "description": "Type of the master key.", - "format": "enum" - } - }, - "description": "A master key.", - "x-visibility": [ - "external" - ] - }, - "Member": { - "type": "object", - "properties": { - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "serviceAccountInfo": { - "$ref": "#/components/schemas/ServiceAccountInfo" - } - }, - "description": "Member details. *Members* are actors within an account. See `type`." - }, - "ObjectVault": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the vault." - }, - "BasicAudit": { - "allOf": [ - { - "$ref": "#/components/schemas/BasicAudit" - } - ], - "description": "Audit metadata for the vault." - }, - "name": { - "type": "string", - "description": "Name of the vault." - }, - "description": { - "type": "string", - "description": "Description of the vault." - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Schema" - }, - "description": "Schemas in the vault." - }, - "namespace": { - "type": "string", - "description": "Namespace of the vault." - }, - "status": { - "enum": [ - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED", - "CREATION_IN_PROGRESS", - "DELETION_IN_PROGRESS", - "FAILED", - "RUNNING", - "SUCCEEDED" - ], - "type": "string", - "description": "Status of the vault.", - "format": "enum" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - }, - "description": "Vault-level tags." - }, - "openapiSpec": { - "type": "string", - "description": "OpenAPI document for the vault." - }, - "useMasterKey": { - "allOf": [ - { - "$ref": "#/components/schemas/MasterKey" - } - ], - "description": "Master Key used to encrypt data keys." - } - }, - "description": "A vault.", - "x-visibility": [ - "external" - ] - }, - "Properties": { - "type": "object", - "properties": {} - }, - "ReportOptions": { - "type": "object", - "properties": { - "recordIdentifiers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Fields in source files to include as record identifiers in generated reports. These fields should NOT contain sensitive data." - }, - "recordsPerFile": { - "type": "integer", - "description": "Number of records per output file. Only supported for EXPORT pipelines.", - "format": "int32" - }, - "exportDirectoryTrim": { - "allOf": [ - { - "$ref": "#/components/schemas/ReportOptions_ExportDirectoryTrim" - } - ], - "description": "Indicates if source datastore directory structure should be maintained for exported files." - }, - "eventTypesToEmit": { - "type": "array", - "items": { - "enum": [ - "pipelineRun.fileCompleted" - ] - }, - "description": "Types of events to emit for pipelines and pipeline runs in `{object}.{action}` format. `pipelineRun.started` and `pipelineRun.completed` events are always emitted and don't need to be specified here." - } - }, - "description": "Field options to record in generated reports.\n Field options to record in generated reports.", - "x-visibility": [ - "external" - ] - }, - "ReportOptions_ExportDirectoryTrim": { - "type": "object", - "properties": { - "trimUntilDepth": { - "type": "integer", - "description": "Depth level until which to trim the directory structure.

      One of `trim_until_depth`, `trim_until_directory`, or `trim_prefix` must be specified.", - "format": "uint32" - }, - "trimUntilDirectory": { - "type": "string", - "description": "Directory name until which to trim.

      One of `trim_until_depth`, `trim_until_directory`, or `trim_prefix` must be specified." - }, - "trimPrefix": { - "type": "string", - "description": "Prefix to trim from directory paths.

      One of `trim_until_depth`, `trim_until_directory`, or `trim_prefix` must be specified." - } - }, - "description": "Options for trimming directory structure in exported files.", - "x-visibility": [ - "external" - ] - }, - "RotateMasterKeyRequest": { - "required": [ - "workspaceID" - ], - "type": "object", - "properties": { - "vaultID": { - "type": "string", - "description": "ID of the vault." - }, - "workspaceID": { - "type": "string", - "description": "ID of the vault's workspace." - }, - "masterKey": { - "allOf": [ - { - "$ref": "#/components/schemas/MasterKey" - } - ], - "description": "Master Key to rotate to. Leave empty for Skyflow-managed Master Keys." - }, - "pendingWindowInDays": { - "type": "integer", - "default": 0, - "description": "Number of days to wait before rotating keys. If not specified, rotation happens immediately.", - "format": "int32" - }, - "rotationReminderRecipients": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Contact" - }, - "description": "Recipients of rotation reminders. Applicable only when pendingWindowInDays doesn't equal 0. If not specified, the default user for the account receives rotation reminders." - } - }, - "description": "Request to rotate a master key.", - "x-visibility": [ - "external" - ] - }, - "RotateMasterKeyResponse": { - "type": "object", - "properties": { - "status": { - "enum": [ - "QUEUED", - "DONE" - ], - "type": "string", - "description": "Status of the master key rotation.", - "format": "enum" - } - }, - "description": "Response for master key rotation.", - "x-visibility": [ - "external" - ] - }, - "S3Bucket": { - "required": [ - "name", - "region", - "assumedRoleARN" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the bucket." - }, - "region": { - "type": "string", - "description": "Region of the bucket." - }, - "assumedRoleARN": { - "type": "string", - "description": "Name of the assumed role to use when accessing the bucket." - } - }, - "description": "Type of source or destination system.", - "x-visibility": [ - "external" - ] - }, - "Schema": { - "type": "object", - "properties": {}, - "description": "`Schema` is a representation of OpenAPI v2 specification's Schema object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject" - }, - "Tag": { - "type": "object", - "properties": {}, - "description": "`Tag` is a representation of OpenAPI v2 specification's Tag object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#tagObject" - }, - "UpdateObjectVaultRequest": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the vault." - }, - "name": { - "type": "string", - "description": "Updated name for the vault." - }, - "description": { - "type": "string", - "description": "Updated description for the vault." - }, - "templateID": { - "type": "string", - "description": "ID of the template used to create the vault. Can't be specified with `vaultSchema`." - }, - "vaultSchema": { - "allOf": [ - { - "$ref": "#/components/schemas/VaultSchema" - } - ], - "description": "Schema to create the vault with. Can't be specified with `templateID`." - } - }, - "description": "Vault update request.", - "x-visibility": [ - "external" - ] - }, - "UpdateObjectVaultResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the vault." - } - }, - "description": "Vault update response.", - "x-visibility": [ - "external" - ] - }, - "UpdateWebhookRequest": { - "type": "object", - "properties": { - "webhookID": { - "type": "string", - "description": "ID of the webhook to update." - }, - "name": { - "type": "string", - "description": "Name of the webhook." - }, - "displayName": { - "type": "string", - "description": "Display name of the webhook." - }, - "description": { - "type": "string", - "description": "Description of the webhook." - }, - "URL": { - "type": "string", - "description": "Endpoint URL that receives HTTP POST requests from Skyflow when subscribed events occur." - }, - "eventTypes": { - "type": "array", - "items": { - "enum": [ - "deidentifyFile.*", - "deidentifyFile.completed", - "pipelineRun.*", - "pipelineRun.started", - "pipelineRun.completed", - "triggerRun.*", - "triggerRun.completed", - "vaultColumn.*", - "vaultColumn.updated" - ] - }, - "description": "List of event types in `{object}.{action}`` format that trigger the webhook. Wildcards (`*`) are supported for actions (for example, `pipelineRun.*`, `deidentifyFile.completed`)." - } - }, - "description": "Request to update an existing webhook.", - "x-visibility": [ - "external" - ] - }, - "UpdateWebhookResponse": { - "type": "object", - "properties": { - "webhookID": { - "type": "string", - "description": "ID of the updated webhook." - } - }, - "description": "Response containing the ID of the updated webhook.", - "x-visibility": [ - "external" - ] - }, - "VaultSchema": { - "required": [ - "schemas", - "tags" - ], - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Schema" - }, - "description": "Schema that represents the fields and field options of the vault." - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - }, - "description": "Tags applied to the whole vault." - } - }, - "description": "Schema definition and settings for a vault.", - "x-visibility": [ - "external" - ] - }, - "Datastore_Source": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for input files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fixedWidthFormat": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_FixedWidthFormatOptions" - } - ], - "description": "Options for processing fixed-width data format." - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "excludeFiles": { - "type": "string", - "description": "File path of a csv containing any file names to exclude from processing." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer" - } - ], - "description": "FTP server details. Can't be specified with `s3Bucket`." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details. Can't be specified with `ftpServer`." - } - }, - "description": "Datastore for input files.", - "x-visibility": [ - "external" - ] - }, - "Datastore_Destination": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for output files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer" - } - ], - "description": "FTP server details. Can't be specified with `s3Bucket`." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details. Can't be specified with `ftpServer`." - } - }, - "description": "Datastore for output files.", - "x-visibility": [ - "external" - ] - }, - "FTPServer_get-pipeline": { - "required": [ - "transferProtocol" - ], - "type": "object", - "properties": { - "transferProtocol": { - "enum": [ - "SFTP" - ], - "type": "string", - "description": "File transfer protocol.", - "format": "enum" - }, - "skyflowHosted": { - "type": "boolean", - "description": "If `true`, Skyflow hosts the server." - } - }, - "description": "An FTP server data store. Can't be specified together with an S3 bucket.", - "x-visibility": [ - "external" - ] - }, - "FTPServer_list-pipelines": { - "required": [ - "transferProtocol" - ], - "type": "object", - "properties": { - "transferProtocol": { - "enum": [ - "SFTP" - ], - "type": "string", - "description": "File transfer protocol.", - "format": "enum" - }, - "skyflowHosted": { - "type": "boolean", - "description": "If `true`, Skyflow hosts the server." - } - }, - "description": "An FTP server data store. Can't be specified together with an S3 bucket.", - "x-visibility": [ - "external" - ] - }, - "GetPipelineResponse_get-pipeline": { - "type": "object", - "properties": { - "pipeline": { - "$ref": "#/components/schemas/Pipeline_get-pipeline" - } - }, - "description": "Response of the Get Pipeline request.", - "x-visibility": [ - "external" - ] - }, - "Pipeline_get-pipeline": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the pipeline." - }, - "displayName": { - "type": "string", - "description": "Display name of the pipeline." - }, - "description": { - "type": "string", - "description": "Description of the pipeline." - }, - "namespace": { - "type": "string", - "description": "Namespace of the pipeline." - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_get-pipeline_Source" - } - ], - "description": "Datastore from which source data will be ingested." - }, - "destination": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_get-pipeline_Destination" - } - ], - "description": "Datastore to which processed data will be sent." - }, - "dataMappings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataMapping" - }, - "description": "Mappings of source data fields to vault tables and columns." - }, - "status": { - "enum": [ - "CREATED" - ], - "type": "string", - "description": "Status of the pipeline.", - "format": "enum" - }, - "action": { - "enum": [ - "IMPORT", - "TOKENIZE", - "REDACT", - "DETOKENIZE", - "TRANSFER", - "EXPORT", - "UPDATE", - "DEIDENTIFY" - ], - "type": "string", - "description": "Action performed by the pipeline.", - "format": "enum" - }, - "runTriggers": { - "type": "array", - "items": { - "enum": [ - "ON_DEMAND" - ], - "type": "string", - "format": "enum" - }, - "description": "Trigger mechanisms supported by the pipeline." - }, - "reportOptions": { - "$ref": "#/components/schemas/ReportOptions" - } - }, - "description": "Details of a pipeline.", - "x-visibility": [ - "external" - ] - }, - "ListPipelinesResponse_list-pipelines": { - "type": "object", - "properties": { - "pipelines": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Pipeline_list-pipelines" - }, - "description": "Details of pipelines." - } - }, - "description": "Response for the List Pipelines request.", - "x-visibility": [ - "external" - ] - }, - "Pipeline_list-pipelines": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the pipeline." - }, - "displayName": { - "type": "string", - "description": "Display name of the pipeline." - }, - "description": { - "type": "string", - "description": "Description of the pipeline." - }, - "namespace": { - "type": "string", - "description": "Namespace of the pipeline." - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_list-pipelines_Source" - } - ], - "description": "Datastore from which source data will be ingested." - }, - "destination": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_list-pipelines_Destination" - } - ], - "description": "Datastore to which processed data will be sent." - }, - "dataMappings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataMapping" - }, - "description": "Mappings of source data fields to vault tables and columns." - }, - "status": { - "enum": [ - "CREATED" - ], - "type": "string", - "description": "Status of the pipeline.", - "format": "enum" - }, - "action": { - "enum": [ - "IMPORT", - "TOKENIZE", - "REDACT", - "DETOKENIZE", - "TRANSFER", - "EXPORT", - "UPDATE", - "DEIDENTIFY" - ], - "type": "string", - "description": "Action performed by the pipeline.", - "format": "enum" - }, - "runTriggers": { - "type": "array", - "items": { - "enum": [ - "ON_DEMAND" - ], - "type": "string", - "format": "enum" - }, - "description": "Trigger mechanisms supported by the pipeline." - }, - "reportOptions": { - "$ref": "#/components/schemas/ReportOptions" - } - }, - "description": "Details of a pipeline.", - "x-visibility": [ - "external" - ] - }, - "Datastore_get-pipeline_Source": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for input files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fixedWidthFormat": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_FixedWidthFormatOptions" - } - ], - "description": "Options for processing fixed-width data format." - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "excludeFiles": { - "type": "string", - "description": "File path of a csv containing any file names to exclude from processing." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_get-pipeline" - } - ], - "description": "FTP server details." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details." - } - }, - "description": "Datastore for input files.", - "x-visibility": [ - "external" - ] - }, - "Datastore_get-pipeline_Destination": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for output files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_get-pipeline" - } - ], - "description": "FTP server details." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details." - } - }, - "description": "Datastore for output files.", - "x-visibility": [ - "external" - ] - }, - "Datastore_list-pipelines_Source": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for input files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fixedWidthFormat": { - "allOf": [ - { - "$ref": "#/components/schemas/Datastore_FixedWidthFormatOptions" - } - ], - "description": "Options for processing fixed-width data format." - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "excludeFiles": { - "type": "string", - "description": "File path of a csv containing any file names to exclude from processing." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_list-pipelines" - } - ], - "description": "FTP server details." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details." - } - }, - "description": "Datastore for input files.", - "x-visibility": [ - "external" - ] - }, - "Datastore_list-pipelines_Destination": { - "required": [ - "dataFormat", - "fileNameRegexes" - ], - "type": "object", - "properties": { - "dataFormat": { - "enum": [ - "CSV", - "JSON", - "METRO2", - "AUDIO", - "TEXT", - "ACH", - "FIXED_WIDTH", - "TSV", - "PSV", - "PARQUET" - ], - "type": "string", - "description": "Format of the data for output files.

      For all actions except `DEIDENTIFY`, `source.dataFormat` and `destination.dataFormat` must match.

      When `action` is `DEIDENTIFY`,
      • `AUDIO` and `TEXT` are valid values.
      • If `source.dataFormat` is `AUDIO`, `destination.dataFormat` may be `AUDIO` or `TEXT`.
      • If `source.dataFormat` is `TEXT`, `destination.dataFormat` must be `TEXT`.
      ", - "format": "enum" - }, - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the datastore to process." - }, - "encryptionProtocol": { - "enum": [ - "PGP", - "SSH_RSA" - ], - "type": "string", - "description": "Encryption protocol to encrypt data. When this field is specified, `encryptionKeyID` is also required.", - "format": "enum" - }, - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key. When this field is specified, `encryptionProtocol` is also required." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/FTPServer_list-pipelines" - } - ], - "description": "FTP server details." - }, - "s3Bucket": { - "allOf": [ - { - "$ref": "#/components/schemas/S3Bucket" - } - ], - "description": "S3 bucket details." - } - }, - "description": "Datastore for output files.", - "x-visibility": [ - "external" - ] - }, - "DeleteConnectionSecretRequest": { - "required": [ - "secrets" - ], - "type": "object", - "properties": { - "secrets": { - "minItems": 1, - "type": "array", - "items": { - "type": "string" - }, - "description": "Secret keys to delete (field paths in the connection secret object), e.g. \"messageSecrets.encPublicKey\", \"soapAuthSecret\" (case sensitive)" - } - }, - "x-visibility": [ - "external" - ] - }, - "DeletePipelineResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the pipeline." - } - }, - "description": "Response to the Delete Pipeline request.", - "x-visibility": [ - "external" - ] - }, - "Empty": { - "type": "object", - "properties": {} - }, - "GetConnectionSecretResponse": { - "type": "object", - "properties": { - "routeSecret": { - "$ref": "#/components/schemas/RelayAuthSecret" - }, - "authMode": { - "enum": [ - "NOAUTH", - "MTLS", - "SHAREDKEY" - ], - "type": "string", - "format": "enum" - }, - "mleAuthSecret": { - "$ref": "#/components/schemas/MLEAuthSecret" - }, - "soapAuthSecret": { - "$ref": "#/components/schemas/SoapAuthSecret" - }, - "messageSecrets": { - "$ref": "#/components/schemas/MessageSecrets" - }, - "fieldEncryptionSecret": { - "type": "string", - "description": "Secret used in field-level encryption operations." - }, - "oAuth1aSecret": { - "allOf": [ - { - "$ref": "#/components/schemas/OAuth1aSecret" - } - ], - "description": "Secret used for oAuth 1.0a." - } - }, - "x-visibility": [ - "external" - ] - }, - "GetPipelineRunResponse": { - "type": "object", - "properties": { - "pipelineRun": { - "allOf": [ - { - "$ref": "#/components/schemas/PipelineRun" - } - ], - "description": "Pipeline run." - } - }, - "description": "Response to the Get Pipeline Run request.", - "x-visibility": [ - "external" - ] - }, - "ListPipelineRunsResponse": { - "type": "object", - "properties": { - "pipelineRuns": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PipelineRun" - }, - "description": "List of pipeline runs." - } - }, - "description": "Response to the List Pipeline Runs request.", - "x-visibility": [ - "external" - ] - }, - "MLEAuthSecret": { - "type": "object", - "properties": { - "publicKeyMLE": { - "type": "string", - "description": "Public key." - }, - "privateKeyMLE": { - "type": "string", - "description": "Private key." - }, - "keyID": { - "type": "string", - "description": "ID of the key." - } - }, - "description": "Secrets for message-level encryption (MLE).", - "x-visibility": [ - "external" - ] - }, - "MessageSecrets": { - "type": "object", - "properties": { - "encPublicKey": { - "type": "string", - "description": "Public key for encrypting messages." - }, - "encPrivateKey": { - "type": "string", - "description": "Private key for encrypting messages." - }, - "signPublicKey": { - "type": "string", - "description": "Public key for signing messages." - }, - "signPrivateKey": { - "type": "string", - "description": "Private key for signing messages." - }, - "encSymmetricKey": { - "type": "string", - "description": "Symmetric key for encrypting messages." - }, - "signSymmetricKey": { - "type": "string", - "description": "Symmetric key for signing messages." - } - }, - "description": "Secrets used in message encryption and signing operations.", - "x-visibility": [ - "external" - ] - }, - "OAuth1aSecret": { - "type": "object", - "properties": { - "consumerKey": { - "type": "string", - "description": "Consumer Key." - }, - "consumerSecret": { - "type": "string", - "description": "Private key." - } - }, - "description": "OAuth1.0a secrets for the connection.", - "x-visibility": [ - "external" - ] - }, - "PipelineRun": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the pipeline run." - }, - "pipelineID": { - "type": "string", - "description": "ID of the pipeline." - }, - "state": { - "enum": [ - "RUNNING", - "SUCCEEDED", - "FAILED", - "STOPPED", - "SUSPENDED", - "QUEUED", - "INITIALIZING" - ], - "type": "string", - "description": "State of the pipeline run.", - "format": "enum" - }, - "error": { - "type": "string", - "description": "Error message returned from the pipeline if state is FAILED." - }, - "parserErrorFileURL": { - "type": "string", - "description": "URL of the file that lists errors encountered from the parse task during the pipeline run." - }, - "vaultErrorFileURL": { - "type": "string", - "description": "URL of the file that lists errors encountered from the vault task during the pipeline run." - }, - "tokenFileURL": { - "type": "string", - "description": "URL of the file composed of tokens generated during the pipeline run." - }, - "deidentifyReportFileURL": { - "type": "string", - "description": "URL of the file that lists errors encountered from the vault task during the pipeline run." - } - }, - "description": "Response fields for a specified pipeline run report.", - "x-visibility": [ - "external" - ] - }, - "RelayAuthSecret": { - "type": "object", - "properties": { - "sharedKey": { - "type": "string", - "description": "Shared key used to connect to the inbound base URL." - }, - "publicKey": { - "type": "string", - "description": "Public key for MTLS authentication." - }, - "privateKey": { - "type": "string", - "description": "Private key for MTLS authentication." - } - }, - "description": "Shared key and MTLS secrets for the connection.", - "x-visibility": [ - "external" - ] - }, - "RunPipelineRequest": { - "type": "object", - "properties": { - "fileNameRegexes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Valid regex patterns to identify files in the source datastore to be processed. If provided, this overrides regex patterns supplied at pipeline creation for this run." - }, - "exportDirectory": { - "type": "string", - "description": "Directory in destination datastore where exported files will be written. If provided, this overrides the directory supplied at pipeline creation for this run." - } - }, - "description": "Request to run a specified pipeline.", - "x-visibility": [ - "external" - ] - }, - "RunPipelineResponse": { - "type": "object", - "properties": { - "runID": { - "type": "string" - } - }, - "description": "Response to the Run Pipeline request.", - "x-visibility": [ - "external" - ] - }, - "SoapAuthSecret": { - "type": "object", - "properties": { - "keyStore": { - "type": "string", - "description": "Keystore for the PFX file that contains the private key and public keychain." - }, - "binarySecurityToken": { - "type": "string", - "description": "Binary security token." - }, - "userName": { - "type": "string", - "description": "Username." - }, - "password": { - "type": "string", - "description": "Password." - }, - "keyStorePassword": { - "type": "string", - "description": "Password for the keystore file." - } - }, - "description": "Secrets for SOAP authentication.", - "x-visibility": [ - "external" - ] - }, - "StopPipelineRunRequest": { - "type": "object", - "properties": {}, - "description": "Request to stop a specified pipeline run.", - "x-visibility": [ - "external" - ] - }, - "StopPipelineRunResponse": { - "type": "object", - "properties": { - "runID": { - "type": "string", - "description": "ID of the pipeline run." - } - }, - "description": "Response to the Stop Pipeline Run request.", - "x-visibility": [ - "external" - ] - }, - "UpdateConnectionSecretRequest": { - "type": "object", - "properties": { - "routeSecret": { - "$ref": "#/components/schemas/RelayAuthSecret" - }, - "authMode": { - "enum": [ - "NOAUTH", - "MTLS", - "SHAREDKEY" - ], - "type": "string", - "format": "enum" - }, - "mleAuthSecret": { - "$ref": "#/components/schemas/MLEAuthSecret" - }, - "soapAuthSecret": { - "$ref": "#/components/schemas/SoapAuthSecret" - }, - "messageSecrets": { - "$ref": "#/components/schemas/MessageSecrets" - }, - "fieldEncryptionSecret": { - "type": "string", - "description": "Secret used in field-level encryption operations." - }, - "oAuth1aSecret": { - "allOf": [ - { - "$ref": "#/components/schemas/OAuth1aSecret" - } - ], - "description": "Secret used for oAuth 1.0a." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdatePipelineRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the pipeline." - }, - "displayName": { - "type": "string", - "description": "Display name of the pipeline." - }, - "description": { - "type": "string", - "description": "Description of the pipeline." - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/UpdatePipelineRequest_DatastoreUpdate" - } - ], - "description": "Updates to the datastore from which unprocessed data is ingested." - }, - "destination": { - "allOf": [ - { - "$ref": "#/components/schemas/UpdatePipelineRequest_DatastoreUpdate" - } - ], - "description": "Updates to the datastore to which processed data is sent." - }, - "runTriggers": { - "type": "array", - "items": { - "enum": [ - "ON_DEMAND" - ], - "type": "string", - "format": "enum" - }, - "description": "Trigger mechanisms supported by the pipeline." - }, - "reportOptions": { - "allOf": [ - { - "$ref": "#/components/schemas/ReportOptions" - } - ], - "description": "Optional configurations for reports generated by the pipeline." - } - }, - "description": "Request to update a pipeline.", - "x-visibility": [ - "external" - ] - }, - "UpdatePipelineRequest_DatastoreUpdate": { - "type": "object", - "properties": { - "encryptionKeyID": { - "type": "string", - "description": "ID of the encryption key." - }, - "ftpServer": { - "allOf": [ - { - "$ref": "#/components/schemas/UpdatePipelineRequest_FTPServerUpdate" - } - ], - "description": "FTP server details." - } - }, - "description": "Update to the datastore from which data is ingested or to which data is sent.", - "x-visibility": [ - "external" - ] - }, - "UpdatePipelineRequest_FTPServerUpdate": { - "type": "object", - "properties": { - "plainText": { - "allOf": [ - { - "$ref": "#/components/schemas/UpdatePipelineRequest_PlainTextCredentialsUpdate" - } - ], - "description": "Plain text credentials." - } - }, - "description": "FTP server details.", - "x-visibility": [ - "external" - ] - }, - "UpdatePipelineRequest_PlainTextCredentialsUpdate": { - "type": "object", - "properties": { - "username": { - "type": "string", - "description": "Username to access the server." - }, - "password": { - "type": "string", - "description": "Password to access the server." - }, - "sshKeyID": { - "type": "string", - "description": "ID of the SSH key." - } - }, - "description": "Plain text credentials to update.", - "x-visibility": [ - "external" - ] - }, - "UpdatePipelineResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the updated pipeline." - } - }, - "description": "Response to the Update Pipeline request.", - "x-visibility": [ - "external" - ] - }, - "ClientConfiguration": { - "type": "object", - "properties": { - "enforceContextID": { - "type": "boolean", - "description": "When `true`, all JWT assertions for this service account must contain a `ctx` claim." - }, - "enforceSignedDataTokens": { - "type": "boolean", - "description": "When `true`, all data tokens sent to the vault using this service account must be signed with the associated private key." - } - }, - "description": "Client-side configuration for a service account.", - "x-visibility": [ - "external" - ] - }, - "CreateFunctionDeploymentRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the deployment." - }, - "description": { - "type": "string", - "description": "Description of the deployment." - }, - "functionID": { - "type": "string", - "description": "ID of the function to deploy." - }, - "versionTag": { - "type": "string", - "description": "Version of the function to deploy." - }, - "functionEnvironmentID": { - "type": "string", - "description": "ID of the environment to deploy the function in." - }, - "regionID": { - "type": "string", - "description": "ID of the region to deploy the function in." - } - }, - "x-visibility": [ - "external" - ] - }, - "CreateFunctionDeploymentResponse": { - "type": "object", - "properties": { - "functionDeploymentID": { - "type": "string", - "description": "ID of the deployment." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "default": "NONE", - "description": "Status of the resource.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "CreateFunctionEnvironmentRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the environment." - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvironmentVariable" - }, - "description": "Variables defined in the environment." - }, - "description": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "CreateFunctionEnvironmentResponse": { - "type": "object", - "properties": { - "functionEnvironmentID": { - "type": "string", - "description": "ID of the function as which you want to create the environment." - }, - "functionEnvironmentName": { - "type": "string", - "description": "Name of the environment." - }, - "functionEnvironmentDescription": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "CreateFunctionRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the function." - }, - "description": { - "type": "string", - "description": "Description of the function." - }, - "code": { - "type": "string", - "description": "Function code snippet as string." - }, - "functionConfigs": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HandlerConfig" - }, - "description": "Function handler configuration details." - }, - "functionDeployment": { - "allOf": [ - { - "$ref": "#/components/schemas/FunctionDeploymentConfig" - } - ], - "description": "Function deployment parameters. Only needed to immediately deploy a function after creation." - }, - "language": { - "allOf": [ - { - "$ref": "#/components/schemas/FunctionLanguage" - } - ], - "description": "Programming language the code is written in." - }, - "dependencies": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required libraries for the function." - } - }, - "x-visibility": [ - "external" - ] - }, - "CreateFunctionResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function." - }, - "name": { - "type": "string", - "description": "Name of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "deploymentID": { - "type": "string", - "description": "ID of the function deployment." - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFunctionDeploymentResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the deleted function deployment." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "default": "NONE", - "description": "Status of the resource.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFunctionEnvironmentResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the environment." - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFunctionEnvironmentVariableRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the variable." - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFunctionEnvironmentVariableResponse": { - "type": "object", - "properties": { - "functionEnvironmentID": { - "type": "string", - "description": "ID of the deleted function environment." - }, - "functionEnvironmentName": { - "type": "string", - "description": "Name of the environment." - }, - "functionEnvironmentDescription": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "DeleteFunctionResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the deleted function." - } - }, - "x-visibility": [ - "external" - ] - }, - "Dependency": { - "type": "object", - "properties": { - "language": { - "allOf": [ - { - "$ref": "#/components/schemas/FunctionLanguage" - } - ], - "description": "Programming language the code is written in." - }, - "whitelistedDependencies": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required libraries for the function." - } - }, - "description": "A language-specific set of allowlisted dependencies.", - "x-visibility": [ - "external" - ] - }, - "EnvironmentVariable": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the variable." - }, - "value": { - "type": "string", - "description": "Value of the variable." - }, - "type": { - "enum": [ - "NONE", - "PLAIN_TEXT", - "SECRET" - ], - "type": "string", - "default": "NONE", - "description": "Type of the variable.", - "format": "enum" - } - }, - "description": "Environment variable details.", - "x-visibility": [ - "external" - ] - }, - "FunctionDeploymentConfig": { - "type": "object", - "properties": { - "deploy": { - "type": "boolean", - "description": "If true, the function creates a deploymentID." - }, - "functionEnvironmentID": { - "type": "string", - "description": "ID of the function environment to deploy the function in." - }, - "regionID": { - "type": "string", - "description": "ID of the region to deploy the function in." - }, - "functionDeploymentName": { - "type": "string", - "description": "Name of function deployment." - }, - "functionDeploymentDescription": { - "type": "string", - "description": "Description of function deployment." - } - }, - "description": "Function deployment parameters. Only needed to immediately deploy a function after creation.", - "x-visibility": [ - "external" - ] - }, - "FunctionLanguage": { - "type": "object", - "properties": { - "languageName": { - "enum": [ - "LANGUAGE_NOT_DEFINED", - "NODEJS" - ], - "type": "string", - "default": "LANGUAGE_NOT_DEFINED", - "description": "Programming languages.", - "format": "enum" - }, - "languageVersion": { - "type": "string", - "description": "Version of the language." - } - }, - "description": "Programming language used by a function.", - "x-visibility": [ - "external" - ] - }, - "FunctionTagsResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function tag." - }, - "functionID": { - "type": "string", - "description": "ID of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "downloadInfo": { - "$ref": "#/components/schemas/TagDownloadInfo" - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "description": "Status of the tag.", - "format": "enum" - }, - "handlerConfigs": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HandlerConfig" - }, - "description": "Handler configuration details." - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "language": { - "$ref": "#/components/schemas/FunctionLanguage" - }, - "isZipped": { - "type": "boolean", - "description": "If true, the function code is sent in a zipped file." - }, - "dependencies": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required libraries for the function." - }, - "errorMessage": { - "type": "string", - "description": "Error message returned if the function tag is in a FAILED state." - }, - "functionName": { - "type": "string", - "description": "Name of the function." - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionConfigResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the resource." - }, - "dependencies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Dependency" - }, - "description": "Required libraries for the function." - }, - "BasicAudit": { - "allOf": [ - { - "$ref": "#/components/schemas/BasicAudit" - } - ], - "description": "Audit details of the resource creation." - }, - "whitelistedConnectionBaseURLs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "WhiteListed base URLs for connection." - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionDeploymentLogsResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function deployment." - }, - "logs": { - "type": "string", - "description": "Function deployment logs." - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionDeploymentResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the deployment." - }, - "name": { - "type": "string", - "description": "Name of the deployment." - }, - "functionID": { - "type": "string", - "description": "ID of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "functionEnvironmentID": { - "type": "string", - "description": "ID of the environment to deploy the function in." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "default": "NONE", - "description": "Status of the resource.", - "format": "enum" - }, - "methodNames": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of all function methods in the deployment." - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "errorMessage": { - "type": "string", - "description": "Error message returned if the function deployment is in a FAILED state." - }, - "regionID": { - "type": "string", - "description": "ID of the region to deploy the function in." - }, - "functionEnvironmentName": { - "type": "string", - "description": "Name of the function environment." - }, - "description": { - "type": "string", - "description": "Description of the deployment." - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionEnvironmentResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the environment." - }, - "name": { - "type": "string", - "description": "Name of the environment." - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvironmentVariable" - }, - "description": "Variables defined in the environment." - }, - "description": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function." - }, - "name": { - "type": "string", - "description": "Name of the function." - }, - "description": { - "type": "string", - "description": "Description of the function." - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - } - }, - "x-visibility": [ - "external" - ] - }, - "GetFunctionTagResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function tag." - }, - "functionID": { - "type": "string", - "description": "ID of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "downloadInfo": { - "$ref": "#/components/schemas/TagDownloadInfo" - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "description": "Status of the tag.", - "format": "enum" - }, - "handlerConfigs": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HandlerConfig" - }, - "description": "Handler configuration details." - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "language": { - "$ref": "#/components/schemas/FunctionLanguage" - }, - "isZipped": { - "type": "boolean", - "description": "If true, the function code is sent in a zipped file." - }, - "dependencies": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required libraries for the function." - }, - "errorMessage": { - "type": "string", - "description": "Error message returned if the function tag is in a FAILED state." - } - }, - "x-visibility": [ - "external" - ] - }, - "HandlerConfig": { - "type": "object", - "properties": { - "handlerName": { - "type": "string", - "description": "Name of the function handler." - }, - "methodName": { - "type": "string", - "description": "Name of the method present in the code that the handler corresponds to." - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvironmentVariable" - }, - "description": "Environment variables used by the function handler." - }, - "resourceConfig": { - "allOf": [ - { - "$ref": "#/components/schemas/ResourceConfig" - } - ], - "description": "Resource configuration details." - }, - "numberOfWarmInstances": { - "type": "integer", - "description": "Number of warm instances for the function handler.", - "format": "int64" - } - }, - "description": "Function handler details.", - "x-visibility": [ - "external" - ] - }, - "ListAllFunctionTagsResponse": { - "type": "object", - "properties": { - "functionTag": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FunctionTagsResponse" - }, - "description": "List all tags for all accounts." - } - }, - "x-visibility": [ - "external" - ] - }, - "ListFunctionDeploymentResponse": { - "type": "object", - "properties": { - "functionDeployments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetFunctionDeploymentResponse" - }, - "description": "List of function deployments." - } - }, - "x-visibility": [ - "external" - ] - }, - "ListFunctionEnvironmentResponse": { - "type": "object", - "properties": { - "functionEnvironments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetFunctionEnvironmentResponse" - }, - "description": "List all function environments in the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "ListFunctionResponse": { - "type": "object", - "properties": { - "functions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetFunctionResponse" - }, - "description": "List all functions in the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "ListFunctionTagsResponse": { - "type": "object", - "properties": { - "functionID": { - "type": "string", - "description": "ID of the function." - }, - "functionName": { - "type": "string", - "description": "Name of the function." - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TagDetail" - }, - "description": "List all tags of the specified function." - } - }, - "x-visibility": [ - "external" - ] - }, - "ResourceConfig": { - "type": "object", - "properties": { - "timeout": { - "type": "integer", - "description": "Timeout for the function handler.", - "format": "int64" - }, - "memory": { - "type": "integer", - "description": "Memory limit for the function handler in MBs.", - "format": "int64" - } - }, - "description": "Resource configuration details.", - "x-visibility": [ - "external" - ] - }, - "ServiceAccount": { - "type": "object", - "properties": { - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - } - }, - "description": "Service account details." - }, - "ServiceAccountInfo": { - "type": "object", - "properties": { - "serviceAccount": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceAccount" - } - ], - "description": "The service account details." - }, - "clientConfiguration": { - "allOf": [ - { - "$ref": "#/components/schemas/ClientConfiguration" - } - ], - "description": "Client-side configuration for the service account." - } - }, - "description": "Information about a service account, including its configuration.", - "x-visibility": [ - "external" - ] - }, - "TagDetail": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the tag." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "format": "enum" - }, - "BasicAudit": { - "$ref": "#/components/schemas/BasicAudit" - }, - "language": { - "$ref": "#/components/schemas/FunctionLanguage" - }, - "isZipped": { - "type": "boolean", - "description": "If true, the function code is sent in a zipped file." - }, - "errorMessage": { - "type": "string", - "description": "Error message returned if the function tag is in a FAILED state." - } - }, - "x-visibility": [ - "external" - ] - }, - "TagDownloadInfo": { - "type": "object", - "properties": { - "codeURL": { - "type": "string", - "description": "If true, includes a downloadURL in the response." - }, - "expiryTime": { - "type": "string", - "description": "Expiry timestamp for the codeURL." - } - }, - "description": "Download information for a function tag's code artifact.", - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionDeploymentRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the deployment." - }, - "description": { - "type": "string", - "description": "Description of the deployment." - }, - "functionID": { - "type": "string", - "description": "ID of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "functionEnvironmentID": { - "type": "string", - "description": "ID of the environment to deploy the function in." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionDeploymentResponse": { - "type": "object", - "properties": { - "functionDeploymentID": { - "type": "string", - "description": "ID of the function deployment." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "default": "NONE", - "description": "Status of the resource.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionEnvironmentRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the environment." - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EnvironmentVariable" - }, - "description": "Variables defined in the environment." - }, - "description": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionEnvironmentResponse": { - "type": "object", - "properties": { - "functionEnvironmentID": { - "type": "string", - "description": "ID of the environment." - }, - "functionEnvironmentName": { - "type": "string", - "description": "Name of the environment." - }, - "functionEnvironmentDescription": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionEnvironmentVariableRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the variable." - }, - "value": { - "type": "string", - "description": "Value of the variable." - }, - "type": { - "enum": [ - "NONE", - "PLAIN_TEXT", - "SECRET" - ], - "type": "string", - "default": "NONE", - "description": "Type of the variable.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionEnvironmentVariableResponse": { - "type": "object", - "properties": { - "functionEnvironmentID": { - "type": "string", - "description": "ID of the environment." - }, - "functionEnvironmentName": { - "type": "string", - "description": "Name of the environment." - }, - "functionEnvironmentDescription": { - "type": "string", - "description": "Description of the environment." - }, - "isDefault": { - "type": "boolean", - "description": "If true, sets the environment as the default for the account." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionRequest": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the function." - }, - "description": { - "type": "string", - "description": "Description of the function." - }, - "code": { - "type": "string", - "description": "Function code snippet as string." - }, - "functionConfigs": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HandlerConfig" - }, - "description": "Function handler configuration details." - }, - "functionDeployment": { - "$ref": "#/components/schemas/FunctionDeploymentConfig" - }, - "language": { - "$ref": "#/components/schemas/FunctionLanguage" - }, - "dependencies": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Required libraries for the function." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionResponse": { - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function." - }, - "name": { - "type": "string", - "description": "Name of the function." - }, - "versionTag": { - "type": "string", - "description": "Version of the function." - }, - "deploymentID": { - "type": "string", - "description": "ID of the function deployment." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionTagRequest": { - "required": [ - "ID" - ], - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the function tag." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "description": "Status of the specified tag.", - "format": "enum" - }, - "message": { - "type": "string", - "description": "Function tag message to include in the request." - } - }, - "x-visibility": [ - "external" - ] - }, - "UpdateFunctionTagResponse": { - "required": [ - "ID" - ], - "type": "object", - "properties": { - "ID": { - "type": "string", - "description": "ID of the tag." - }, - "status": { - "enum": [ - "NONE", - "CREATED", - "PENDING", - "ACTIVE", - "INACTIVE", - "ARCHIVED", - "DELETED" - ], - "type": "string", - "description": "Status of the tag.", - "format": "enum" - } - }, - "x-visibility": [ - "external" - ] - } - }, - "securitySchemes": { - "Bearer": { - "description": "Access token, prefixed by `Bearer `.", - "type": "http", - "scheme": "bearer", - "bearerFormat": "JWT" - } - }, - "parameters": { - "AccountID": { - "name": "X-Skyflow-Account-ID", - "description": "ID of the account.", - "in": "header", - "required": true, - "schema": { - "type": "string" - }, - "example": "f28e6956934711ebb5aa2624ddeb53e6" - } - } - } -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/SKILL.md b/skyflow-skills-plugin/skills/create-vault/SKILL.md deleted file mode 100644 index ddaefd4..0000000 --- a/skyflow-skills-plugin/skills/create-vault/SKILL.md +++ /dev/null @@ -1,349 +0,0 @@ ---- -name: create-vault -description: Create Skyflow vaults programmatically using the Management API, including schema design, template selection, and configuration of tokenization, redaction, and compliance settings. ---- - -# Create a Skyflow Vault - -This skill guides you through creating Skyflow vaults programmatically using an API-first approach. Skyflow vaults securely store and protect sensitive data with built-in tokenization, redaction, and compliance controls. - -## Overview - -There are three approaches to creating a vault: - -| Approach | When to Use | Method | -|----------|-------------|--------| -| **Template-based** | Quick start with standard use cases | List templates via API, then create vault with `templateID` | -| **Custom Schema** | You have a prepared schema definition | Create vault with `vaultSchema` JSON | -| **From Scratch** | Build iteratively, start minimal | Use `scratch-template.json` as starting point | - -## Prerequisites - -1. **Skyflow account**: [Sign up for a free trial](https://www.skyflow.com/try-skyflow) if needed - -2. **Bearer token**: Generate via Studio (Account icon > Generate API Bearer Token) or use service account authentication - -3. **Required tools**: Terminal with `bash`, `curl`, and `jq` - -4. **Environment variables**: Set these before running API commands: - -```bash -export MANAGEMENT_URL=https://manage.skyflowapis.com # or https://manage.skyflowapis-preview.com for staging -export ACCOUNT_ID= -export WORKSPACE_ID= -export TOKEN= -``` - -To find your Account ID and Workspace ID: In Studio, click **vault menu icon > View vault details**. - -## Workflow - -``` -1. Choose Approach ─> 2. Prepare Schema ─> 3. Create Vault ─> 4. Verify ─> 5. Access Controls - │ │ │ - ├─ Template ├─ Tables Note: Access controls - ├─ Custom JSON ├─ Fields require Studio UI - └─ From Scratch └─ Tags (tokenization, DLP, validation) -``` - -## Step 1: Choose a Creation Approach - -### Option A: Use a Template - -List available templates: - -```bash -curl -s -X GET "$MANAGEMENT_URL/v1/vault-templates?accountID=$ACCOUNT_ID" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" -``` - -Available templates: - -| Template | Tables | Relational | Use Case | -|----------|--------|------------|----------| -| Quickstart | 2 | No | Demo/testing (credit_cards, persons) | -| Payment | 7 | Yes | Payment processing | -| PIIData | 1 | No | General PII fields | -| CustomerIdentity | 4 | Yes | Customer data management | -| Plaid | 14 | No | Banking/financial integration | - -Create vault with template: - -```bash -export TEMPLATE_ID= -export VAULT_NAME= - -curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "name": "'"$VAULT_NAME"'", - "description": "Vault description", - "templateID": "'"$TEMPLATE_ID"'", - "workspaceID": "'"$WORKSPACE_ID"'" - }' -``` - -### Option B: Use a Custom Schema - -Create vault with your own schema JSON: - -```bash -curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d @schema.json -``` - -Where `schema.json` contains your vault schema (see Step 2 for structure). - -### Option C: Start from Scratch - -Use `vault-samples/scratch-template.json` as a minimal starting point, then modify as needed. - -## Step 2: Design Your Vault Schema - -### Schema Structure - -```json -{ - "name": "my_vault", - "description": "Vault description", - "vaultSchema": { - "schemas": [ - { - "name": "table_name", - "fields": [ - { - "name": "field_name", - "datatype": "DT_STRING", - "tags": [...] - } - ], - "childrenSchemas": [] - } - ], - "tags": [] - }, - "workspaceID": "" -} -``` - -### Data Types - -| Type | Constant | Description | -|------|----------|-------------| -| String | `DT_STRING` | Text data | -| Integer | `DT_INT32` | 32-bit integer | -| Float | `DT_FLOAT32` | 32-bit floating point | -| Boolean | `DT_BOOL` | true/false | -| Date | `DT_DATE` | Date (YYYY-MM-DD) | -| DateTime | `DT_DATETIME` | Timestamp | -| Time | `DT_TIME` | Time value | -| File | `DT_FILE` | Binary file data | -| Enum | Use with `predefinedvalues` tag | Enumerated values | - -### Naming Rules - -- Use **lowercase** alphanumeric characters, underscores, and hyphens only -- No spaces in vault names -- Avoid SQL reserved keywords (SELECT, FROM, WHERE, etc.) -- Avoid policy reserved keywords - -## Step 3: Configure Field Tags - -Tags define field behaviors for tokenization, redaction, validation, and compliance. - -### Tokenization Tags - -**Tag:** `skyflow.options.default_token_policy` - -| Value | Description | -|-------|-------------| -| `DETERMINISTIC_UUID` | Same value always generates same UUID token | -| `DETERMINISTIC_FPT` | Same value generates same format-preserving token | -| `FORMAT_PRESERVING_TOKEN` | Token matches regex format | -| `RANDOM_TOKEN` | Random token, not derived from data | -| `NON_DETERMINISTIC_UUID` | Different UUID each time | -| `NON_DETERMINISTIC_TRANSIENT_UUID` | Temporary token with TTL | - -For format-preserving tokens, also set: -- `skyflow.options.format_preserving_regex` - Regex defining token format - -For transient tokens, also set: -- `skyflow.options.ttl` - Time-to-live in minutes (1-20160, default 60) - -### Redaction (DLP) Tags - -**Tag:** `skyflow.options.default_dlp_policy` - -| Value | Description | -|-------|-------------| -| `PLAIN_TEXT` | No redaction (use only for non-sensitive fields) | -| `REDACT` | Completely redacted (shows "REDACTED") | -| `MASK` | Partially masked based on find/replace patterns | - -For masking, also set: -- `skyflow.options.find_pattern` - Regex to find values to mask -- `skyflow.options.replace_pattern` - Replacement pattern (e.g., `XXX${1}XX${2}`) - -### Validation Tags - -| Tag | Description | -|-----|-------------| -| `skyflow.validation.regular_exp` | Regex pattern for input validation | -| `skyflow.validation.predefinedvalues` | List of allowed enum values | - -### Compliance Tags - -| Tag | Values | -|-----|--------| -| `skyflow.options.sensitivity` | `HIGH`, `MEDIUM`, `LOW` | -| `skyflow.options.identifiability` | `HIGH_IDENTIFIABILITY`, `MODERATE_IDENTIFIABILITY`, `LOW_IDENTIFIABILITY` | -| `skyflow.options.privacy_law` | `GDPR`, `CCPA`, `HIPAA`, `COPPA`, `GLBA` | -| `skyflow.options.personal_information_type` | `PII`, `PHI`, `PCI`, `NPI` | - -### Configuration Tags - -**Tag:** `skyflow.options.configuration_tags` - -| Value | Description | -|-------|-------------| -| `UNIQUE` | Values must be unique | -| `NOT_NULL` | Field cannot be null | -| `NULLABLE` | Field can be null | -| `INDEX` | Field is indexed | -| `PRIMARY_KEY` | Primary key field | -| `FOREIGN_KEY` | Foreign key reference | - -### Encrypted Operations - -**Tag:** `skyflow.options.operation` - -| Value | Enables | -|-------|---------| -| `EXACT_MATCH` | Equality queries (`WHERE email = 'x'`) | -| `AGGREGATION` | AVG, COUNT, MAX, MIN, SUM | -| `ORDER` | Comparison operators, ORDER BY | -| `ALL_OP` | All operations (not encrypted - use only for non-sensitive data) | - -### Example: SSN Field with Full Configuration - -```json -{ - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { "name": "skyflow.options.data_type", "values": ["skyflow.SSN"] }, - { "name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_FPT"] }, - { "name": "skyflow.options.format_preserving_regex", "values": ["^[0-9]{3}-[0-9]{2}-([0-9]{4})$"] }, - { "name": "skyflow.options.default_dlp_policy", "values": ["MASK"] }, - { "name": "skyflow.options.find_pattern", "values": ["^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$"] }, - { "name": "skyflow.options.replace_pattern", "values": ["XXX${1}XX${2}${3}"] }, - { "name": "skyflow.validation.regular_exp", "values": ["^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$"] }, - { "name": "skyflow.options.sensitivity", "values": ["HIGH"] }, - { "name": "skyflow.options.privacy_law", "values": ["GDPR", "CCPA", "HIPAA"] }, - { "name": "skyflow.options.personal_information_type", "values": ["PII"] }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] } - ] -} -``` - -## Step 4: Create the Vault - -Run the API call from Step 1 (template or custom schema approach). The response returns the `vaultID` on success. - -## Step 5: Verify and Test - -### Get Vault Details - -```bash -export VAULT_ID= - -curl -s -X GET "$MANAGEMENT_URL/v1/vaults/$VAULT_ID/" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Authorization: Bearer $TOKEN" -``` - -### Update Vault Schema - -```bash -curl -s -X PATCH "$MANAGEMENT_URL/v1/vaults/$VAULT_ID" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "vaultSchema": { - "schemas": [...], - "tags": [...] - } - }' -``` - -**Note:** You cannot rename or change a column's data type if it contains data. You can always add new columns. - -## Step 6: Configure Access Controls - -Access control configuration **requires Studio UI**. Navigate to your vault and click **Access** in the side navigation. - -### Default Roles - -| Role | Permissions | -|------|-------------| -| **Vault Owner** | Full access including plain text reads, manage service accounts/roles/policies | -| **Vault Editor** | Create, update, delete records with default redaction | -| **Vault Viewer** | Read-only with default redaction | - -For custom roles and policies, see Data Governance documentation. - -## Sample Schemas - -Reference these samples in `vault-samples/` for common patterns: - -| Sample | Use Case | Description | -|--------|----------|-------------| -| `quickstart.json` | Demo/testing | 2 tables (credit_cards, persons) with comprehensive tag examples | -| `payment.json` | Payment processing | 7 relational tables for full payment flow | -| `customer_identity.json` | Customer data | 4 relational tables (persons, identifiers, contacts, organizations) | -| `pii_data.json` | General PII | Single table with common PII fields | -| `plaid.json` | Banking integration | 14 tables for Plaid API compatibility | -| `scratch-template.json` | Starting point | Minimal blank template | - -## Schema Validation - -- Maximum schema size: **15 MB** -- JSON format required -- Every table automatically includes a `skyflow_id` primary key field -- At least one table required - -Use `vault-schema-schemas/catalogue-vault-schema.json` for JSONSchema validation. - -## Studio-Only Operations - -These operations currently require the Studio UI: - -- Creating custom roles and policies -- Managing service accounts -- Viewing audit logs -- Initial bearer token generation (manual) -- Visual drag-and-drop schema editing - -## Troubleshooting - -| Error | Cause | Solution | -|-------|-------|----------| -| 401 Unauthorized | Invalid or expired token | Regenerate bearer token | -| 400 Bad Request | Invalid schema JSON | Validate against JSONSchema | -| 409 Conflict | Vault name already exists | Use a unique vault name | -| Reserved keyword error | SQL/policy keyword in name | Rename table or column | -| Cannot modify column | Column contains data | Create a new column instead | - -## Related Documentation - -- [vault-settings.md](vault-settings.md) - Complete tag reference with all 28+ configuration options -- [unique-columns-upsert.md](unique-columns-upsert.md) - Unique column constraints and upsert operations -- [create-a-vault.md](create-a-vault.md) - Full Skyflow documentation on vault creation diff --git a/skyflow-skills-plugin/skills/create-vault/create-a-vault.md b/skyflow-skills-plugin/skills/create-vault/create-a-vault.md deleted file mode 100644 index 9a932c0..0000000 --- a/skyflow-skills-plugin/skills/create-vault/create-a-vault.md +++ /dev/null @@ -1,484 +0,0 @@ ---- -source: docs.skyflow.com -url: https://docs.skyflow.com/docs/vaults/create-a-vault.md -retrieved_on: 2026-01-29 -topics: [vault, management] ---- - -# Create a vault - -This guide helps you create your first Skyflow vault. You can use Studio or APIs to access the Quickstart vault, create a vault with a template, or create a custom vault. - -## Prerequisites - - - - * [Sign in](/docs/resources/sign-in) to your Skyflow account. If you don't have an account, - [sign up for a free trial](https://www.skyflow.com/try-skyflow). - - - - * [Sign in](/docs/resources/sign-in) to your Skyflow account. If you don't have an account, - [sign up for a free trial](https://www.skyflow.com/try-skyflow). - - * A bearer token to authenticate API calls. For a short-lived token, use the following process. To generate tokens from service accounts, see [Authenticate](/docs/fundamentals/api-authentication). - - [comment]: # "test {\"id\":\"bearer-token-studio\", \"setup\":\"../tests/studio-setup.spec.json\"} " - - [comment]: # "step { \"description\": \"Go to Studio.\", \"action\": \"goTo\", \"url\": \"$STUDIO_URL\" }" - - [comment]: # "step { \"id\": \"96619978-b415-4235-81dd-2a8ca3fa5826\", \"description\": \"Click account icon\", \"action\": \"find\", \"selector\": \"[data-testid=main-avatar-icon]\", \"click\":true }" - - 1. In Studio, click your account icon and choose **Generate API Bearer Token**. - - [comment]: # "step { \"id\": \"96619978-b415-4235-81dd-2a8ca3fa5826\", \"description\": \"Click menu item\", \"action\": \"find\", \"selector\": \"[data-testid=menu-item-2]\", \"matchText\": \"Generate API Bearer Token\", \"click\":true }" - - 2. Click **Generate Token**. - - [comment]: # "step { \"id\": \"96619978-b415-4235-81dd-2a8ca3fa5826\", \"description\": \"Click Generate Token button\", \"action\": \"find\", \"selector\": \"[data-testid=save-btn]\", \"matchText\": \"Generate Token\", \"click\":true }" - - * A device with the following tools available: - * A terminal that can run `bash` commands - * `curl` - * [`jq`](https://stedolan.github.io/jq/) 1.6 or greater - - * Skyflow account, vault, and workspace details: - 1. In Studio, click **vault menu icon > View vault details**. - 2. Note your **Account ID**, **Vault ID**, and **Vault URL** values. - - * Your environment's Management API URL: - * Trial or Production: `https://manage.skyflowapis.com` - * Staging: `https://manage.skyflowapis-preview.com` - - * Set environment variables for your account and vault details: - - ```bash - export MANAGEMENT_URL=$MANAGEMENT_URL - export ACCOUNT_ID=$ACCOUNT_ID - export TOKEN=$TOKEN - export WORKSPACE_ID=$WORKSPACE_ID - export VAULT_NAME=$VAULT_NAME - export SCHEMA=$SCHEMA - export TAGS=$TAGS - ``` - - - -## Create a Quickstart vault - -The Quickstart vault is a template that any Skyflow account can access. It is designed to help you get started with Skyflow APIs. - -If you have a trial account, a Quickstart vault is automatically created for you. If you don't see the Quickstart vault, you can create one from the Vault Dashboard. - -1. Click **Add vault**. -2. Click **Start with a template**, then click **Quickstart**. -3. Click **Create**. - -The Quickstart vault uses a simple schema with two tables, `credit_cards` and `persons`, and populates the tables with the applicable records. - -## Start with a template - -Skyflow offers pre-built vault templates based on popular use cases that you can use as a starting point for your vault. For example, the Payments vault template stores data about credit cards, credit scores, and customer PII. - -The following table details the available templates. - -| Template | Edit schema | Data | Table count | Relational | Tables | -| ---------------- | ----------- | ---- | ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Quickstart | Yes\* | Yes | 2 | No | Credit Card, Persons | -| Payment | Yes | No | 7 | Yes | Consumers, Alloy kyc, Cards, Transactions, Bank Accounts, Financial Service Providers, Merchants | -| PIIData | Yes | No | 1 | No | PII fields | -| CustomerIdentity | Yes | No | 4 | Yes | Persons, Identifiers, Contacts, Organizations | -| Plaid | Yes | No | 14 | No | Accounts, Numbers SCH, Liabilities Mortgage, Liabilities Student, Holdings, Liabilities APRS, Balances, Owners Email, Owners Names, Owners Phone Numbers, Owners Addresses, Users, Transactions, Credentials | - - - **Note** - - : You can't change fields containing data. - - - - - Create a vault using a template from the vault dashboard. - - 1. Click **Create Vault**. - 2. Click **Start With A Template**. - 3. Choose your preferred template for the vault. - 4. Click **Create**. - - - - To create a vault using a template, call [List Vault Templates](/api/management/vault-templates/vault-template-service-list-vault-templates) to retrieve the available templates. - - ```bash - curl -s -X GET "$MANAGEMENT_URL/v1/vault-templates?accountID=$ACCOUNT_ID" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" - ``` - - The response returns a list of templates. - - Update your environment variables to include the `templateID`: - - ```bash - export TEMPLATE_ID=$TEMPLATE_ID - ``` - - Run the following command to create a vault with a template: - - ```bash - curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "name": "'"$VAULT_NAME"'", - "description": "$DESCRIPTION", - "templateID": "'"$TEMPLATE_ID"'", - "workspaceID": "'"$WORKSPACE_ID"'" - }' - ``` - - The response returns the `vaultID`. - - - -## Create a vault schema - -You can create a vault by uploading a vault schema directly to Skyflow. Schema files must be in JSON format and can't exceed 15 MB. Visit the list of [Vault settings](/docs/vaults/vault-settings) to set your schema accordingly. - -The following example is a sample schema: - -```json -{ - "name": "simpleVaultExample", - "description": "A vault with 1 table", - "vaultSchema": { - "schemas": [ - { - "name": "table_1", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING" - }, - { - "name": "age", - "datatype": "DT_INT32" - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "FORMAT_PRESERVING_TOKEN" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - } - ] - }, - { - "name": "marital_status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_MARITAL_STATUS", - "ANNULLED", - "DIVORCED", - "SEPARATED", - "MARRIED", - "UNMARRIED", - "WIDOWED" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "RANDOM_TOKEN" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "description": "", - "fields": [ - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "RANDOM_TOKEN" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [] - } - ] - } - ] - } - ] - }, - "workspaceID": "z10198d5553411def9f2360c609gt3yx" -} -``` - -## Create a custom vault - -To create a custom vault, you can start from scratch or upload your schema file directly to Skyflow. - - - **Note** - - : You can't use spaces and underscores in the Vault Name. - - - - - Complete the following steps to create a custom vault. - - 1. Sign in to Studio. - 2. Click **Add vault** > **Create a custom vault**. - 3. For **Vault Name**, enter a name for your vault. - 4. Click **Create Vault**. - - Your vault opens to **EDIT SCHEMA MODE**. - - - - Run the following command to upload your schema: - - ```bash - curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "name": "'"$VAULT_NAME"'", - "vaultSchema": { - "schema": "'"$SCHEMA"'", - "tags": "'"$TAGS"'" - } - }' - ``` - - - -## Edit the vault schema - -The vault schema specifies the tables and columns for storing data and their respective data types and includes extra functionalities that detail privacy-preserving techniques for each column. When creating a vault, it generates a default single-table setup that you can rename. Every vault must have at least one table, and all tables contain a permanent "skyflow\_id" column that you can't alter. - - - **Note**: The applicable tables display when you use a template or upload your - schema. - - -If you want to edit your schema after creating the vault, you can return to the schema editing mode by completing the following steps. - - - **Note**: When editing a vault's schema, some operations are inactive if there - is data in the column. For example, you can't rename or change a column's data - type if it has data. You can always add new columns. - - - - **Warning:** If you rename a column or table, any policies that - reference the old name will no longer work correctly. Policies use explicit - `table.column` references and are not automatically updated when you change - the schema. After renaming columns or tables, review and update your - [policies](/docs/governance/policies/catalog) to use the new names. - - - - - 1. Sign in to Studio. - 2. Click the vault for which you want to edit the schema. - 3. Click **Edit Schema**. - - If you want to edit a particular column, complete the following steps: - - 1. Click the dropdown arrow next to the column you want to edit. - 2. Click **Edit column**. - - - - When you create a vault or edit a vault's schema, there are various [settings](/docs/vaults/vault-settings) (represented as tags in the [Management API](/api/management)) that define field behaviors. - - To return the latest vault schema, run the following command: - - ```bash - curl -s -X GET "$MANAGEMENT_URL/v1/vaults/$VAULT_ID/" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" - -H "Content-Type: application/json" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - ``` - - Using the returned `schema` and `tags`, your vault schema accordingly. - - Run the following command to update your vault with the new schema: - - ```bash - curl -s -X PATCH "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Accept: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d'{ - "vaultSchema": { - "schemas": "'"$SCHEMAS"'", - "tags": "'"$TAGS"'" - } - }' - ``` - - - **Note**: When you edit the vault schema, the system disables some operations - if the column contains data. For example, you can't rename or change a - column's data type if it has data. However, you can always add new columns. - - - - -### Reserved keywords - -When you create or edit a vault, you need to follow Skyflow's rules for column and table names. - -**No capital letters or special characters**: Use lowercase alphanumeric characters (a-z, 0-9), underscores (\_), and hyphens (-) for column and table names. - -**No SQL keywords**: Use of SQL keywords as column or table names is forbidden. SQL reserves keywords for specific purposes in the language, and using them as identifiers can lead to syntax errors and unexpected behavior. Refer to the SQL documentation or a reliable SQL reference guide to familiarize yourself with the reserved keywords list. - -**No policy keywords**: When you create your vault, you set roles and policies for specific data access and security purposes. In addition to SQL keywords, you can't use policy-specific keywords as column or table names. - -### Add columns with basic data types - -When adding columns, you can choose between two data types: - -**Skyflow Data Types**: Common PII elements defined by Skyflow for your convenience - -**Basic Data Types**: Standard database types like integers and strings - -Let's start by adding a basic data type column to the table. Click **New Column**, select the **Basic Data Types** tab, and pick a data type, like string. - -Now you can configure the settings for the new column: - -* On the **General tab**, you can add information about the column, like the name, description, column group, data type, and any regex validations that apply to the column. -* On the **Tokens tab**, you can specify which type of non-sensitive tokens you want to generate for values in the column. -* On the **Redaction tab**, you can choose how this column should be redacted by default. You also have the option to specify a masking format for the column. -* On the **Encryption tab**, you can configure column-level encryption and which encrypted operations you want to enable for the column. - * If you use column-level encryption, you must enable certain encrypted operations before performing them on that column. - - | Encrypted operation | Enables | - | ------------------- | ------------------------- | - | Exact match | = | - | Aggregation | AVG, COUNT, MAX, MIN, SUM | - | Comparison | >, \<, ORDER BY | - - * If you don't use column-level encryption, you can perform all operations on the column. Note that [substring matching](/docs/vaults/query-data#substring-matching) with the `LIKE` and `ILIKE` requires additional configuration. - - **Note**: You can't change encryption settings after you insert data into - the column. - - -When you're done, click **Create column** to add it to your schema. - -### Add columns with Skyflow data types - -Now, let's create a column with a Skyflow data type. Click **New column**, select the **Skyflow Data Types** tab, and choose **Social Security Number**. - -Skyflow data types pre-configure field settings, such as the data validation on the General tab and the masking format on the Redaction tab. You can alter these settings, including the column name, then click Create column to add it to your schema. - -When you're done building your schema, click **Save**. - -## Configure access controls - -To configure access to your vault, click **Access** in the side navigation. - -The Access section has three tabs: **Roles**, **People**, and **Service accounts**. - -* *People* (users) and *service accounts* are two types of identities that can access your vault: People are human accounts and service accounts are for machine access (For example, if an application backend wants to access the vault). -* *Roles* define what and how each identity can access aspects of your vault. By default, there are three roles defined for a vault: Vault Owner, Vault Editor, and Vault Viewer. Each of these roles has attached *policies* that specify the role's permissions. - -The table below summarizes the permissions for each role: - -| | Vault Viewer | Vault Editor | Vault Owner | -| --------------------------------------------- | ------------ | ------------ | ----------- | -| Read records with the default redaction level | ✅ | ✅ | ✅ | -| Create, update, & delete records | | ✅ | ✅ | -| Read records in plain text | | | ✅ | -| Create, update, & delete service accounts | | | ✅ | -| Create, update, & delete roles & policies | | | ✅ | - -You can also define custom roles and policies. See [Data governance](/docs/governance/overview). - -## Next steps - -Learn more about [vault settings](/docs/vaults/vault-settings), [explore what Skyflow can do](/docs/fundamentals/explore-skyflow), or learn how to [authenticate with Skyflow](/docs/fundamentals/api-authentication). diff --git a/skyflow-skills-plugin/skills/create-vault/unique-columns-upsert.md b/skyflow-skills-plugin/skills/create-vault/unique-columns-upsert.md deleted file mode 100644 index 4e9067a..0000000 --- a/skyflow-skills-plugin/skills/create-vault/unique-columns-upsert.md +++ /dev/null @@ -1,306 +0,0 @@ -# Unique columns and upsert - -The Skyflow Data Privacy Vault lets you specify columns as `unique` in the schema and then use values in that column to identify existing records. Every value you insert must be unique within the column once you enable uniqueness for a column. When you want to capture data in the vault, you can make a request to the Skyflow API and include an `upsert` value. Upsert uses the unique column value to verify if a record already exists. If the record doesn't exist, upsert inserts a new record. If the record does exist, upsert updates the record with new values. - -## Columns with a unique constraint - -The uniqueness of columns enhances your vault schema by eliminating the chance of duplicating data. For instance, consider a table that stores employee data. Each record has a name, date of birth, and phone number, but those values aren't unique, as there can be multiple records with the same name or date of birth. - - - \| FirstName | LastName | DateOfBirth | PhoneNumber | | --- | --- | --- | --- | - \| Ashley | Rogers | 1/21/2001 | 123-456-7890 | | Travis | Rogers | 5/5/2001 | - 456-789-0123 | | Michelle | Wilson | 1/21/2001 | 789-012-3456 | - - -By adding a new column, employeeID, you can enable a uniqueness constraint and enforce that values in this column are unique to each record. - - - \| FirstName | LastName | DateOfBirth | PhoneNumber | EmployeeID | | --- | --- - \| --- | --- | --- | | Ashley | Rogers | 1/21/2001 | 123-456-7890 | 2A1B | | - Travis | Rogers | 5/5/2001 | 456-789-0123 | 3C4D | | Michelle | Wilson | - 1/21/2001 | 789-012-3456 | 5E6F | - - -If your request has a unique value that duplicates an existing value, the Insert Record API call fails, returns an error message, and doesn't insert the data. However, if you want to update the existing value, you can do so in one call using upsert. Similarly, if you want to retrieve a record with a unique value, you can use the unique value in your [Get Records by Unique](/api/data/records/get-records) call. - -### Create a column with a uniqueness constraint - -You can enable uniqueness on any number of columns in a table and specify one column and value to use in your API requests. With your input, your vault automatically updates, inserts, or rejects requests based on the uniqueness constraint of a column and the unique value you identified in your API call. - - - You can't add the unique constraint to columns with existing data. If you have - an existing column that you want to make unique, you'll need to add a new - column with the unique constraint and migrate your data to the new column. - - - - - 1. From your Studio dashboard, click **Create a vault**. - 2. Select the option for **Start from Scratch**. - 3. After your vault schema opens, press the tab **New Column**. - 4. Search for or select the **Skyflow Data Types** you want to capture. - 5. On the configuration screen, turn on **Unique** to enable the setting. - - - Enabling the Unique setting for a new column in Studio. - - - - - Set environment variables by updating the following command with your values and running it in a terminal: - - ```bash - export ACCOUNT_ID=$ACCOUNT_ID - export WORKSPACE_ID=$WORKSPACE_ID - export MANAGEMENT_URL=$MANAGEMENT_URL - export TOKEN=$TOKEN - ``` - - ```bash - curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "Content-Type: application/json" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "name": "Custom vault", - "description": "A custom vault containing a column with a uniqueness constraint.", - "vaultSchema": { - "schemas": [ - - { - "ID": "b4fa1e03d9d34e5c9d66c70083432b47", - "name": "employee_data", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow-defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "employee_name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of employee" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "employee_name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "ein", - "datatype": "DT_STRING", - "isArray": false, - "isUnique": true, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Employee ID number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ein" - ] - } - - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - } - ], - "tags": [] - }, - "workspaceID": "'"$WORKSPACE_ID"'" - }' - ``` - - - -## Upsert - -Upsert is a single-step operation that combines two common requests: update a record if it exists, or if it doesn't, insert a new record. When you make a request to insert a record, upsert accepts a column with a uniqueness constraint and a unique value in that column. If the value matches a record in your table, the upsert operation updates the existing record with the values you provided in the request body. If the value doesn't exist, upsert inserts the given values. - -### Upsert records - -You can make upsert calls via an API or an SDK. - - - - Set environment variables by updating the following command with your values and running it in a terminal: - - ```bash - export ACCOUNT_ID=$ACCOUNT_ID - export TOKEN=$TOKEN - export VAULT_URL=$VAULT_URL - export VAULT_ID=$VAULT_ID - export TABLE_NAME=$TABLE_NAME - ``` - - ```bash - curl -s -X POST \ - "$VAULT_URL/v1/vaults/$VAULT_ID/$TABLE_NAME" \ - -H "Authorization: Bearer $TOKEN" \ - -H "content-type: application/json" \ - -d '{ - "records": [ - { - "fields": { - "ein": "2A1B", - "employee_name": "Ashley Rogers", - "Department": "English" - } - } - ], - "tokenization": true, - "upsert": "ein" - }' - ``` - - Skyflow returns tokens for the record you just inserted. - - ```json - { - "records": [ - { - "table": "employees", - "fields": { - "ein": "1989cb56-63a-4482-adf-1f74cd1a5", - "employee_name": "f37186-e7e2-466f-91e5-48e2bcbc1" - } - } - ] - } - ``` - - - - The [Node.JS SDK](https://github.com/skyflowapi/skyflow-node#insert) closely resembles the following JavaScript SDK example. - - ```js - const records = { - records: [ - { - table: "string", // Table name for record insertion. - fields: { - column1: "value", // Column names should match vault column names. - //...additional fields here. - }, - }, - // ...additional records here. - ], - }; - - const options = { - tokens: true, // Indicates whether to return tokens for the inserted data. Defaults to 'true.' - upsert: [ - // Upsert operations support in the vault. - { - table: "string", // Table name. - column: "value", // Unique column in the table. - }, - ], - }; - - skyflowClient.insert(records, options); - ``` - - - -## Next steps - -Unique columns and upsert requests are powerful features that help to eliminate the risk of duplicating records and let you perform inserts or updates in one call. Continue exploring [data privacy vaults](/docs/vaults/create-a-vault#create-a-vault), or learn more about integrating this solution with [client-side SDKs](/docs/sdks/handling-data-client-side). diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/customer_identity.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/customer_identity.json deleted file mode 100644 index d11d976..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/customer_identity.json +++ /dev/null @@ -1,8539 +0,0 @@ -{ - "schemas": [ - { - "name": "persons", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "persons.identifiers_skyflow_id=identifiers.skyflow_id", - "persons.contacts_skyflow_id=contacts.skyflow_id" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Date of Birth of the person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DOB" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Date of Birth" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "gender", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Gender of the person" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Gender" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED", - "MALE", - "FEMALE", - "NON_BINARY", - "TRANSGENDER_MALE", - "TRANSGENDER_FEMALE", - "OTHER", - "NON_DISCLOSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Gender" - ] - } - ] - }, - { - "name": "race", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Race of the person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Race" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_RACE", - "AMERICAN_INDIAN_OR_ALASKA_NATIVE", - "AMERICAN_INDIAN", - "ABENAKI", - "ALGONQUIAN", - "APACHE", - "CHIRICAHUA", - "FORT_SILL_APACHE", - "JICARILLA_APACHE", - "LIPAN_APACHE", - "MESCALERO_APACHE", - "OKLAHOMA_APACHE", - "PAYSON_APACHE", - "SAN_CARLOS_APACHE", - "WHITE_MOUNTAIN_APACHE", - "ARAPAHO", - "NORTHERN_ARAPAHO", - "SOUTHERN_ARAPAHO", - "WIND_RIVER_ARAPAHO", - "ARIKARA", - "ASSINIBOINE", - "ASSINIBOINE_SIOUX", - "FORT_PECK_ASSINIBOINE_SIOUX", - "BANNOCK", - "BLACKFEET", - "BROTHERTON", - "BURT_LAKE_BAND", - "CADDO", - "OKLAHOMA_CADO", - "CAHUILLA", - "AGUA_CALIENTE_CAHUILLA", - "AUGUSTINE", - "CABAZON", - "LOS_COYOTES", - "MORONGO", - "SANTA_ROSA_CAHUILLA", - "TORRES_MARTINEZ", - "CALIFORNIA_TRIBES", - "CAHTO", - "CHIMARIKO", - "COAST_MIWOK", - "DIGGER", - "KAWAIISU", - "KERN_RIVER", - "MATTOLE", - "RED_WOOD", - "SANTA_ROSA", - "TAKELMA", - "WAPPO", - "YANA", - "YUKI", - "CANADIAN_AND_LATIN_AMERICAN_INDIAN", - "CANADIAN_INDIAN", - "CENTRAL_AMERICAN_INDIAN", - "FRENCH_AMERICAN_INDIAN", - "MEXICAN_AMERICAN_INDIAN", - "SOUTH_AMERICAN_INDIAN", - "SPANISH_AMERICAN_INDIAN", - "CATAWBA", - "ALATNA", - "ALEXANDER", - "ALLAKAKET", - "ALANVIK", - "ANVIK", - "ARCTIC", - "BEAVER", - "BIRCH_CREEK", - "CANTWELL", - "CHALKYITSIK", - "CHICKALOON", - "CHISTOCHINA", - "CHITINA", - "CIRCLE", - "COOK_INLET", - "COPPER_CENTER", - "COPPER_RIVER", - "DOT_LAKE", - "DOYON", - "EAGLE", - "EKLUTNA", - "EVANSVILLE", - "FORT_YUKON", - "GAKONA", - "GALENA", - "GRAYLING", - "GULKANA", - "HEALY_LAKE", - "HOLY_CROSS", - "HUGHES", - "HUSLIA", - "ILIAMNA", - "KALTAG", - "KLUTI_KAAH", - "KNIK", - "KOYUKUK", - "LAKE_MINCHUMINA", - "LIME", - "MCGRATH", - "MANLEY_HOT_SPRINGS", - "MENTASTA_LAKE", - "MINTO", - "NENANA", - "NIKOLAI", - "NINILCHIK", - "NONDALTON", - "NORTHWAY", - "NULATO", - "PEDRO_BAY", - "RAMPART", - "RUBY", - "SALAMATOF", - "SELDOVIA", - "SLANA", - "SHAGELUK", - "STEVENS", - "STONY_RIVER", - "TAKOTNA", - "TANACROSS", - "TANAINA", - "TANANA", - "TANANA_CHIEFS", - "TAZLINA", - "TELIDA", - "TETLIN", - "TOK", - "TYONEK", - "VENETIE", - "WISEMAN", - "CAYUSE", - "CHEHALIS", - "CHEMAKUAN", - "HOH", - "QUILEUTE", - "CHEMEHUEVI", - "CHEROKEE", - "CHEROKEE_ALABAMA", - "CHEROKEES_OF_NORTHEAST_ALABAMA", - "CHEROKEES_OF_SOUTHEAST_ALABAMA", - "EASTERN_CHEROKEE", - "ECHOTA_CHEROKEE", - "ETOWAH_CHEROKEE", - "NORTHERN_CHEROKEE", - "TUSCOLA", - "UNITED_KEETOWAH_BAND_OF_CHEROKEE", - "WESTERN_CHEROKEE", - "CHEROKEE_SHAWNEE", - "CHEYENNE", - "NORTHERN_CHEYENNE", - "SOUTHERN_CHEYENNE", - "CHEYENNE_ARAPAHO", - "CHICKAHOMINY", - "EASTERN_CHICKAHOMINY", - "WESTERN_CHICKAHOMINY", - "CHICKASAW", - "CHINOOK", - "CLATSOP", - "COLUMBIA_RIVER_CHINOOK", - "KATHLAMET", - "UPPER_CHINOOK", - "WAKIAKUM_CHINOOK", - "WILLAPA_CHINOOK", - "WISHRAM", - "CHIPPEWA", - "BAD_RIVER", - "BAY_MILLS_CHIPPEWA", - "BOIS_FORTE", - "BURT_LAKE_CHIPPEWA", - "FOND_DU_LAC", - "GRAND_PORTAGE", - "GRAND_TRAVERSE_BAND_OF_OTTAWA_CHIPPEWA", - "KEWEENAW", - "LAC_COURTE_OREILLES", - "LAC_DU_FLAMBEAU", - "LAC_VIEUX_DESERT_CHIPPEWA", - "LAKE_SUPERIOR", - "LEECH_LAKE", - "LITTLE_SHELL_CHIPPEWA", - "MILLE_LACS", - "MINNESOTA_CHIPPEWA", - "ONTONAGON", - "RED_CLIFF_CHIPPEWA", - "RED_LAKE_CHIPPEWA", - "SAGINAW_CHIPPEWA", - "ST_CROIX_CHIPPEWA", - "SAULT_STE_MARIE_CHIPPEWA", - "SOKOAGON_CHIPPEWA", - "TURTLE_MOUNTAIN", - "WHITE_EARTH", - "CHIPPEWA_CREE", - "ROCKY_BOYS_CHIPPEWA_CREE", - "CHITIMACHA", - "CHOCTAW", - "CLIFTON_CHOCTAW", - "JENA_CHOCTAW", - "MISSISSIPPI_CHOCTAW", - "MOWA_BAND_OF_CHOCTAW", - "OKLAHOMA_CHOCTAW", - "CHUMASH", - "SANTA_YNEZ", - "CLEAR_LAKE", - "COEUR_DALENE", - "COHARIE", - "COLORADO_RIVER", - "COLVILLE", - "COMANCHE", - "OKLAHOMA_COMANCHE", - "COOS_LOWER_UMPQUA_SIUSLAW", - "COOS", - "COQUILLES", - "COSTANOAN", - "COUSHATTA", - "ALABAMA_COUSHATTA", - "COWLITZ", - "CREE", - "CREEK", - "ALABAMA_CREEK", - "ALABAMA_QUASSARTE", - "EASTERN_CREEK", - "EASTERN_MUSCOGEE", - "KIALEGEE", - "LOWER_MUSCOGEE", - "MACHIS_LOWER_CREEK_INDIAN", - "POARCH_BAND", - "PRINCIPAL_CREEK_INDIAN_NATION", - "STAR_CLAN_OF_MUSCOGEE_CREEKS", - "THLOPTHLOCCO", - "TUCKABACHEE", - "CROATAN", - "CROW", - "CUPENO", - "AGUA_CALIENTE", - "DELAWARE", - "EASTERN_DELAWARE", - "LENNI_LENAPE", - "MUNSEE", - "OKLAHOMA_DELAWARE", - "RAMPOUGH_MOUNTAIN", - "SAND_HILL", - "DIEGUENO", - "CAMPO", - "CAPITAN_GRANDE", - "CUYAPAIPE", - "LA_POSTA", - "MANZANITA", - "MESA_GRANDE", - "SAN_PASQUAL", - "SANTA_YSABEL", - "SYCUAN", - "EASTERN_TRIBES", - "ATTACAPA", - "BILOXI", - "GEORGETOWN", - "MOOR", - "NANSEMOND", - "NATCHEZ", - "NAUSU_WAIWASH", - "NIPMUC", - "PAUGUSSETT", - "POCOMOKE_ACOHONOCK", - "SOUTHEASTERN_INDIANS", - "SUSQUEHANOCK", - "TUNICA_BILOXI", - "WACCAMAW_SIOUSAN", - "WICOMICO", - "ESSELEN", - "FORT_BELKNAP", - "FORT_BERTHOLD", - "FORT_MCDOWELL", - "FORT_HALL", - "GABRIELENO", - "GRAND_RONDE", - "GROS_VENTRES", - "ATSINA", - "HALIWA", - "HIDATSA", - "HOOPA", - "TRINITY", - "WHILKUT", - "HOOPA_EXTENSION", - "HOUMA", - "INAJA_COSMIT", - "IOWA", - "IOWA_OF_KANSAS_NEBRASKA", - "IOWA_OF_OKLAHOMA", - "IROQUOIS", - "CAYUGA", - "MOHAWK", - "ONEIDA", - "ONONDAGA", - "SENECA", - "SENECA_NATION", - "SENECA_CAYUGA", - "TONAWANDA_SENECA", - "TUSCARORA", - "WYANDOTTE", - "JUANENO", - "KALISPEL", - "KARUK", - "KAW", - "KICKAPOO", - "OKLAHOMA_KICKAPOO", - "TEXAS_KICKAPOO", - "KIOWA", - "OKLAHOMA_KIOWA", - "KLALLAM", - "JAMESTOWN", - "LOWER_ELWHA", - "PORT_GAMBLE_KLALLAM", - "KLAMATH", - "KONKOW", - "KOOTENAI", - "LASSIK", - "LONG_ISLAND", - "MATINECOCK", - "MONTAUK", - "POOSPATUCK", - "SETAUKET", - "LUISENO", - "LA_JOLLA", - "PALA", - "PAUMA", - "PECHANGA", - "SOBOBA", - "TWENTY_NINE_PALMS", - "TEMECULA", - "LUMBEE", - "LUMMI", - "MAIDU", - "MOUNTAIN_MAIDU", - "NISHINAM", - "MAKAH", - "MALISEET", - "MANDAN", - "MATTAPONI", - "MENOMINEE", - "MIAMI", - "ILLINOIS_MIAMI", - "INDIANA_MIAMI", - "OKLAHOMA_MIAMI", - "MICCOSUKEE", - "MICMAC", - "AROOSTOOK", - "MISSION_INDIANS", - "MIWOK", - "MODOC", - "MOHEGAN", - "MONO", - "NANTICOKE", - "NARRAGANSETT", - "NAVAJO", - "ALAMO_NAVAJO", - "CANONCITO_NAVAJO", - "RAMAH_NAVAJO", - "NEZ_PERCE", - "NOMALAKI", - "NORTHWEST_TRIBES", - "ALSEA", - "CELILO", - "COLUMBIA", - "KALAPUYA", - "MOLALA", - "TALAKAMISH", - "TENINO", - "TILLAMOOK", - "WENATCHEE", - "YAHOOSKIN", - "OMAHA", - "OREGON_ATHABASKAN", - "OSAGE", - "OTOE_MISSOURIA", - "OTTAWA", - "BURT_LAKE_OTTAWA", - "MICHIGAN_OTTAWA", - "OKLAHOMA_OTTAWA", - "PAIUTE", - "BISHOP", - "BRIDGEPORT", - "BURNS_PAIUTE", - "CEDARVILLE", - "FORT_BIDWELL", - "FORT_INDEPENDENCE", - "KAIBAB", - "LAS_VEGAS", - "LONE_PINE", - "LOVELOCK", - "MALHEUR_PAIUTE", - "MOAPA", - "NORTHERN_PAIUTE", - "OWENS_VALLEY", - "PYRAMID_LAKE", - "SAN_JUAN_SOUTHERN_PAIUTE", - "SOUTHERN_PAIUTE", - "SUMMIT_LAKE", - "UTU_UTU_GWAITU_PAIUTE", - "WALKER_RIVER", - "YERINGTON_PAIUTE", - "PAMUNKEY", - "PASSAMAQUODDY", - "INDIAN_TOWNSHIP", - "PLEASANT_POINT_PASSAMAQUODDY", - "PAWNEE", - "OKLAHOMA_PAWNEE", - "PENOBSCOT", - "PEORIA", - "OKLAHOMA_PEORIA", - "PEQUOT", - "MARSHANTUCKET_PEQUOT", - "PIMA", - "GILA_RIVER_PIMA_MARICOPA", - "SALT_RIVER_PIMA_MARICOPA", - "PISCATAWAY", - "PIT_RIVER", - "POMO", - "CENTRAL_POMO", - "DRY_CREEK", - "EASTERN_POMO", - "KASHIA", - "NORTHERN_POMO", - "SCOTTS_VALLEY", - "STONYFORD", - "SULPHUR_BANK", - "PONCA", - "NEBRASKA_PONCA", - "OKLAHOMA_PONCA", - "POTAWATOMI", - "CITIZEN_BAND_POTAWATOMI", - "FOREST_COUNTY", - "HANNAHVILLE", - "HURON_POTAWATOMI", - "POKAGON_POTAWATOMI", - "PRAIRIE_BAND", - "WISCONSIN_POTAWATOMI", - "POWHATAN", - "PUEBLO", - "ACOMA", - "ARIZONA_TEWA", - "COCHITI", - "HOPI", - "ISLETA", - "JEMEZ", - "KERES", - "LAGUNA", - "NAMBE", - "PICURIS", - "PIRO", - "POJOAQUE", - "SAN_FELIPE", - "SAN_ILDEFONSO", - "SAN_JUAN_PUEBLO", - "SAN_JUAN_DE", - "SAN_JUAN", - "SANDIA", - "SANTA_ANA", - "SANTA_CLARA", - "SANTO_DOMINGO", - "TAOS", - "TESUQUE", - "TEWA", - "TIGUA", - "ZIA", - "ZUNI", - "PUGET_SOUND_SALISH", - "DUWAMISH", - "KIKIALLUS", - "LOWER_SKAGIT", - "MUCKLESHOOT", - "NISQUALLY", - "NOOKSACK", - "PORT_MADISON", - "PUYALLUP", - "SAMISH", - "SAUK_SUIATTLE", - "SKOKOMISH", - "SKYKOMISH", - "SNOHOMISH", - "SNOQUALMIE", - "SQUAXIN_ISLAND", - "STEILACOOM", - "STILLAGUAMISH", - "SUQUAMISH", - "SWINOMISH", - "TULALIP", - "UPPER_SKAGIT", - "QUAPAW", - "QUINAULT", - "RAPPAHANNOCK", - "RENO_SPARKS", - "ROUND_VALLEY", - "SAC_AND_FOX", - "IOWA_SAC_AND_FOX", - "MISSOURI_SAC_AND_FOX", - "OKLAHOMA_SAC_AND_FOX", - "SALINAN", - "SALISH", - "SALISH_AND_KOOTENAI", - "SCHAGHTICOKE", - "SCOTT_VALLEY", - "SEMINOLE", - "BIG_CYPRESS", - "BRIGHTON", - "FLORIDA_SEMINOLE", - "HOLLYWOOD_SEMINOLE", - "OKLAHOMA_SEMINOLE", - "SERRANO", - "SAN_MANUAL", - "SHASTA", - "SHAWNEE", - "ABSENTEE_SHAWNEE", - "EASTERN_SHAWNEE", - "SHINNECOCK", - "SHOALWATER_BAY", - "SHOSHONE", - "BATTLE_MOUNTAIN", - "DUCKWATER", - "ELKO", - "ELY", - "GOSHUTE", - "PANAMINT", - "RUBY_VALLEY", - "SKULL_VALLEY", - "SOUTH_FORK_SHOSHONE", - "TE_MOAK_WESTERN_SHOSHONE", - "TIMBI_SHA_SHOSHONE", - "WASHAKIE", - "WIND_RIVER_SHOSHONE", - "YOMBA", - "SHOSHONE_PAIUTE", - "DUCK_VALLEY", - "FALLON", - "FORT_MCDERMITT", - "SILETZ", - "SIOUX", - "BLACKFOOT_SIOUX", - "BRULE_SIOUX", - "CHEYENNE_RIVER_SIOUX", - "CROW_CREEK_SIOUX", - "DAKOTA_SIOUX", - "FLANDREAU_SANTEE", - "FORT_PECK", - "LAKE_TRAVERSE_SIOUX", - "LOWER_BRULE_SIOUX", - "LOWER_SIOUX", - "MDEWAKANTON_SIOUX", - "MINICONJOU", - "OGLALA_SIOUX", - "PINE_RIDGE_SIOUX", - "PIPESTONE_SIOUX", - "PRAIRIE_ISLAND_SIOUX", - "PRIOR_LAKE_SIOUX", - "ROSEBUD_SIOUX", - "SANS_ARC_SIOUX", - "SANTEE_SIOUX", - "SISSETON_WAHPETON", - "SISSETON_SIOUX", - "SPIRIT_LAKE_SIOUX", - "STANDING_ROCK_SIOUX", - "TETON_SIOUX", - "TWO_KETTLE_SIOUX", - "UPPER_SIOUX", - "WAHPEKUTE_SIOUX", - "WAHPETON_SIOUX", - "WAZHAZA_SIOUX", - "YANKTON_SIOUX", - "YANKTONAI_SIOUX", - "SIUSLAW", - "SPOKANE", - "STEWART", - "STOCKBRIDGE", - "SUSANVILLE", - "TOHONO_OODHAM", - "AK_CHIN", - "GILA_BEND", - "SAN_XAVIER", - "SELLS", - "TOLOWA", - "TONKAWA", - "TYGH", - "UMATILLA", - "UMPQUA", - "COW_CREEK_UMPQUA", - "UTE", - "ALLEN_CANYON", - "UINTAH_UTE", - "UTE_MOUNTAIN_UTE", - "WAILAKI", - "WALLA_WALLA", - "WAMPANOAG", - "GAY_HEAD_WAMPANOAG", - "MASHPEE_WAMPANOAG", - "WARM_SPRINGS", - "WASCOPUM", - "WASHOE", - "ALPINE", - "CARSON", - "DRESSLERVILLE", - "WICHITA", - "WIND_RIVER", - "WINNEBAGO", - "HO_CHUNK", - "NEBRASKA_WINNEBAGO", - "WINNEMUCCA", - "WINTUN", - "WIYOT", - "TABLE_BLUFF", - "YAKAMA", - "YAKAMA_COWLITZ", - "YAQUI", - "BARRIO_LIBRE", - "PASCUA_YAQUI", - "YAVAPAI_APACHE", - "YOKUTS", - "CHUKCHANSI", - "TACHI", - "TULE_RIVER", - "YUCHI", - "YUMAN", - "COCOPAH", - "HAVASUPAI", - "HUALAPAI", - "MARICOPA", - "MOHAVE", - "QUECHAN", - "YAVAPAI", - "YUROK", - "COAST_YUROK", - "ALASKA_NATIVE", - "ALASKA_INDIAN", - "ALASKAN_ATHABASCAN", - "AHTNA", - "SOUTHEAST_ALASKA", - "TLINGIT_HAIDA", - "ANGOON", - "CENTRAL_COUNCIL_OF_TLINGIT_AND_HAIDA_TRIBES", - "CHILKAT", - "CHILKOOT", - "CRAIG", - "DOUGLAS", - "HAIDA", - "HOONAH", - "HYDABURG", - "KAKE", - "KASAAN", - "KENAITZE", - "KETCHIKAN", - "KLAWOCK", - "PELICAN", - "PETERSBURG", - "SAXMAN", - "SITKA", - "TENAKEE_SPRINGS", - "TLINGIT", - "WRANGELL", - "YAKUTAT", - "TSIMSHIAN", - "METLAKATLA", - "ESKIMO", - "GREENLAND_ESKIMO", - "INUPIAT_ESKIMO", - "AMBLER", - "ANAKTUVUK", - "ANAKTUVUK_PASS", - "ARCTIC_SLOPE_INUPIAT", - "ARCTIC_SLOPE_CORPORATION", - "ATQASUK", - "BARROW", - "BERING_STRAITS_INUPIAT", - "BREVIG_MISSION", - "BUCKLAND", - "CHINIK", - "COUNCIL", - "DEERING", - "ELIM", - "GOLOVIN", - "INALIK_DIOMEDE", - "INUPIAQ", - "KAKTOVIK", - "KAWERAK", - "KIANA", - "KIVALINA", - "KOBUK", - "KOTZEBUE", - "KOYUK", - "KWIGUK", - "MAUNELUK_INUPIAT", - "NANA_INUPIAT", - "NOATAK", - "NOME", - "NOORVIK", - "NUIQSUT", - "POINT_HOPE", - "POINT_LAY", - "SELAWIK", - "SHAKTOOLIK", - "SHISHMAREF", - "SHUNGNAK", - "SOLOMON", - "TELLER", - "UNALAKLEET", - "WAINWRIGHT", - "WALES", - "WHITE_MOUNTAIN", - "WHITE_MOUNTAIN_INUPIAT", - "MARYS_IGLOO", - "SIBERIAN_ESKIMO", - "GAMBELL", - "SAVOONGA", - "SIBERIAN_YUPIK", - "YUPIK_ESKIMO", - "AKIACHAK", - "AKIAK", - "ALAKANUK", - "ALEKNAGIK", - "ANDREAFSKY", - "ANIAK", - "ATMAUTLUAK", - "BETHEL", - "BILL_MOORES_SLOUGH", - "BRISTOL_BAY_YUPIK", - "CALISTA_YUPIK", - "CHEFORNAK", - "CHEVAK", - "CHUATHBALUK", - "CLARKS_POINT", - "CROOKED_CREEK", - "DILLINGHAM", - "EEK", - "EKUK", - "EKWOK", - "EMMONAK", - "GOODNEWS_BAY", - "HOOPER_BAY", - "IQURMUIT_RUSSIAN_MISSION", - "KALSKAG", - "KASIGLUK", - "KIPNUK", - "KOLIGANEK", - "KONGIGANAK", - "KOTLIK", - "KWETHLUK", - "KWIGILLINGOK", - "LEVELOCK", - "LOWER_KALSKAG", - "MANOKOTAK", - "MARSHALL", - "MEKORYUK", - "MOUNTAIN_VILLAGE", - "NAKNEK", - "NAPAUMUTE", - "NAPAKIAK", - "NAPASKIAK", - "NEWHALEN", - "NEW_STUYAHOK", - "NEWTOK", - "NIGHTMUTE", - "NUNAPITCHUKV", - "OSCARVILLE", - "PILOT_STATION", - "PITKAS_POINT", - "PLATINUM", - "PORTAGE_CREEK", - "QUINHAGAK", - "RED_DEVIL", - "ST_MICHAEL", - "SCAMMON_BAY", - "SHELDONS_POINT", - "SLEETMUTE", - "STEBBINS", - "TOGIAK", - "TOKSOOK", - "TULUKSKAK", - "TUNTUTULIAK", - "TUNUNAK", - "TWIN_HILLS", - "ST_MARYS", - "UMKUMIATE", - "ALEUT", - "ALUTIIQ_ALEUT", - "TATITLEK", - "UGASHIK", - "BRISTOL_BAY_ALEUT", - "CHIGNIK", - "CHIGNIK_LAKE", - "EGEGIK", - "IGIUGIG", - "IVANOF_BAY", - "KING_SALMON", - "KOKHANOK", - "PERRYVILLE", - "PILOT_POINT", - "PORT_HEIDEN", - "CHUGACH_ALEUT", - "CHENEGA", - "CHUGACH_CORPORATION", - "ENGLISH_BAY", - "PORT_GRAHAM", - "EYAK", - "KONIAG_ALEUT", - "AKHIOK", - "AGDAAGUX", - "KARLUK", - "KODIAK", - "LARSEN_BAY", - "OLD_HARBOR", - "OUZINKIE", - "PORT_LIONS", - "SUGPIAQ", - "SUQPIGAQ", - "UNANGAN_ALEUT", - "AKUTAN", - "ALEUT_CORPORATION", - "ALEUTIAN", - "ALEUTIAN_ISLANDER", - "ATKA", - "BELKOFSKI", - "CHIGNIK_LAGOON", - "KING_COVE", - "FALSE_PASS", - "NELSON_LAGOON", - "NIKOLSKI", - "PAULOFF_HARBOR", - "QAGAN_TOYAGUNGIN", - "QAWALANGIN", - "ST_GEORGE", - "ST_PAUL", - "SAND_POINT", - "SOUTH_NAKNEK", - "UNALASKA", - "UNGA", - "ASIAN", - "ASIAN_INDIAN", - "BANGLADESHI_RACE", - "BHUTANESE_RACE", - "BURMESE_RACE", - "CAMBODIAN_RACE", - "CHINESE_RACE", - "TAIWANESE_RACE", - "FILIPINO_RACE", - "HMONG", - "INDONESIAN_RACE", - "JAPANESE_RACE", - "KOREAN", - "LAOTIAN", - "MALAYSIAN_RACE", - "OKINAWAN", - "PAKISTANI_RACE", - "SRI_LANKAN_RACE", - "THAI_RACE", - "VIETNAMESE_RACE", - "IWO_JIMAN", - "MALDIVIAN_RACE", - "NEPALESE_RACE", - "SINGAPOREAN_RACE", - "MADAGASCAR_RACE", - "BLACK_OR_AFRICAN_AMERICAN", - "BLACK", - "AFRICAN_AMERICAN", - "AFRICAN", - "BOTSWANAN_RACE", - "ETHIOPIAN_RACE", - "LIBERIAN_RACE", - "NAMIBIAN_RACE", - "NIGERIAN_RACE", - "ZAIREAN_RACE", - "BAHAMIAN_RACE", - "BARBADIAN_RACE", - "DOMINICAN_RACE", - "DOMINICA_ISLANDER", - "HAITIAN_RACE", - "JAMAICAN_RACE", - "TOBAGOAN", - "TRINIDADIAN_RACE", - "WEST_INDIAN", - "NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER", - "POLYNESIAN", - "NATIVE_HAWAIIAN", - "SAMOAN_RACE", - "TAHITIAN", - "TONGAN_RACE", - "TOKELAUAN", - "MICRONESIAN_RACE", - "GUAMANIAN_OR_CHAMORRO", - "GUAMANIAN_RACE", - "CHAMORRO", - "MARIANA_ISLANDER", - "MARSHALLESE_RACE", - "PALAUAN_RACE", - "CAROLINIAN", - "KOSRAEAN", - "POHNPEIAN", - "SAIPANESE", - "KIRIBATI_RACE", - "CHUUKESE", - "YAPESE", - "MELANESIAN", - "FIJIAN_RACE", - "PAPUA_NEW_GUINEAN_RACE", - "SOLOMON_ISLANDER_RACE", - "NEW_HEBRIDES", - "OTHER_PACIFIC_ISLANDER", - "WHITE", - "EUROPEAN", - "ARMENIAN_RACE", - "ENGLISH_RACE", - "FRENCH_RACE", - "GERMAN_RACE", - "IRISH_RACE", - "ITALIAN_RACE", - "POLISH_RACE", - "SCOTTISH_RACE", - "MIDDLE_EASTERN_OR_NORTH_AFRICAN", - "ASSYRIAN", - "EGYPTIAN_RACE", - "IRANIAN_RACE", - "IRAQI_RACE", - "LEBANESE_RACE", - "PALESTINIAN_RACE", - "SYRIAN_RACE", - "AFGHANISTANI", - "ISRAEILI", - "ARAB", - "OTHER_RACE", - "NON_DISCLOSE_RACE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Race" - ] - } - ] - }, - { - "name": "ethnicity", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Ethnicity of the person" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Ethnicity" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ETHNICITY", - "HISPANIC_OR_LATINO", - "SPANIARD", - "ANDALUSIAN", - "ASTURIAN", - "CASTILLIAN", - "CATALONIAN", - "BELEARIC_ISLANDER", - "GALLEGO", - "VALENCIAN", - "CANARIAN", - "SPANISH_BASQUE", - "MEXICAN_ETHNICITY", - "MEXICAN_AMERICAN", - "MEXICANO", - "CHICANO", - "LA_RAZA", - "MEXICAN_AMERICAN_INDIAN_ETHNICITY", - "CENTRAL_AMERICAN", - "COSTA_RICAN_ETHNICITY", - "GUATEMALAN_ETHNICITY", - "HONDURAN_ETHNICITY", - "NICARAGUAN_ETHNICITY", - "PANAMANIAN_ETHNICITY", - "SALVADORAN", - "CENTRAL_AMERICAN_INDIAN_ETHNICITY", - "CANAL_ZONE", - "SOUTH_AMERICAN", - "ARGENTINEAN", - "BOLIVIAN_ETHNICITY", - "CHILEAN_ETHNICITY", - "COLOMBIAN_ETHNICITY", - "ECUADORIAN", - "PARAGUAYAN_ETHNICITY", - "PERUVIAN_ETHNICITY", - "URUGUAYAN_ETHNICITY", - "VENEZUELAN_ETHNICITY", - "SOUTH_AMERICAN_INDIAN_ETHNICITY", - "CRIOLLO", - "LATIN_AMERICAN", - "PUERTO_RICAN_ETHNICITY", - "CUBAN_ETHNICITY", - "DOMINICAN_ETHNICITY", - "NOT_HISPANIC_OR_LATINO", - "OTHER_ETHNICITY", - "NON_DISCLOSE_ETHNICITY" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Ethnicity" - ] - } - ] - }, - { - "name": "religion", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Religion of the person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Religion" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_RELIGION", - "ADVENTIST", - "AFRICAN_RELIGIONS", - "AFRO_CARIBBEAN_RELIGIONS", - "AGNOSTICISM", - "ANGLICAN", - "ANIMISM", - "ATHEISM", - "BABI_AND_BAHAI_FAITHS", - "BAPTIST", - "BON", - "CAO_DAI", - "CELTICISM", - "CHRISTIAN_NON_CATHOLIC_OR_NON_SPECIFIC", - "CONFUCIANISM", - "CYBERCULTURE_RELIGIONS", - "DIVINATION", - "FOURTH_WAY", - "FREE_DAISM", - "GNOSIS", - "HINDUISM", - "HUMANISM", - "INDEPENDENT", - "ISLAM", - "JAINISM", - "JEHOVAHS_WITNESSES", - "JUDAISM", - "LATTER_DAY_SAINTS", - "LUTHERAN", - "MAHAYANA", - "MEDITATION", - "MESSIANIC_JUDAISM", - "MITRAISM", - "NEW_AGE", - "NON_ROMAN_CATHOLIC", - "OCCULT", - "ORTHODOX", - "PAGANISM", - "PENTECOSTAL", - "PROCESS_THE", - "REFORMED_OR_PRESBYTERIAN", - "ROMAN_CATHOLIC_CHURCH", - "SATANISM", - "SCIENTOLOGY", - "SHAMANISM", - "SHIITE_ISLAM", - "SHINTO", - "SIKISM", - "SPIRITUALISM", - "SUNNI_ISLAM", - "TAOISM", - "THERAVADA", - "UNITARIAN_UNIVERSALISM", - "UNIVERSAL_LIFE_CHURCH", - "VAJRAYANA_TIBETAN", - "VEDA", - "VOODOO", - "WICCA", - "YAOHUSHUA", - "ZEN_BUDDHISM", - "ZOROASTRIANISM", - "ASSEMBLY_OF_GOD", - "BRETHREN", - "CHRISTIAN_SCIENTIST", - "CHURCH_OF_CHRIST", - "CHURCH_OF_GOD", - "CONGREGATIONAL", - "DISCIPLES_OF_CHRIST", - "EASTERN_ORTHODOX", - "EPISCOPALIAN", - "EVANGELICAL_COVENANT", - "FRIENDS", - "FULL_GOSPEL", - "METHODIST", - "NATIVE_AMERICAN", - "NAZARENE", - "PRESBYTERIAN", - "PROTESTANT", - "PROTESTANT_NO_DENOMINATION", - "REFORMED", - "SALVATION_ARMY", - "UNITARIAN_UNIVERSALIST", - "UNITED_CHURCH_OF_CHRIST", - "OTHER_RELIGION", - "NON_DISCLOSE_RELIGION" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Religion" - ] - } - ] - }, - { - "name": "preferred_language", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Preferred Language of the person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Language" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_LANGUAGE", - "DANISH_LANGUAGE", - "DUTCH_LANGUAGE", - "FRENCH_LANGUAGE", - "ITALIAN_LANGUAGE", - "NORWEGIAN_LANGUAGE", - "PORTUGUESE_LANGUAGE", - "ROMANIAN_LANGUAGE", - "SPANISH_LANGUAGE", - "SWEDISH_LANGUAGE", - "GERMAN_LANGUAGE", - "HAITIAN_CREOLE", - "INDONESIAN_LANGUAGE", - "MALAY", - "SWAHILI", - "ALBANIAN_LANGUAGE", - "AMHARIC", - "ARMENIAN_LANGUAGE", - "AZERBAIJANI_LANGUAGE", - "BENGALI", - "BULGARIAN_LANGUAGE", - "BURMESE_LANGUAGE", - "CZECH_LANGUAGE", - "DARI", - "ESTONIAN_LANGUAGE", - "FARSI", - "FINNISH_LANGUAGE", - "GEORGIAN_LANGUAGE", - "GREEK_LANGUAGE", - "GUJARATI", - "HAUSA", - "HEBREW", - "HINDI", - "HUNGARIAN_LANGUAGE", - "ICELANDIC_LANGUAGE", - "KAZAKH_LANGUAGE", - "KHMER", - "KURDISH", - "KYRGYZ_LANGUAGE", - "LAO_LANGUAGE", - "LATVIAN_LANGUAGE", - "LITHUANIAN_LANGUAGE", - "MACEDONIAN_LANGUAGE", - "MONGOLIAN_LANGUAGE", - "NEPALI", - "PASHTO", - "POLISH_LANGUAGE", - "RUSSIAN_LANGUAGE", - "SERBO_CROATIAN", - "SINHALA", - "SLOVAK_LANGUAGE", - "SLOVENIAN_LANGUAGE", - "SOMALI_LANGUAGE", - "TAGALOG", - "TAJIKI", - "TAMIL", - "TELUGU", - "THAI_LANGUAGE", - "TIBETAN", - "TURKISH_LANGUAGE", - "TURKMEN_LANGUAGE", - "UKRANIAN", - "URDU", - "UZBEK_LANGUAGE", - "VIETNAMESE_LANGUAGE", - "ARABIC", - "CHINESE_CANTONESE", - "CHINESE_MANDARIN", - "JAPANESE_LANGUAGE", - "KOREAN_LANGUAGE", - "FULANI", - "BOSNIAN", - "CHALDEAN", - "HMONG_LANGUAGE", - "CANTONESE", - "MANDARIN", - "PUNJABI", - "SERBIAN_LANGUAGE", - "CAMBODIAN_LANGUAGE", - "MARSHALLESE_LANGUAGE", - "MOROCCAN_ARABIC", - "ENGLISH_LANGUAGE", - "OTHER_LANGUAGE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Language" - ] - } - ] - }, - { - "name": "nationality", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Nationality of the person" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Nationality" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_NATIONALITY", - "AFGHAN", - "ALBANIAN", - "ALGERIAN", - "AMERICAN", - "ANDORRAN", - "ANGOLAN", - "ANGUILLAN", - "CITIZEN_OF_ANTIGUA_AND_BARBUDA", - "ARGENTINE", - "ARMENIAN", - "AUSTRALIAN", - "AUSTRIAN", - "AZERBAIJANI", - "BAHAMIAN", - "BAHRAINI", - "BANGLADESHI", - "BARBADIAN", - "BELARUSIAN", - "BELGIAN", - "BELIZEAN", - "BENINESE", - "BERMUDIAN", - "BHUTANESE", - "BOLIVIAN", - "CITIZEN_OF_BOSNIA_AND_HERZEGOVINA", - "BOTSWANAN", - "BRAZILIAN", - "BRITISH", - "BRITISH_VIRGIN_ISLANDER", - "BRUNEIAN", - "BULGARIAN", - "BURKINAN", - "BURMESE", - "BURUNDIAN", - "CAMBODIAN", - "CAMEROONIAN", - "CANADIAN", - "CAPE_VERDEAN", - "CAYMAN_ISLANDER", - "CENTRAL_AFRICAN", - "CHADIAN", - "CHILEAN", - "CHINESE", - "COLOMBIAN", - "COMORAN", - "CONGOLESE_CONGO", - "CONGOLESE_DRC", - "COOK_ISLANDER", - "COSTA_RICAN", - "CROATIAN", - "CUBAN", - "CYMRAES", - "CYMRO", - "CYPRIOT", - "CZECH", - "DANISH", - "DJIBOUTIAN", - "DOMINICAN", - "CITIZEN_OF_THE_DOMINICAN_REPUBLIC", - "DUTCH", - "EAST_TIMORESE", - "ECUADOREAN", - "EGYPTIAN", - "EMIRATI", - "ENGLISH", - "EQUATORIAL_GUINEAN", - "ERITREAN", - "ESTONIAN", - "ETHIOPIAN", - "FAROESE", - "FIJIAN", - "FILIPINO", - "FINNISH", - "FRENCH", - "GABONESE", - "GAMBIAN", - "GEORGIAN", - "GERMAN", - "GHANAIAN", - "GIBRALTARIAN", - "GREEK", - "GREENLANDIC", - "GRENADIAN", - "GUAMANIAN", - "GUATEMALAN", - "CITIZEN_OF_GUINEA_BISSAU", - "GUINEAN", - "GUYANESE", - "HAITIAN", - "HONDURAN", - "HONG_KONGER", - "HUNGARIAN", - "ICELANDIC", - "INDIAN", - "INDONESIAN", - "IRANIAN", - "IRAQI", - "IRISH", - "ISRAELI", - "ITALIAN", - "IVORIAN", - "JAMAICAN", - "JAPANESE", - "JORDANIAN", - "KAZAKH", - "KENYAN", - "KITTITIAN", - "CITIZEN_OF_KIRIBATI", - "KOSOVAN", - "KUWAITI", - "KYRGYZ", - "LAO", - "LATVIAN", - "LEBANESE", - "LIBERIAN", - "LIBYAN", - "LIECHTENSTEIN_CITIZEN", - "LITHUANIAN", - "LUXEMBOURGER", - "MACANESE", - "MACEDONIAN", - "MALAGASY", - "MALAWIAN", - "MALAYSIAN", - "MALDIVIAN", - "MALIAN", - "MALTESE", - "MARSHALLESE", - "MARTINIQUAIS", - "MAURITANIAN", - "MAURITIAN", - "MEXICAN", - "MICRONESIAN", - "MOLDOVAN", - "MONEGASQUE", - "MONGOLIAN", - "MONTENEGRIN", - "MONTSERRATIAN", - "MOROCCAN", - "MOSOTHO", - "MOZAMBICAN", - "NAMIBIAN", - "NAURUAN", - "NEPALESE", - "NEW_ZEALANDER", - "NICARAGUAN", - "NIGERIAN", - "NIGERIEN", - "NIUEAN", - "NORTH_KOREAN", - "NORTHERN_IRISH", - "NORWEGIAN", - "OMANI", - "PAKISTANI", - "PALAUAN", - "PALESTINIAN", - "PANAMANIAN", - "PAPUA_NEW_GUINEAN", - "PARAGUAYAN", - "PERUVIAN", - "PITCAIRN_ISLANDER", - "POLISH", - "PORTUGUESE", - "PRYDEINIG", - "PUERTO_RICAN", - "QATARI", - "ROMANIAN", - "RUSSIAN", - "RWANDAN", - "SALVADOREAN", - "SAMMARINESE", - "SAMOAN", - "SAO_TOMEAN", - "SAUDI_ARABIAN", - "SCOTTISH", - "SENEGALESE", - "SERBIAN", - "CITIZEN_OF_SEYCHELLES", - "SIERRA_LEONEAN", - "SINGAPOREAN", - "SLOVAK", - "SLOVENIAN", - "SOLOMON_ISLANDER", - "SOMALI", - "SOUTH_AFRICAN", - "SOUTH_KOREAN", - "SOUTH_SUDANESE", - "SPANISH", - "SRI_LANKAN", - "ST_HELENIAN", - "ST_LUCIAN", - "STATELESS", - "SUDANESE", - "SURINAMESE", - "SWAZI", - "SWEDISH", - "SWISS", - "SYRIAN", - "TAIWANESE", - "TAJIK", - "TANZANIAN", - "THAI", - "TOGOLESE", - "TONGAN", - "TRINIDADIAN", - "TRISTANIAN", - "TUNISIAN", - "TURKISH", - "TURKMEN", - "TURKS_AND_CAICOS_ISLANDER", - "TUVALUAN", - "UGANDAN", - "UKRAINIAN", - "URUGUAYAN", - "UZBEK", - "VATICAN_CITIZEN", - "CITIZEN_OF_VANUATU", - "VENEZUELAN", - "VIETNAMESE", - "VINCENTIAN", - "WALLISIAN", - "WELSH", - "YEMENI", - "ZAMBIAN", - "ZIMBABWEAN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Nationality" - ] - } - ] - }, - { - "name": "marital_status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Marital status of the person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Marital Status" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_MARITAL_STATUS", - "ANNULLED", - "DIVORCED", - "INTERLOCUTORY", - "LEGALLY_SEPARATED", - "MARRIED", - "POLYGAMOUS", - "NEVER_MARRIED", - "DOMESTIC_PARTNER", - "UNMARRIED", - "WIDOWED", - "UNKNOWN_MARITAL_STATUS", - "OTHER_MARITAL_STATUS", - "NON_DISCLOSE_MARITAL_STATUS" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.MaritalStatus" - ] - } - ] - }, - { - "name": "identifiers_skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Reference to identifiers of the person" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "contacts_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Reference(s) to contacts of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - { - "name": "addresses", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Addresse(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "persons.identifiers_skyflow_id=identifiers.skyflow_id", - "persons.contacts_skyflow_id=contacts.skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Persons" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Persons Object stores attributes related to a real world person" - ] - } - ] - }, - { - "name": "identifiers", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SSN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Social Scurity Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Security Number" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - } - ] - }, - { - "name": "drivers_license", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DriversLicense" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Driver's License Number(s)" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "(^$)|^[0-9]{1,8}$", - "(^$)|^[0-9]{1,7}$", - "(^$)|(^[A-Z]{1}[0-9]{1,8}$)|(^[A-Z]{2}[0-9]{2,5}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{4,9}$", - "(^$)|^[A-Z]{1}[0-9]{7}$", - "(^$)|(^[0-9]{9}$)|(^[A-Z]{1}[0-9]{3,6}$)|(^[A-Z]{2}[0-9]{2,5}$)", - "(^$)|^[0-9]{9}$", - "(^$)|^[0-9]{1,7}$", - "(^$)|(^[0-9]{7}$)|(^[0-9]{9}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|^[0-9]{7,9}$", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{2}[0-9]{6}[A-Z]{1}$)|(^[0-9]{9}$)", - "(^$)|^[A-Z]{1}[0-9]{11,12}$", - "(^$)|(^[A-Z]{1}[0-9]{9}$)|(^[0-9]{9,10}$)", - "(^$)|^([0-9]{9}|([0-9]{3}[A-Z]{2}[0-9]{4}))$", - "(^$)|(^([A-Z]{1}[0-9]{1}){2}[A-Z]{1}$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{8,9}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{1,9}$", - "(^$)|(^[0-9]{7,8}$)|(^[0-9]{7}[A-Z]{1}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{10}$)|(^[A-Z]{1}[0-9]{12}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|^[0-9]{9}$", - "(^$)|(^[A-Z]{1}[0-9]{5,9}$)|(^[A-Z]{1}[0-9]{6}[R]{1}$)|(^[0-9]{8}[A-Z]{2}$)|(^[0-9]{9}[A-Z]{1}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{13}$)|(^[0-9]{9}$)|(^[0-9]{14}$)", - "(^$)|^[A-Z]{1}[0-9]{6,8}$", - "(^$)|(^[0-9]{9,10}$)|(^[0-9]{12}$)|(^[X]{1}[0-9]{8}$)", - "(^$)|^[0-9]{2}[A-Z]{3}[0-9]{5}$", - "(^$)|^[A-Z]{1}[0-9]{14}$", - "(^$)|^[0-9]{8,9}$", - "(^$)|(^[A-Z]{1}[0-9]{7}$)|(^[A-Z]{1}[0-9]{18}$)|(^[0-9]{8}$)|(^[0-9]{9}$)|(^[0-9]{16}$)|(^[A-Z]{8}$)", - "(^$)|^[0-9]{1,12}$", - "(^$)|(^[A-Z]{3}[0-9]{6}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{4,8}$)|(^[A-Z]{2}[0-9]{3,7}$)|(^[0-9]{8}$)", - "(^$)|(^[A-Z]{1}[0-9]{9}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{1,9}$", - "(^$)|^[0-9]{8}$", - "(^$)|(^[0-9]{7}$)|(^[A-Z]{1}[0-9]{6}$)", - "(^$)|^[0-9]{5,11}$", - "(^$)|(^[0-9]{6,10}$)|(^[0-9]{12}$)", - "(^$)|^[0-9]{7,9}$", - "(^$)|^[0-9]{7,8}$", - "(^$)|^[0-9]{4,10}$", - "(^$)|(^[0-9]{8}$)|(^[0-9]{7}[A]$)", - "(^$)|(^[A-Z]{1}[0-9]{8,11}$)|(^[0-9]{9}$)", - "(^$)|^(=.{12}$)[A-Z]{1,7}[A-Z0-9\\*]{4,11}$", - "(^$)|(^[0-9]{7}$)|(^[A-Z]{1,2}[0-9]{5,6}$)", - "(^$)|^[A-Z]{1}[0-9]{13}$", - "(^$)|^[0-9]{9,10}$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Driver's license number" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "itin", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ITIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Individual Tax Identification Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "9[0-9]{2}-[0-9]{2}-([0-9]{4})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Individual Taxpayer Identification Number" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX-XX-$1" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^(9[0-9]{2}-[0-9]{2}-[0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "(9[0-9]{2}-[0-9]{2}-[0-9]{4})" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "passport_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PassportNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Passport Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([A-Za-z0-9]{6,9})$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Passport Number" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*(.{3})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "([A-Z0-9]{9})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "******${1}" - ] - } - ] - } - ] - }, - { - "name": "contacts", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "contacts.organizations_skyflow_id=organizations.skyflow_id" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "website", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Website of the contact" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Website" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "(^$)|(https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?\u0026\\/=]*))" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Website Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "gender", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Gender of the contact" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Gender" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED", - "MALE", - "FEMALE", - "NON_BINARY", - "TRANSGENDER_MALE", - "TRANSGENDER_FEMALE", - "OTHER", - "NON_DISCLOSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Gender" - ] - } - ] - }, - { - "name": "relationship", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Relationship with the person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Relationship" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_RELATION", - "FATHER", - "MOTHER", - "PARENT", - "SON", - "DAUGHTER", - "CHILD", - "AUNT", - "UNCLE", - "HUSBAND", - "WIFE", - "NIECE", - "NEPHEW", - "COUSIN", - "BROTHER", - "SISTER", - "SIBLING", - "SPOUSE", - "DECEASED_SPOUSE", - "EX_WIFE", - "EX_HUSBAND", - "OTHER_RELATIONSHIP" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Relationship" - ] - } - ] - }, - { - "name": "is_emergency_contact", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Emergency Contact" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Whether contact is an emergency contact" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_BOOL_VALUE", - "TRUE", - "FALSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Boolean" - ] - } - ] - }, - { - "name": "organizations_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Reference to organization's skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Email address(s) of the contact" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone number(s) of the contact" - ] - }, - { - "name": "skyflow.options.required", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.required", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - { - "name": "social_media_handles", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Social media handle(s) of the contact" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SocialMediaHandle" - ] - } - ] - }, - "fields": [ - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Name of the social media platform" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Media Platform" - ] - } - ] - }, - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Public username or handle on the social media platform" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Handle or Username" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Media Accounts" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "This contains a list of person's public usernames on different social media platforms" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SocialMediaHandle" - ] - } - ] - }, - { - "name": "name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the contact" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - { - "name": "addresses", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Addresses of the contact" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - { - "name": "contact_period", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Valid period to contact" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Period" - ] - } - ] - }, - "fields": [ - { - "name": "start_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Start Date" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.TimeStamp" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Start date of this period" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?" - ] - } - ] - }, - { - "name": "end_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "End date of this period" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "End Date" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.TimeStamp" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Period holds information related to duration/tenure. It has start date and end date fields." - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Period" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Period" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "contacts.organizations_skyflow_id=organizations.skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Contact" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Contact stores details pertaining to a user's contacts" - ] - } - ] - }, - { - "name": "organizations", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Organization that is associated with the contact" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "is_active", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Active" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Current status of the organization" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_BOOL_VALUE", - "TRUE", - "FALSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Boolean" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Kind of organization" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Organization Type" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the organization" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Organization Name" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Organization's Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number(s) of the organization" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - { - "name": "addresses", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Organization's Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Addresses of the organization" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Organization's Email Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email Addresses of the organization" - ] - }, - { - "name": "skyflow.options.required", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.required", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Organization that is associated with the contact" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Organization" - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.template_description", - "values": [ - "Customer Identity vault consists of Persons, Identifiers, Contacts and Organizations objects which provide the ability to store sensitive information about a person such as name, address, phone number, and American identity numbers such as Social Security Number and Drivers’ Licence." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "CustomerIdentity" - ] - }, - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.tier", - "values": [ - "ENTERPRISE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CustomerIdentity" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/detect.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/detect.json deleted file mode 100644 index 7e2d2f0..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/detect.json +++ /dev/null @@ -1,2189 +0,0 @@ -{ - "schemas": [ - { - "name": "table1", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_dlp_policy", - "values": ["PLAIN_TEXT"] - }, - { - "name": "skyflow.options.data_type", - "values": ["skyflow.SkyflowID"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "age_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["age"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "bank_account_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["bank_account"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "credit_card_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["credit_card"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "credit_card_expiration_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["credit_card_expiration"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "cvv_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["cvv"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "date_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["date_detect"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "date_interval_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["date_interval"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "dob_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["dob"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "driver_license_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["driver_license"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "email_address_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["email_address"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "healthcare_number_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["healthcare_number"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "ip_address_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["ip_address"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["location"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "name_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["name"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "numerical_pii_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["numerical_pii"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "phone_number_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["phone_number"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "ssn_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["ssn"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "url_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["url"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "vehicle_id_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["vehicle_id"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "medical_code_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["medical_code"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "name_family_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["name_family"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "name_given_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["name_given"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_number_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["account_number"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "event_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["event"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "filename_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["filename"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "gender_sexuality_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["gender_sexuality"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "language_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["language"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_address_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_address"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_city_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_city"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_coordinate_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_coordinate"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_country_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_country"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_state_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_state"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_zip_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["location_zip"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "marital_status_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["marital_status"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "money_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["money"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "name_medical_professional_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["name_medical_professional"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "occupation_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["occupation"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "organization_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["organization"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "organization_medical_facility_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["organization_medical_facility"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "origin_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["origin"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "passport_number_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["passport_number"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "password_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["password"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "physical_attribute_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["physical_attribute"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "political_affiliation_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["political_affiliation"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "religion_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["religion"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "time_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["time"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "username_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["username"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "zodiac_sign_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["zodiac_sign"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "blood_type_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["blood_type"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "condition_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["condition"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "dose_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["dose"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "drug_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["drug"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "injury_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["injury"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "medical_process_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["medical_process"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "statistics_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["statistics"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "routing_number_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["routing_number"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "corporate_action_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["corporate_action"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "financial_metric_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["financial_metric"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "product_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["product"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "trend_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["trend"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "duration_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["duration"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "location_address_street_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["location_address_street"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "gender_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["gender"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "sexuality_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { - "name": "skyflow.options.display_name", - "values": ["sexuality"] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "organization_id_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["organization_id"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "project_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["project"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "effect_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["effect"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "day_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["day"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "month_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["month"] } - ], - "properties": null, - "index": 0 - }, - { - "name": "year_entity", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] - }, - { "name": "skyflow.options.find_pattern", "values": [".*(.{4})"] }, - { - "name": "skyflow.options.replace_pattern", - "values": ["XXXXX${1}"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_FPT"] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": ["[a-zA-Z0-9]{7}"] - }, - { "name": "skyflow.options.description", "values": ["String"] }, - { "name": "skyflow.options.display_name", "values": ["year"] } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": ["Scratch Table is a minimal table in a vault."] - }, - { "name": "skyflow.options.display_name", "values": ["ScratchTable"] } - ], - "properties": null - } - ], - "tags": [ - { - "name": "skyflow.options.template_description", - "values": [ - "Detect vault consists of columns to store entities idenfied during deidentification of any text, Eg: name, age, ssn etc." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "Detect" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Detect" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/payment.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/payment.json deleted file mode 100644 index 60da14d..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/payment.json +++ /dev/null @@ -1,9764 +0,0 @@ -{ - "schemas": [ - { - "name": "consumers", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "consumers.cards_skyflow_id=cards.skyflow_id", - "consumers.credit_scores_skyflow_id=credit_scores.skyflow_id", - "consumers.bank_accounts_skyflow_id=bank_accounts.skyflow_id" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DOB" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Date of Birth of the person" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Date of Birth" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SSN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Social Scurity Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Security Number" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - } - ] - }, - { - "name": "gender", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Gender of the person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Gender" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED", - "MALE", - "FEMALE", - "NON_BINARY", - "TRANSGENDER_MALE", - "TRANSGENDER_FEMALE", - "OTHER", - "NON_DISCLOSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Gender" - ] - } - ] - }, - { - "name": "credit_scores_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "FK to credit score of consumer" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "cards_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Credit/Debit cards of consumer" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "bank_accounts_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Bank accounts of consumer" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the consumer" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - { - "name": "addresses", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Addresse(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "consumers.cards_skyflow_id=cards.skyflow_id", - "consumers.credit_scores_skyflow_id=credit_scores.skyflow_id", - "consumers.bank_accounts_skyflow_id=bank_accounts.skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Consumers" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Payment vault consumers" - ] - } - ] - }, - { - "name": "alloy_kyc", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ] - }, - { - "name": "alloy_workflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "alloy workflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "alloy_workflow_id" - ] - } - ] - }, - { - "name": "created_at", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.datetime" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "created at" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "timestamp" - ] - } - ] - }, - { - "name": "consumers_skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "consumers_skyflow_id" - ] - } - ] - }, - { - "name": "summary", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "alloy summary" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "summary" - ] - } - ] - }, - { - "name": "entire_report", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "alloy entire_report" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "entire_report" - ] - } - ] - } - ] - }, - { - "name": "credit_scores", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - } - ] - }, - { - "name": "bureau", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Credit reporting agency" - ] - } - ] - }, - { - "name": "requested_at", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.TimeStamp" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Timestamp of credit score request" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?" - ] - } - ] - }, - { - "name": "report_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "A credit report row can be either SCORE_ONLY or FULL. This field stores that so you know what fields to expect." - ] - } - ] - }, - { - "name": "full_api_response", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "JSON representation of the full response returned from the reporting agency. Stored here for later back fills." - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "credit_score", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Credit score of the consumer" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Number" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Credit score of the consumer" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Number" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Consumer credit score" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CreditScores" - ] - } - ] - }, - { - "name": "cards", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "cards.transactions_skyflow_id=transactions.skyflow_id", - "cards.bank_accounts_skyflow_id=bank_accounts.skyflow_id" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Card type" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardType" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_TYPE", - "CREDIT", - "DEBIT", - "VIRTUAL" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardType" - ] - } - ] - }, - { - "name": "network", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Card network" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardNetwork" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_NETWORK", - "MASTER_CARD", - "VISA", - "DISCOVER" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNetwork" - ] - } - ] - }, - { - "name": "description", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card description" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Status of card" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardStatus" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_STATUS", - "AUTHORISED", - "REFUSED" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardStatus" - ] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card number of credit/debit card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXXXXXXXX${1}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{4}-[0-9]{4}-([0-9]{4})-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card number" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "[0-9 -]*([0-9 -]{4}$)" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[\\s]*?([0-9]{2,6}[ -]?){3,5}[\\s]*$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "issuing_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Country in which card was issued" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "expiry_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card expiry date" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry data" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "international_use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Support for international use of card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Boolean" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_BOOL_VALUE", - "TRUE", - "FALSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Boolean" - ] - } - ] - }, - { - "name": "pin_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardPIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Pin number of card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "PIN of Card" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|\\d{4,}$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "transactions_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "List of transactions performed using this card" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "bank_accounts_skyflow_id", - "datatype": "DT_STRING", - "isArray": true, - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Bank accounts associated with the card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "max_limit", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Max permissible limit for card usage" - ] - }, - { - "name": "skyflow.validation.maxValue", - "values": [ - "0" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Money" - ] - } - ] - }, - "fields": [ - { - "name": "amount", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Amount" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Amount of money" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "currency_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Currency Code" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "ISO 4217 recognized three letter currency code" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CURRENCY", - "AFN", - "EUR", - "ALL", - "DZD", - "USD", - "AOA", - "XCD", - "ARS", - "AMD", - "AWG", - "AUD", - "AZN", - "BSD", - "BHD", - "BDT", - "BBD", - "BYN", - "BZD", - "XOF", - "BMD", - "INR", - "BTN", - "BOB", - "BOV", - "BAM", - "BWP", - "NOK", - "BRL", - "BND", - "BGN", - "BIF", - "CVE", - "KHR", - "XAF", - "CAD", - "KYD", - "CLP", - "CLF", - "CNY", - "COP", - "COU", - "KMF", - "CDF", - "NZD", - "CRC", - "HRK", - "CUP", - "CUC", - "ANG", - "CZK", - "DKK", - "DJF", - "DOP", - "EGP", - "SVC", - "ERN", - "SZL", - "ETB", - "FKP", - "FJD", - "XPF", - "GMD", - "GEL", - "GHS", - "GIP", - "GTQ", - "GBP", - "GNF", - "GYD", - "HTG", - "HNL", - "HKD", - "HUF", - "ISK", - "IDR", - "XDR", - "IRR", - "IQD", - "ILS", - "JMD", - "JPY", - "JOD", - "KZT", - "KES", - "KPW", - "KRW", - "KWD", - "KGS", - "LAK", - "LBP", - "LSL", - "ZAR", - "LRD", - "LYD", - "CHF", - "MOP", - "MKD", - "MGA", - "MWK", - "MYR", - "MVR", - "MRU", - "MUR", - "XUA", - "MXN", - "MXV", - "MDL", - "MNT", - "MAD", - "MZN", - "MMK", - "NAD", - "NPR", - "NIO", - "NGN", - "OMR", - "PKR", - "PAB", - "PGK", - "PYG", - "PEN", - "PHP", - "PLN", - "QAR", - "RON", - "RUB", - "RWF", - "SHP", - "WST", - "STN", - "SAR", - "RSD", - "SCR", - "SLL", - "SGD", - "XSU", - "SBD", - "SOS", - "SSP", - "LKR", - "SDG", - "SRD", - "SEK", - "CHE", - "CHW", - "SYP", - "TWD", - "TJS", - "TZS", - "THB", - "TOP", - "TTD", - "TND", - "TRY", - "TMT", - "UGX", - "UAH", - "AED", - "USN", - "UYU", - "UYI", - "UYW", - "UZS", - "VUV", - "VES", - "VND", - "YER", - "ZMW", - "ZWL", - "XBA", - "XBB", - "XBC", - "XBD", - "XTS", - "XXX", - "XAU", - "XPD", - "XPT", - "XAG" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Currency" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Amount of money with currency " - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Money" - ] - }, - { - "name": "skyflow.validation.maxValue", - "values": [ - "0" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Money" - ] - } - ] - }, - { - "name": "billing_address", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Card billing address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - { - "name": "cardholder_name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the card holder" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "cards.transactions_skyflow_id=transactions.skyflow_id", - "cards.bank_accounts_skyflow_id=bank_accounts.skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Cards" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer credit/debit cards" - ] - } - ] - }, - { - "name": "transactions", - "parentSchemaProperties": { - "parentFieldTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "transactions.merchants_skyflow_id=merchants.skyflow_id", - "transactions.financial_service_providers_skyflow_id=financial_service_providers.skyflow_id" - ] - } - ] - }, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - }, - { - "name": "validation_result", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Validation result of transaction" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ValidationResult" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_VALIDATION_RESULT", - "VALID", - "WRONG_CVV", - "WRONG_ADDRESS", - "OVER_MAX_AMOUNT", - "EXPIRED", - "SCREENING" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ValidationResult" - ] - } - ] - }, - { - "name": "status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Status of card transaction" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "TransactionStatus" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_TRANSACTION_STATUS", - "SUCCESSFUL", - "PENDING", - "FAILED" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.TransactionStatus" - ] - } - ] - }, - { - "name": "transacted_at", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.TimeStamp" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Timestamp of card transaction" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?" - ] - } - ] - }, - { - "name": "merchants_skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Merchant ID for whom the transaction is being made" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "transaction_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Transaction ID provided by payment gateway" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - }, - { - "name": "financial_service_providers_skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Financial service provider being used by the transaction" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "amount", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Amount of the card transaction" - ] - }, - { - "name": "skyflow.validation.minValue", - "values": [ - "0" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Money" - ] - } - ] - }, - "fields": [ - { - "name": "amount", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Amount" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Amount of money" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "currency_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "ISO 4217 recognized three letter currency code" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Currency Code" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CURRENCY", - "AFN", - "EUR", - "ALL", - "DZD", - "USD", - "AOA", - "XCD", - "ARS", - "AMD", - "AWG", - "AUD", - "AZN", - "BSD", - "BHD", - "BDT", - "BBD", - "BYN", - "BZD", - "XOF", - "BMD", - "INR", - "BTN", - "BOB", - "BOV", - "BAM", - "BWP", - "NOK", - "BRL", - "BND", - "BGN", - "BIF", - "CVE", - "KHR", - "XAF", - "CAD", - "KYD", - "CLP", - "CLF", - "CNY", - "COP", - "COU", - "KMF", - "CDF", - "NZD", - "CRC", - "HRK", - "CUP", - "CUC", - "ANG", - "CZK", - "DKK", - "DJF", - "DOP", - "EGP", - "SVC", - "ERN", - "SZL", - "ETB", - "FKP", - "FJD", - "XPF", - "GMD", - "GEL", - "GHS", - "GIP", - "GTQ", - "GBP", - "GNF", - "GYD", - "HTG", - "HNL", - "HKD", - "HUF", - "ISK", - "IDR", - "XDR", - "IRR", - "IQD", - "ILS", - "JMD", - "JPY", - "JOD", - "KZT", - "KES", - "KPW", - "KRW", - "KWD", - "KGS", - "LAK", - "LBP", - "LSL", - "ZAR", - "LRD", - "LYD", - "CHF", - "MOP", - "MKD", - "MGA", - "MWK", - "MYR", - "MVR", - "MRU", - "MUR", - "XUA", - "MXN", - "MXV", - "MDL", - "MNT", - "MAD", - "MZN", - "MMK", - "NAD", - "NPR", - "NIO", - "NGN", - "OMR", - "PKR", - "PAB", - "PGK", - "PYG", - "PEN", - "PHP", - "PLN", - "QAR", - "RON", - "RUB", - "RWF", - "SHP", - "WST", - "STN", - "SAR", - "RSD", - "SCR", - "SLL", - "SGD", - "XSU", - "SBD", - "SOS", - "SSP", - "LKR", - "SDG", - "SRD", - "SEK", - "CHE", - "CHW", - "SYP", - "TWD", - "TJS", - "TZS", - "THB", - "TOP", - "TTD", - "TND", - "TRY", - "TMT", - "UGX", - "UAH", - "AED", - "USN", - "UYU", - "UYI", - "UYW", - "UZS", - "VUV", - "VES", - "VND", - "YER", - "ZMW", - "ZWL", - "XBA", - "XBB", - "XBC", - "XBD", - "XTS", - "XXX", - "XAU", - "XPD", - "XPT", - "XAG" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Currency" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Money" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Amount of money with currency " - ] - }, - { - "name": "skyflow.validation.minValue", - "values": [ - "0" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Money" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.references_key", - "values": [ - "transactions.merchants_skyflow_id=merchants.skyflow_id", - "transactions.financial_service_providers_skyflow_id=financial_service_providers.skyflow_id" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Transactions" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer card transactions" - ] - } - ] - }, - { - "name": "financial_service_providers", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the financial service provider" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - { - "name": "credentials", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Credentials of financial service provider" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Credential" - ] - } - ] - }, - "fields": [ - { - "name": "url", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "url" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "(^$)|(https?:\\/\\/)?([\\w\\-])+\\.{1}([a-zA-Z]{2,63})([\\/\\w-]*)*\\/?\\??([^#\\n\\r]*)?#?([^\\n\\r]*)" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "url" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - } - ] - }, - { - "name": "api_token", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "API token" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "API token" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "username", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "username" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Username" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Credentials type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Credentials" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "TOKEN_BASED", - "MULTIFACTOR_AUTH", - "PASSWORD_BASED" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Credential.Type" - ] - } - ] - }, - { - "name": "password", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Password" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Password" - ] - } - ] - }, - { - "name": "public_key", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Public key" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Public key" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - } - ] - }, - { - "name": "private_key", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Private key" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Private key" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Credential" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Credential details" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Credential" - ] - } - ] - }, - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email(s) of the financial service provider" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number(s) of the financial service provider" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "FinancialServiceProviders" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Financial Service Provider" - ] - } - ] - }, - { - "name": "merchants", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - } - ] - }, - { - "name": "employer_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.EIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "ID of the employer" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Employer Identification Number" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0][1-6]|[1][0-6]|[2][0-7]|[3][0-9]|[4][0-8]|[5][0-9]|[6][0-8]|[7][1-7]|[8][0-8]|[9][0-9])\\-[0-9]{7}$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the merchant" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - "fields": [ - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Part prefixed as a title before a person's name" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First name of a person" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Middle name of a person" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA", - "GLBA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-]+$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last name of a person" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "The use of a human name" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "USUAL", - "OFFICIAL", - "TEMP", - "NICKNAME", - "ANONYMOUS", - "OLD", - "MAIDEN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName.Use" - ] - } - ] - }, - { - "name": "suffix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Suffix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Parts that come after the name" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.HumanName" - ] - } - ] - }, - { - "name": "emails", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email(s) of the merchant" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Type of Email Address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "PERSONAL", - "OFFICIAL", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email addresses" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Email" - ] - } - ] - }, - { - "name": "phone_numbers", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number(s) of the person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - "fields": [ - { - "name": "value", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number Details" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - } - ] - }, - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of Phone Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "HOME", - "WORK", - "MOBILE", - "TEMP", - "OLD" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber.Type" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Phone Number of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PhoneNumber" - ] - } - ] - }, - { - "name": "addresses", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Addresse(s) of the merchant" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - }, - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name on address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "use", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Use" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "The use of an address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_USE", - "HOME", - "WORK", - "TEMPORARY", - "OLD_INCORRECT" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.Use" - ] - } - ] - }, - { - "name": "line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 1" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First line of address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Second line of address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "latitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude of the address" - ] - } - ] - }, - { - "name": "longitude", - "datatype": "DT_FLOAT32", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Float" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude of the address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude" - ] - } - ] - }, - { - "name": "city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District or County" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State of a country" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip code or postal code" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "address_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Type of address (primary or secondary)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address Type" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ADDRESS_TYPE", - "POSTAL", - "PHYSICAL", - "BOTH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address.AddressType" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Address" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "An address of an individual" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Address" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Merchants" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Merchant used by consumer" - ] - } - ] - }, - { - "name": "bank_accounts", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - } - ] - }, - { - "name": "bank_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Bank Name" - ] - } - ] - }, - { - "name": "account_type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Account type" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Bank Account Type" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_TYPE", - "CHECKING", - "SAVINGS" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.BankAccountType" - ] - } - ] - }, - { - "name": "account_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.BankAccountNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Bank Account Number" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "routing_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.BankRoutingNumber" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Routing number" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]*)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "plaid_access_token", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Plaid access token" - ] - } - ] - }, - { - "name": "plaid_account_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Plaid account ID" - ] - } - ] - }, - { - "name": "plaid_account_subtype", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Plaid Account Subtype" - ] - } - ] - }, - { - "name": "verification_status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Verification Status" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Verification can take up to several days, this field tracks the current status" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_VERIFICATION_STATUS", - "PENDING_AUTOMATIC_VERIFICATION", - "PENDING_MANUAL_VERIFICATION", - "AUTOMATICALLY_VERIFIED", - "MANUALLY_VERIFIED", - "VERIFICATION_EXPIRED", - "VERIFICATION_FAILED" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.BankAccount.VerificationStatus" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Accounts" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer bank accounts" - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.experimental", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.tier", - "values": [ - "ENTERPRISE" - ] - }, - { - "name": "skyflow.options.template_description", - "values": [ - "Payment vault consists of Consumers, Credit Scores, Cards, Transactions, Financial Service Providers and Merchants objects that provides the ability to store payment information about a consumer." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "Payment" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Payment" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/payments_acceptance_sample.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/payments_acceptance_sample.json deleted file mode 100644 index 0713fbc..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/payments_acceptance_sample.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "schemas": [ - { - "name": "card_details", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["PLAIN_TEXT"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { "name": "skyflow.options.sensitivity", "values": ["LOW"] }, - { - "name": "skyflow.options.data_type", - "values": ["skyflow.SkyflowID"] - }, - { - "name": "skyflow.options.description", - "values": ["Skyflow defined Primary Key"] - }, - { "name": "skyflow.options.display_name", "values": ["Skyflow ID"] } - ] - }, - { - "name": "name_on_card", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.validation.regular_exp", - "values": ["^([a-zA-Z]+|([a-zA-Z ]+[a-zA-Z]))$"] - }, - { - "name": "skyflow.options.identifiability", - "values": ["MODERATE_IDENTIFIABILITY"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_UUID"] - }, - { - "name": "skyflow.options.configuration_tags", - "values": ["NULLABLE"] - }, - { - "name": "skyflow.options.personal_information_type", - "values": ["PII", "PHI"] - }, - { - "name": "skyflow.options.privacy_law", - "values": ["GDPR", "CCPA", "HIPAA"] - }, - { - "name": "skyflow.options.description", - "values": ["An individual's first, middle, or last name"] - }, - { - "name": "skyflow.options.display_name", - "values": ["Name on Card"] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.options.identifiability", - "values": ["HIGH_IDENTIFIABILITY"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_UUID"] - }, - { - "name": "skyflow.options.personal_information_type", - "values": ["PII", "PHI", "NPI"] - }, - { - "name": "skyflow.options.privacy_law", - "values": ["GDPR", "CCPA", "HIPAA"] - }, - { - "name": "skyflow.options.data_type", - "values": ["skyflow.CardNumber"] - }, - { - "name": "skyflow.options.description", - "values": ["Credit or debit card number"] - }, - { - "name": "skyflow.options.display_name", - "values": ["Card Number"] - } - ] - }, - { - "name": "expiry_month", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.validation.regular_exp", - "values": ["^(0[1-9]|1[0-2])$"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_UUID"] - }, - { - "name": "skyflow.options.description", - "values": ["Expiration month of a credit/debit card"] - }, - { - "name": "skyflow.options.display_name", - "values": ["Expiry Month"] - } - ] - }, - { - "name": "expiry_year", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.validation.regular_exp", - "values": ["^(202[2-9])|(20[3-6][0-9])|(207[0-2])$"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_UUID"] - }, - { - "name": "skyflow.options.description", - "values": ["Expiration year of a credit/debit card"] - }, - { - "name": "skyflow.options.display_name", - "values": ["Expiry Year"] - } - ] - }, - { - "name": "cvv", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.validation.regular_exp", - "values": ["^[0-9]{3,4}$"] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["NON_DETERMINISTIC_TRANSIENT_UUID"] - }, - { - "name": "skyflow.options.description", - "values": ["CVV or CVC of a credit/debit card"] - }, - { "name": "skyflow.options.display_name", "values": ["CVV"] }, - { - "name": "skyflow.options.ttl", - "values": ["60"] - }, - { - "name": "skyflow.options.data_type", - "values": ["skyflow.CardCVV"] - } - ] - }, - { - "name": "created_at", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { "name": "skyflow.options.operation", "values": ["ALL_OP"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["DETERMINISTIC_UUID"] - }, - { - "name": "skyflow.options.description", - "values": ["Timestamp of when a payment was made"] - }, - { - "name": "skyflow.options.display_name", - "values": ["Created at"] - } - ] - } - ], - "childrenSchemas": [], - "schemaTags": [ - { "name": "skyflow.options.display_name", "values": ["Card Details"] }, - { - "name": "skyflow.options.description", - "values": [ - "Card Details object stores attributes related to a credit card." - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.experimental", - "values": ["true"] - }, - { - "name": "skyflow.options.template_description", - "values": ["This vault is used for Payments Acceptance Sample App."] - }, - { - "name": "skyflow.options.vault_main_object", - "values": ["PaymentsAcceptanceSample"] - }, - { - "name": "skyflow.options.query_interface", - "values": ["REST", "SQL"] - }, - { - "name": "skyflow.options.env_name", - "values": ["ALL_ENV"] - }, - { - "name": "skyflow.options.display_name", - "values": ["PaymentsAcceptanceSample"] - } - ] -} diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/pii_data.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/pii_data.json deleted file mode 100644 index e678b43..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/pii_data.json +++ /dev/null @@ -1,11130 +0,0 @@ -{ - "schemas": [ - { - "name": "pii_fields", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - } - ] - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Name" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "First Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "First Name of a person" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-;]+$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Middle Name of a person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Name" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Middle Name" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-;]+$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Name" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Last Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Last Name of a person" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-;]+$" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "prefix", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Prefix" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Prefix of name of a person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.NamePrefix" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Date of Birth of a person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DOB" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Date of birth" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "age", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Age of a person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIAge" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Age" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "gender", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Gender of the person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Gender" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED", - "MALE", - "FEMALE", - "NON_BINARY", - "TRANSGENDER_MALE", - "TRANSGENDER_FEMALE", - "OTHER", - "NON_DISCLOSE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Gender" - ] - } - ] - }, - { - "name": "primary_phone_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIPhoneNumber" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Primary Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Primary Phone Number of a person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "work_phone_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIPhoneNumber" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Work Phone Number" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Work Phone Number of a person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - } - ] - }, - { - "name": "personal_phone_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Personal Phone Number of a person" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIPhoneNumber" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Personal Phone Number" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[+]?[0-9]{0,3}\\s*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*([0-9]{4})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXX${1}" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "primary_email_address", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Primary email address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PrimaryEmail" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Primary Email Address of a person" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^([a-z]{20})@([a-z]{10})\\.com$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "work_email_address", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Primary email address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PrimaryEmail" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Work Email Address of a person" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^([a-z]{20})@([a-z]{10})\\.com$" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "personal_email_address", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Primary email address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PrimaryEmail" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Personal Email Address of a person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^([a-z]{20})@([a-z]{10})\\.com$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - } - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SSN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Social Scurity Number" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Security Number" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "drivers_license", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "US Driver's License Number(s)" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DriversLicense" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Driver's license number" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "(^$)|^[0-9]{1,8}$", - "(^$)|^[0-9]{1,7}$", - "(^$)|(^[A-Z]{1}[0-9]{1,8}$)|(^[A-Z]{2}[0-9]{2,5}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{4,9}$", - "(^$)|^[A-Z]{1}[0-9]{7}$", - "(^$)|(^[0-9]{9}$)|(^[A-Z]{1}[0-9]{3,6}$)|(^[A-Z]{2}[0-9]{2,5}$)", - "(^$)|^[0-9]{9}$", - "(^$)|^[0-9]{1,7}$", - "(^$)|(^[0-9]{7}$)|(^[0-9]{9}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|^[0-9]{7,9}$", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{2}[0-9]{6}[A-Z]{1}$)|(^[0-9]{9}$)", - "(^$)|^[A-Z]{1}[0-9]{11,12}$", - "(^$)|(^[A-Z]{1}[0-9]{9}$)|(^[0-9]{9,10}$)", - "(^$)|^([0-9]{9}|([0-9]{3}[A-Z]{2}[0-9]{4}))$", - "(^$)|(^([A-Z]{1}[0-9]{1}){2}[A-Z]{1}$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{8,9}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{1,9}$", - "(^$)|(^[0-9]{7,8}$)|(^[0-9]{7}[A-Z]{1}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{10}$)|(^[A-Z]{1}[0-9]{12}$)", - "(^$)|^[A-Z]{1}[0-9]{12}$", - "(^$)|^[0-9]{9}$", - "(^$)|(^[A-Z]{1}[0-9]{5,9}$)|(^[A-Z]{1}[0-9]{6}[R]{1}$)|(^[0-9]{8}[A-Z]{2}$)|(^[0-9]{9}[A-Z]{1}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{8}$)|(^[0-9]{13}$)|(^[0-9]{9}$)|(^[0-9]{14}$)", - "(^$)|^[A-Z]{1}[0-9]{6,8}$", - "(^$)|(^[0-9]{9,10}$)|(^[0-9]{12}$)|(^[X]{1}[0-9]{8}$)", - "(^$)|^[0-9]{2}[A-Z]{3}[0-9]{5}$", - "(^$)|^[A-Z]{1}[0-9]{14}$", - "(^$)|^[0-9]{8,9}$", - "(^$)|(^[A-Z]{1}[0-9]{7}$)|(^[A-Z]{1}[0-9]{18}$)|(^[0-9]{8}$)|(^[0-9]{9}$)|(^[0-9]{16}$)|(^[A-Z]{8}$)", - "(^$)|^[0-9]{1,12}$", - "(^$)|(^[A-Z]{3}[0-9]{6}$)|(^[0-9]{9}$)", - "(^$)|(^[A-Z]{1}[0-9]{4,8}$)|(^[A-Z]{2}[0-9]{3,7}$)|(^[0-9]{8}$)", - "(^$)|(^[A-Z]{1}[0-9]{9}$)|(^[0-9]{9}$)", - "(^$)|^[0-9]{1,9}$", - "(^$)|^[0-9]{8}$", - "(^$)|(^[0-9]{7}$)|(^[A-Z]{1}[0-9]{6}$)", - "(^$)|^[0-9]{5,11}$", - "(^$)|(^[0-9]{6,10}$)|(^[0-9]{12}$)", - "(^$)|^[0-9]{7,9}$", - "(^$)|^[0-9]{7,8}$", - "(^$)|^[0-9]{4,10}$", - "(^$)|(^[0-9]{8}$)|(^[0-9]{7}[A]$)", - "(^$)|(^[A-Z]{1}[0-9]{8,11}$)|(^[0-9]{9}$)", - "(^$)|^(=.{12}$)[A-Z]{1,7}[A-Z0-9\\*]{4,11}$", - "(^$)|(^[0-9]{7}$)|(^[A-Z]{1,2}[0-9]{5,6}$)", - "(^$)|^[A-Z]{1}[0-9]{13}$", - "(^$)|^[0-9]{9,10}$" - ] - } - ] - }, - { - "name": "itin", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ITIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Individual Tax Identification Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "9[0-9]{2}-[0-9]{2}-([0-9]{4})" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^(9[0-9]{2}-[0-9]{2}-[0-9]{4})$" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "(9[0-9]{2}-[0-9]{2}-[0-9]{4})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX-XX-$1" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Individual Taxpayer Identification Number" - ] - } - ] - }, - { - "name": "passport_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PassportNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "US Passport Number" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Passport Number" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - ".*(.{3})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "([A-Z0-9]{9})" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([A-Za-z0-9]{6,9})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "******${1}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "race", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Race of the person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Race" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_RACE", - "AMERICAN_INDIAN_OR_ALASKA_NATIVE", - "AMERICAN_INDIAN", - "ABENAKI", - "ALGONQUIAN", - "APACHE", - "CHIRICAHUA", - "FORT_SILL_APACHE", - "JICARILLA_APACHE", - "LIPAN_APACHE", - "MESCALERO_APACHE", - "OKLAHOMA_APACHE", - "PAYSON_APACHE", - "SAN_CARLOS_APACHE", - "WHITE_MOUNTAIN_APACHE", - "ARAPAHO", - "NORTHERN_ARAPAHO", - "SOUTHERN_ARAPAHO", - "WIND_RIVER_ARAPAHO", - "ARIKARA", - "ASSINIBOINE", - "ASSINIBOINE_SIOUX", - "FORT_PECK_ASSINIBOINE_SIOUX", - "BANNOCK", - "BLACKFEET", - "BROTHERTON", - "BURT_LAKE_BAND", - "CADDO", - "OKLAHOMA_CADO", - "CAHUILLA", - "AGUA_CALIENTE_CAHUILLA", - "AUGUSTINE", - "CABAZON", - "LOS_COYOTES", - "MORONGO", - "SANTA_ROSA_CAHUILLA", - "TORRES_MARTINEZ", - "CALIFORNIA_TRIBES", - "CAHTO", - "CHIMARIKO", - "COAST_MIWOK", - "DIGGER", - "KAWAIISU", - "KERN_RIVER", - "MATTOLE", - "RED_WOOD", - "SANTA_ROSA", - "TAKELMA", - "WAPPO", - "YANA", - "YUKI", - "CANADIAN_AND_LATIN_AMERICAN_INDIAN", - "CANADIAN_INDIAN", - "CENTRAL_AMERICAN_INDIAN", - "FRENCH_AMERICAN_INDIAN", - "MEXICAN_AMERICAN_INDIAN", - "SOUTH_AMERICAN_INDIAN", - "SPANISH_AMERICAN_INDIAN", - "CATAWBA", - "ALATNA", - "ALEXANDER", - "ALLAKAKET", - "ALANVIK", - "ANVIK", - "ARCTIC", - "BEAVER", - "BIRCH_CREEK", - "CANTWELL", - "CHALKYITSIK", - "CHICKALOON", - "CHISTOCHINA", - "CHITINA", - "CIRCLE", - "COOK_INLET", - "COPPER_CENTER", - "COPPER_RIVER", - "DOT_LAKE", - "DOYON", - "EAGLE", - "EKLUTNA", - "EVANSVILLE", - "FORT_YUKON", - "GAKONA", - "GALENA", - "GRAYLING", - "GULKANA", - "HEALY_LAKE", - "HOLY_CROSS", - "HUGHES", - "HUSLIA", - "ILIAMNA", - "KALTAG", - "KLUTI_KAAH", - "KNIK", - "KOYUKUK", - "LAKE_MINCHUMINA", - "LIME", - "MCGRATH", - "MANLEY_HOT_SPRINGS", - "MENTASTA_LAKE", - "MINTO", - "NENANA", - "NIKOLAI", - "NINILCHIK", - "NONDALTON", - "NORTHWAY", - "NULATO", - "PEDRO_BAY", - "RAMPART", - "RUBY", - "SALAMATOF", - "SELDOVIA", - "SLANA", - "SHAGELUK", - "STEVENS", - "STONY_RIVER", - "TAKOTNA", - "TANACROSS", - "TANAINA", - "TANANA", - "TANANA_CHIEFS", - "TAZLINA", - "TELIDA", - "TETLIN", - "TOK", - "TYONEK", - "VENETIE", - "WISEMAN", - "CAYUSE", - "CHEHALIS", - "CHEMAKUAN", - "HOH", - "QUILEUTE", - "CHEMEHUEVI", - "CHEROKEE", - "CHEROKEE_ALABAMA", - "CHEROKEES_OF_NORTHEAST_ALABAMA", - "CHEROKEES_OF_SOUTHEAST_ALABAMA", - "EASTERN_CHEROKEE", - "ECHOTA_CHEROKEE", - "ETOWAH_CHEROKEE", - "NORTHERN_CHEROKEE", - "TUSCOLA", - "UNITED_KEETOWAH_BAND_OF_CHEROKEE", - "WESTERN_CHEROKEE", - "CHEROKEE_SHAWNEE", - "CHEYENNE", - "NORTHERN_CHEYENNE", - "SOUTHERN_CHEYENNE", - "CHEYENNE_ARAPAHO", - "CHICKAHOMINY", - "EASTERN_CHICKAHOMINY", - "WESTERN_CHICKAHOMINY", - "CHICKASAW", - "CHINOOK", - "CLATSOP", - "COLUMBIA_RIVER_CHINOOK", - "KATHLAMET", - "UPPER_CHINOOK", - "WAKIAKUM_CHINOOK", - "WILLAPA_CHINOOK", - "WISHRAM", - "CHIPPEWA", - "BAD_RIVER", - "BAY_MILLS_CHIPPEWA", - "BOIS_FORTE", - "BURT_LAKE_CHIPPEWA", - "FOND_DU_LAC", - "GRAND_PORTAGE", - "GRAND_TRAVERSE_BAND_OF_OTTAWA_CHIPPEWA", - "KEWEENAW", - "LAC_COURTE_OREILLES", - "LAC_DU_FLAMBEAU", - "LAC_VIEUX_DESERT_CHIPPEWA", - "LAKE_SUPERIOR", - "LEECH_LAKE", - "LITTLE_SHELL_CHIPPEWA", - "MILLE_LACS", - "MINNESOTA_CHIPPEWA", - "ONTONAGON", - "RED_CLIFF_CHIPPEWA", - "RED_LAKE_CHIPPEWA", - "SAGINAW_CHIPPEWA", - "ST_CROIX_CHIPPEWA", - "SAULT_STE_MARIE_CHIPPEWA", - "SOKOAGON_CHIPPEWA", - "TURTLE_MOUNTAIN", - "WHITE_EARTH", - "CHIPPEWA_CREE", - "ROCKY_BOYS_CHIPPEWA_CREE", - "CHITIMACHA", - "CHOCTAW", - "CLIFTON_CHOCTAW", - "JENA_CHOCTAW", - "MISSISSIPPI_CHOCTAW", - "MOWA_BAND_OF_CHOCTAW", - "OKLAHOMA_CHOCTAW", - "CHUMASH", - "SANTA_YNEZ", - "CLEAR_LAKE", - "COEUR_DALENE", - "COHARIE", - "COLORADO_RIVER", - "COLVILLE", - "COMANCHE", - "OKLAHOMA_COMANCHE", - "COOS_LOWER_UMPQUA_SIUSLAW", - "COOS", - "COQUILLES", - "COSTANOAN", - "COUSHATTA", - "ALABAMA_COUSHATTA", - "COWLITZ", - "CREE", - "CREEK", - "ALABAMA_CREEK", - "ALABAMA_QUASSARTE", - "EASTERN_CREEK", - "EASTERN_MUSCOGEE", - "KIALEGEE", - "LOWER_MUSCOGEE", - "MACHIS_LOWER_CREEK_INDIAN", - "POARCH_BAND", - "PRINCIPAL_CREEK_INDIAN_NATION", - "STAR_CLAN_OF_MUSCOGEE_CREEKS", - "THLOPTHLOCCO", - "TUCKABACHEE", - "CROATAN", - "CROW", - "CUPENO", - "AGUA_CALIENTE", - "DELAWARE", - "EASTERN_DELAWARE", - "LENNI_LENAPE", - "MUNSEE", - "OKLAHOMA_DELAWARE", - "RAMPOUGH_MOUNTAIN", - "SAND_HILL", - "DIEGUENO", - "CAMPO", - "CAPITAN_GRANDE", - "CUYAPAIPE", - "LA_POSTA", - "MANZANITA", - "MESA_GRANDE", - "SAN_PASQUAL", - "SANTA_YSABEL", - "SYCUAN", - "EASTERN_TRIBES", - "ATTACAPA", - "BILOXI", - "GEORGETOWN", - "MOOR", - "NANSEMOND", - "NATCHEZ", - "NAUSU_WAIWASH", - "NIPMUC", - "PAUGUSSETT", - "POCOMOKE_ACOHONOCK", - "SOUTHEASTERN_INDIANS", - "SUSQUEHANOCK", - "TUNICA_BILOXI", - "WACCAMAW_SIOUSAN", - "WICOMICO", - "ESSELEN", - "FORT_BELKNAP", - "FORT_BERTHOLD", - "FORT_MCDOWELL", - "FORT_HALL", - "GABRIELENO", - "GRAND_RONDE", - "GROS_VENTRES", - "ATSINA", - "HALIWA", - "HIDATSA", - "HOOPA", - "TRINITY", - "WHILKUT", - "HOOPA_EXTENSION", - "HOUMA", - "INAJA_COSMIT", - "IOWA", - "IOWA_OF_KANSAS_NEBRASKA", - "IOWA_OF_OKLAHOMA", - "IROQUOIS", - "CAYUGA", - "MOHAWK", - "ONEIDA", - "ONONDAGA", - "SENECA", - "SENECA_NATION", - "SENECA_CAYUGA", - "TONAWANDA_SENECA", - "TUSCARORA", - "WYANDOTTE", - "JUANENO", - "KALISPEL", - "KARUK", - "KAW", - "KICKAPOO", - "OKLAHOMA_KICKAPOO", - "TEXAS_KICKAPOO", - "KIOWA", - "OKLAHOMA_KIOWA", - "KLALLAM", - "JAMESTOWN", - "LOWER_ELWHA", - "PORT_GAMBLE_KLALLAM", - "KLAMATH", - "KONKOW", - "KOOTENAI", - "LASSIK", - "LONG_ISLAND", - "MATINECOCK", - "MONTAUK", - "POOSPATUCK", - "SETAUKET", - "LUISENO", - "LA_JOLLA", - "PALA", - "PAUMA", - "PECHANGA", - "SOBOBA", - "TWENTY_NINE_PALMS", - "TEMECULA", - "LUMBEE", - "LUMMI", - "MAIDU", - "MOUNTAIN_MAIDU", - "NISHINAM", - "MAKAH", - "MALISEET", - "MANDAN", - "MATTAPONI", - "MENOMINEE", - "MIAMI", - "ILLINOIS_MIAMI", - "INDIANA_MIAMI", - "OKLAHOMA_MIAMI", - "MICCOSUKEE", - "MICMAC", - "AROOSTOOK", - "MISSION_INDIANS", - "MIWOK", - "MODOC", - "MOHEGAN", - "MONO", - "NANTICOKE", - "NARRAGANSETT", - "NAVAJO", - "ALAMO_NAVAJO", - "CANONCITO_NAVAJO", - "RAMAH_NAVAJO", - "NEZ_PERCE", - "NOMALAKI", - "NORTHWEST_TRIBES", - "ALSEA", - "CELILO", - "COLUMBIA", - "KALAPUYA", - "MOLALA", - "TALAKAMISH", - "TENINO", - "TILLAMOOK", - "WENATCHEE", - "YAHOOSKIN", - "OMAHA", - "OREGON_ATHABASKAN", - "OSAGE", - "OTOE_MISSOURIA", - "OTTAWA", - "BURT_LAKE_OTTAWA", - "MICHIGAN_OTTAWA", - "OKLAHOMA_OTTAWA", - "PAIUTE", - "BISHOP", - "BRIDGEPORT", - "BURNS_PAIUTE", - "CEDARVILLE", - "FORT_BIDWELL", - "FORT_INDEPENDENCE", - "KAIBAB", - "LAS_VEGAS", - "LONE_PINE", - "LOVELOCK", - "MALHEUR_PAIUTE", - "MOAPA", - "NORTHERN_PAIUTE", - "OWENS_VALLEY", - "PYRAMID_LAKE", - "SAN_JUAN_SOUTHERN_PAIUTE", - "SOUTHERN_PAIUTE", - "SUMMIT_LAKE", - "UTU_UTU_GWAITU_PAIUTE", - "WALKER_RIVER", - "YERINGTON_PAIUTE", - "PAMUNKEY", - "PASSAMAQUODDY", - "INDIAN_TOWNSHIP", - "PLEASANT_POINT_PASSAMAQUODDY", - "PAWNEE", - "OKLAHOMA_PAWNEE", - "PENOBSCOT", - "PEORIA", - "OKLAHOMA_PEORIA", - "PEQUOT", - "MARSHANTUCKET_PEQUOT", - "PIMA", - "GILA_RIVER_PIMA_MARICOPA", - "SALT_RIVER_PIMA_MARICOPA", - "PISCATAWAY", - "PIT_RIVER", - "POMO", - "CENTRAL_POMO", - "DRY_CREEK", - "EASTERN_POMO", - "KASHIA", - "NORTHERN_POMO", - "SCOTTS_VALLEY", - "STONYFORD", - "SULPHUR_BANK", - "PONCA", - "NEBRASKA_PONCA", - "OKLAHOMA_PONCA", - "POTAWATOMI", - "CITIZEN_BAND_POTAWATOMI", - "FOREST_COUNTY", - "HANNAHVILLE", - "HURON_POTAWATOMI", - "POKAGON_POTAWATOMI", - "PRAIRIE_BAND", - "WISCONSIN_POTAWATOMI", - "POWHATAN", - "PUEBLO", - "ACOMA", - "ARIZONA_TEWA", - "COCHITI", - "HOPI", - "ISLETA", - "JEMEZ", - "KERES", - "LAGUNA", - "NAMBE", - "PICURIS", - "PIRO", - "POJOAQUE", - "SAN_FELIPE", - "SAN_ILDEFONSO", - "SAN_JUAN_PUEBLO", - "SAN_JUAN_DE", - "SAN_JUAN", - "SANDIA", - "SANTA_ANA", - "SANTA_CLARA", - "SANTO_DOMINGO", - "TAOS", - "TESUQUE", - "TEWA", - "TIGUA", - "ZIA", - "ZUNI", - "PUGET_SOUND_SALISH", - "DUWAMISH", - "KIKIALLUS", - "LOWER_SKAGIT", - "MUCKLESHOOT", - "NISQUALLY", - "NOOKSACK", - "PORT_MADISON", - "PUYALLUP", - "SAMISH", - "SAUK_SUIATTLE", - "SKOKOMISH", - "SKYKOMISH", - "SNOHOMISH", - "SNOQUALMIE", - "SQUAXIN_ISLAND", - "STEILACOOM", - "STILLAGUAMISH", - "SUQUAMISH", - "SWINOMISH", - "TULALIP", - "UPPER_SKAGIT", - "QUAPAW", - "QUINAULT", - "RAPPAHANNOCK", - "RENO_SPARKS", - "ROUND_VALLEY", - "SAC_AND_FOX", - "IOWA_SAC_AND_FOX", - "MISSOURI_SAC_AND_FOX", - "OKLAHOMA_SAC_AND_FOX", - "SALINAN", - "SALISH", - "SALISH_AND_KOOTENAI", - "SCHAGHTICOKE", - "SCOTT_VALLEY", - "SEMINOLE", - "BIG_CYPRESS", - "BRIGHTON", - "FLORIDA_SEMINOLE", - "HOLLYWOOD_SEMINOLE", - "OKLAHOMA_SEMINOLE", - "SERRANO", - "SAN_MANUAL", - "SHASTA", - "SHAWNEE", - "ABSENTEE_SHAWNEE", - "EASTERN_SHAWNEE", - "SHINNECOCK", - "SHOALWATER_BAY", - "SHOSHONE", - "BATTLE_MOUNTAIN", - "DUCKWATER", - "ELKO", - "ELY", - "GOSHUTE", - "PANAMINT", - "RUBY_VALLEY", - "SKULL_VALLEY", - "SOUTH_FORK_SHOSHONE", - "TE_MOAK_WESTERN_SHOSHONE", - "TIMBI_SHA_SHOSHONE", - "WASHAKIE", - "WIND_RIVER_SHOSHONE", - "YOMBA", - "SHOSHONE_PAIUTE", - "DUCK_VALLEY", - "FALLON", - "FORT_MCDERMITT", - "SILETZ", - "SIOUX", - "BLACKFOOT_SIOUX", - "BRULE_SIOUX", - "CHEYENNE_RIVER_SIOUX", - "CROW_CREEK_SIOUX", - "DAKOTA_SIOUX", - "FLANDREAU_SANTEE", - "FORT_PECK", - "LAKE_TRAVERSE_SIOUX", - "LOWER_BRULE_SIOUX", - "LOWER_SIOUX", - "MDEWAKANTON_SIOUX", - "MINICONJOU", - "OGLALA_SIOUX", - "PINE_RIDGE_SIOUX", - "PIPESTONE_SIOUX", - "PRAIRIE_ISLAND_SIOUX", - "PRIOR_LAKE_SIOUX", - "ROSEBUD_SIOUX", - "SANS_ARC_SIOUX", - "SANTEE_SIOUX", - "SISSETON_WAHPETON", - "SISSETON_SIOUX", - "SPIRIT_LAKE_SIOUX", - "STANDING_ROCK_SIOUX", - "TETON_SIOUX", - "TWO_KETTLE_SIOUX", - "UPPER_SIOUX", - "WAHPEKUTE_SIOUX", - "WAHPETON_SIOUX", - "WAZHAZA_SIOUX", - "YANKTON_SIOUX", - "YANKTONAI_SIOUX", - "SIUSLAW", - "SPOKANE", - "STEWART", - "STOCKBRIDGE", - "SUSANVILLE", - "TOHONO_OODHAM", - "AK_CHIN", - "GILA_BEND", - "SAN_XAVIER", - "SELLS", - "TOLOWA", - "TONKAWA", - "TYGH", - "UMATILLA", - "UMPQUA", - "COW_CREEK_UMPQUA", - "UTE", - "ALLEN_CANYON", - "UINTAH_UTE", - "UTE_MOUNTAIN_UTE", - "WAILAKI", - "WALLA_WALLA", - "WAMPANOAG", - "GAY_HEAD_WAMPANOAG", - "MASHPEE_WAMPANOAG", - "WARM_SPRINGS", - "WASCOPUM", - "WASHOE", - "ALPINE", - "CARSON", - "DRESSLERVILLE", - "WICHITA", - "WIND_RIVER", - "WINNEBAGO", - "HO_CHUNK", - "NEBRASKA_WINNEBAGO", - "WINNEMUCCA", - "WINTUN", - "WIYOT", - "TABLE_BLUFF", - "YAKAMA", - "YAKAMA_COWLITZ", - "YAQUI", - "BARRIO_LIBRE", - "PASCUA_YAQUI", - "YAVAPAI_APACHE", - "YOKUTS", - "CHUKCHANSI", - "TACHI", - "TULE_RIVER", - "YUCHI", - "YUMAN", - "COCOPAH", - "HAVASUPAI", - "HUALAPAI", - "MARICOPA", - "MOHAVE", - "QUECHAN", - "YAVAPAI", - "YUROK", - "COAST_YUROK", - "ALASKA_NATIVE", - "ALASKA_INDIAN", - "ALASKAN_ATHABASCAN", - "AHTNA", - "SOUTHEAST_ALASKA", - "TLINGIT_HAIDA", - "ANGOON", - "CENTRAL_COUNCIL_OF_TLINGIT_AND_HAIDA_TRIBES", - "CHILKAT", - "CHILKOOT", - "CRAIG", - "DOUGLAS", - "HAIDA", - "HOONAH", - "HYDABURG", - "KAKE", - "KASAAN", - "KENAITZE", - "KETCHIKAN", - "KLAWOCK", - "PELICAN", - "PETERSBURG", - "SAXMAN", - "SITKA", - "TENAKEE_SPRINGS", - "TLINGIT", - "WRANGELL", - "YAKUTAT", - "TSIMSHIAN", - "METLAKATLA", - "ESKIMO", - "GREENLAND_ESKIMO", - "INUPIAT_ESKIMO", - "AMBLER", - "ANAKTUVUK", - "ANAKTUVUK_PASS", - "ARCTIC_SLOPE_INUPIAT", - "ARCTIC_SLOPE_CORPORATION", - "ATQASUK", - "BARROW", - "BERING_STRAITS_INUPIAT", - "BREVIG_MISSION", - "BUCKLAND", - "CHINIK", - "COUNCIL", - "DEERING", - "ELIM", - "GOLOVIN", - "INALIK_DIOMEDE", - "INUPIAQ", - "KAKTOVIK", - "KAWERAK", - "KIANA", - "KIVALINA", - "KOBUK", - "KOTZEBUE", - "KOYUK", - "KWIGUK", - "MAUNELUK_INUPIAT", - "NANA_INUPIAT", - "NOATAK", - "NOME", - "NOORVIK", - "NUIQSUT", - "POINT_HOPE", - "POINT_LAY", - "SELAWIK", - "SHAKTOOLIK", - "SHISHMAREF", - "SHUNGNAK", - "SOLOMON", - "TELLER", - "UNALAKLEET", - "WAINWRIGHT", - "WALES", - "WHITE_MOUNTAIN", - "WHITE_MOUNTAIN_INUPIAT", - "MARYS_IGLOO", - "SIBERIAN_ESKIMO", - "GAMBELL", - "SAVOONGA", - "SIBERIAN_YUPIK", - "YUPIK_ESKIMO", - "AKIACHAK", - "AKIAK", - "ALAKANUK", - "ALEKNAGIK", - "ANDREAFSKY", - "ANIAK", - "ATMAUTLUAK", - "BETHEL", - "BILL_MOORES_SLOUGH", - "BRISTOL_BAY_YUPIK", - "CALISTA_YUPIK", - "CHEFORNAK", - "CHEVAK", - "CHUATHBALUK", - "CLARKS_POINT", - "CROOKED_CREEK", - "DILLINGHAM", - "EEK", - "EKUK", - "EKWOK", - "EMMONAK", - "GOODNEWS_BAY", - "HOOPER_BAY", - "IQURMUIT_RUSSIAN_MISSION", - "KALSKAG", - "KASIGLUK", - "KIPNUK", - "KOLIGANEK", - "KONGIGANAK", - "KOTLIK", - "KWETHLUK", - "KWIGILLINGOK", - "LEVELOCK", - "LOWER_KALSKAG", - "MANOKOTAK", - "MARSHALL", - "MEKORYUK", - "MOUNTAIN_VILLAGE", - "NAKNEK", - "NAPAUMUTE", - "NAPAKIAK", - "NAPASKIAK", - "NEWHALEN", - "NEW_STUYAHOK", - "NEWTOK", - "NIGHTMUTE", - "NUNAPITCHUKV", - "OSCARVILLE", - "PILOT_STATION", - "PITKAS_POINT", - "PLATINUM", - "PORTAGE_CREEK", - "QUINHAGAK", - "RED_DEVIL", - "ST_MICHAEL", - "SCAMMON_BAY", - "SHELDONS_POINT", - "SLEETMUTE", - "STEBBINS", - "TOGIAK", - "TOKSOOK", - "TULUKSKAK", - "TUNTUTULIAK", - "TUNUNAK", - "TWIN_HILLS", - "ST_MARYS", - "UMKUMIATE", - "ALEUT", - "ALUTIIQ_ALEUT", - "TATITLEK", - "UGASHIK", - "BRISTOL_BAY_ALEUT", - "CHIGNIK", - "CHIGNIK_LAKE", - "EGEGIK", - "IGIUGIG", - "IVANOF_BAY", - "KING_SALMON", - "KOKHANOK", - "PERRYVILLE", - "PILOT_POINT", - "PORT_HEIDEN", - "CHUGACH_ALEUT", - "CHENEGA", - "CHUGACH_CORPORATION", - "ENGLISH_BAY", - "PORT_GRAHAM", - "EYAK", - "KONIAG_ALEUT", - "AKHIOK", - "AGDAAGUX", - "KARLUK", - "KODIAK", - "LARSEN_BAY", - "OLD_HARBOR", - "OUZINKIE", - "PORT_LIONS", - "SUGPIAQ", - "SUQPIGAQ", - "UNANGAN_ALEUT", - "AKUTAN", - "ALEUT_CORPORATION", - "ALEUTIAN", - "ALEUTIAN_ISLANDER", - "ATKA", - "BELKOFSKI", - "CHIGNIK_LAGOON", - "KING_COVE", - "FALSE_PASS", - "NELSON_LAGOON", - "NIKOLSKI", - "PAULOFF_HARBOR", - "QAGAN_TOYAGUNGIN", - "QAWALANGIN", - "ST_GEORGE", - "ST_PAUL", - "SAND_POINT", - "SOUTH_NAKNEK", - "UNALASKA", - "UNGA", - "ASIAN", - "ASIAN_INDIAN", - "BANGLADESHI_RACE", - "BHUTANESE_RACE", - "BURMESE_RACE", - "CAMBODIAN_RACE", - "CHINESE_RACE", - "TAIWANESE_RACE", - "FILIPINO_RACE", - "HMONG", - "INDONESIAN_RACE", - "JAPANESE_RACE", - "KOREAN", - "LAOTIAN", - "MALAYSIAN_RACE", - "OKINAWAN", - "PAKISTANI_RACE", - "SRI_LANKAN_RACE", - "THAI_RACE", - "VIETNAMESE_RACE", - "IWO_JIMAN", - "MALDIVIAN_RACE", - "NEPALESE_RACE", - "SINGAPOREAN_RACE", - "MADAGASCAR_RACE", - "BLACK_OR_AFRICAN_AMERICAN", - "BLACK", - "AFRICAN_AMERICAN", - "AFRICAN", - "BOTSWANAN_RACE", - "ETHIOPIAN_RACE", - "LIBERIAN_RACE", - "NAMIBIAN_RACE", - "NIGERIAN_RACE", - "ZAIREAN_RACE", - "BAHAMIAN_RACE", - "BARBADIAN_RACE", - "DOMINICAN_RACE", - "DOMINICA_ISLANDER", - "HAITIAN_RACE", - "JAMAICAN_RACE", - "TOBAGOAN", - "TRINIDADIAN_RACE", - "WEST_INDIAN", - "NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER", - "POLYNESIAN", - "NATIVE_HAWAIIAN", - "SAMOAN_RACE", - "TAHITIAN", - "TONGAN_RACE", - "TOKELAUAN", - "MICRONESIAN_RACE", - "GUAMANIAN_OR_CHAMORRO", - "GUAMANIAN_RACE", - "CHAMORRO", - "MARIANA_ISLANDER", - "MARSHALLESE_RACE", - "PALAUAN_RACE", - "CAROLINIAN", - "KOSRAEAN", - "POHNPEIAN", - "SAIPANESE", - "KIRIBATI_RACE", - "CHUUKESE", - "YAPESE", - "MELANESIAN", - "FIJIAN_RACE", - "PAPUA_NEW_GUINEAN_RACE", - "SOLOMON_ISLANDER_RACE", - "NEW_HEBRIDES", - "OTHER_PACIFIC_ISLANDER", - "WHITE", - "EUROPEAN", - "ARMENIAN_RACE", - "ENGLISH_RACE", - "FRENCH_RACE", - "GERMAN_RACE", - "IRISH_RACE", - "ITALIAN_RACE", - "POLISH_RACE", - "SCOTTISH_RACE", - "MIDDLE_EASTERN_OR_NORTH_AFRICAN", - "ASSYRIAN", - "EGYPTIAN_RACE", - "IRANIAN_RACE", - "IRAQI_RACE", - "LEBANESE_RACE", - "PALESTINIAN_RACE", - "SYRIAN_RACE", - "AFGHANISTANI", - "ISRAEILI", - "ARAB", - "OTHER_RACE", - "NON_DISCLOSE_RACE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Race" - ] - } - ] - }, - { - "name": "ethnicity", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Ethnicity of the person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Ethnicity" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_ETHNICITY", - "HISPANIC_OR_LATINO", - "SPANIARD", - "ANDALUSIAN", - "ASTURIAN", - "CASTILLIAN", - "CATALONIAN", - "BELEARIC_ISLANDER", - "GALLEGO", - "VALENCIAN", - "CANARIAN", - "SPANISH_BASQUE", - "MEXICAN_ETHNICITY", - "MEXICAN_AMERICAN", - "MEXICANO", - "CHICANO", - "LA_RAZA", - "MEXICAN_AMERICAN_INDIAN_ETHNICITY", - "CENTRAL_AMERICAN", - "COSTA_RICAN_ETHNICITY", - "GUATEMALAN_ETHNICITY", - "HONDURAN_ETHNICITY", - "NICARAGUAN_ETHNICITY", - "PANAMANIAN_ETHNICITY", - "SALVADORAN", - "CENTRAL_AMERICAN_INDIAN_ETHNICITY", - "CANAL_ZONE", - "SOUTH_AMERICAN", - "ARGENTINEAN", - "BOLIVIAN_ETHNICITY", - "CHILEAN_ETHNICITY", - "COLOMBIAN_ETHNICITY", - "ECUADORIAN", - "PARAGUAYAN_ETHNICITY", - "PERUVIAN_ETHNICITY", - "URUGUAYAN_ETHNICITY", - "VENEZUELAN_ETHNICITY", - "SOUTH_AMERICAN_INDIAN_ETHNICITY", - "CRIOLLO", - "LATIN_AMERICAN", - "PUERTO_RICAN_ETHNICITY", - "CUBAN_ETHNICITY", - "DOMINICAN_ETHNICITY", - "NOT_HISPANIC_OR_LATINO", - "OTHER_ETHNICITY", - "NON_DISCLOSE_ETHNICITY" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Ethnicity" - ] - } - ] - }, - { - "name": "religion", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Religion of the person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Religion" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_RELIGION", - "ADVENTIST", - "AFRICAN_RELIGIONS", - "AFRO_CARIBBEAN_RELIGIONS", - "AGNOSTICISM", - "ANGLICAN", - "ANIMISM", - "ATHEISM", - "BABI_AND_BAHAI_FAITHS", - "BAPTIST", - "BON", - "CAO_DAI", - "CELTICISM", - "CHRISTIAN_NON_CATHOLIC_OR_NON_SPECIFIC", - "CONFUCIANISM", - "CYBERCULTURE_RELIGIONS", - "DIVINATION", - "FOURTH_WAY", - "FREE_DAISM", - "GNOSIS", - "HINDUISM", - "HUMANISM", - "INDEPENDENT", - "ISLAM", - "JAINISM", - "JEHOVAHS_WITNESSES", - "JUDAISM", - "LATTER_DAY_SAINTS", - "LUTHERAN", - "MAHAYANA", - "MEDITATION", - "MESSIANIC_JUDAISM", - "MITRAISM", - "NEW_AGE", - "NON_ROMAN_CATHOLIC", - "OCCULT", - "ORTHODOX", - "PAGANISM", - "PENTECOSTAL", - "PROCESS_THE", - "REFORMED_OR_PRESBYTERIAN", - "ROMAN_CATHOLIC_CHURCH", - "SATANISM", - "SCIENTOLOGY", - "SHAMANISM", - "SHIITE_ISLAM", - "SHINTO", - "SIKISM", - "SPIRITUALISM", - "SUNNI_ISLAM", - "TAOISM", - "THERAVADA", - "UNITARIAN_UNIVERSALISM", - "UNIVERSAL_LIFE_CHURCH", - "VAJRAYANA_TIBETAN", - "VEDA", - "VOODOO", - "WICCA", - "YAOHUSHUA", - "ZEN_BUDDHISM", - "ZOROASTRIANISM", - "ASSEMBLY_OF_GOD", - "BRETHREN", - "CHRISTIAN_SCIENTIST", - "CHURCH_OF_CHRIST", - "CHURCH_OF_GOD", - "CONGREGATIONAL", - "DISCIPLES_OF_CHRIST", - "EASTERN_ORTHODOX", - "EPISCOPALIAN", - "EVANGELICAL_COVENANT", - "FRIENDS", - "FULL_GOSPEL", - "METHODIST", - "NATIVE_AMERICAN", - "NAZARENE", - "PRESBYTERIAN", - "PROTESTANT", - "PROTESTANT_NO_DENOMINATION", - "REFORMED", - "SALVATION_ARMY", - "UNITARIAN_UNIVERSALIST", - "UNITED_CHURCH_OF_CHRIST", - "OTHER_RELIGION", - "NON_DISCLOSE_RELIGION" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Religion" - ] - } - ] - }, - { - "name": "preferred_language", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Preferred Language of a person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Language" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_LANGUAGE", - "DANISH_LANGUAGE", - "DUTCH_LANGUAGE", - "FRENCH_LANGUAGE", - "ITALIAN_LANGUAGE", - "NORWEGIAN_LANGUAGE", - "PORTUGUESE_LANGUAGE", - "ROMANIAN_LANGUAGE", - "SPANISH_LANGUAGE", - "SWEDISH_LANGUAGE", - "GERMAN_LANGUAGE", - "HAITIAN_CREOLE", - "INDONESIAN_LANGUAGE", - "MALAY", - "SWAHILI", - "ALBANIAN_LANGUAGE", - "AMHARIC", - "ARMENIAN_LANGUAGE", - "AZERBAIJANI_LANGUAGE", - "BENGALI", - "BULGARIAN_LANGUAGE", - "BURMESE_LANGUAGE", - "CZECH_LANGUAGE", - "DARI", - "ESTONIAN_LANGUAGE", - "FARSI", - "FINNISH_LANGUAGE", - "GEORGIAN_LANGUAGE", - "GREEK_LANGUAGE", - "GUJARATI", - "HAUSA", - "HEBREW", - "HINDI", - "HUNGARIAN_LANGUAGE", - "ICELANDIC_LANGUAGE", - "KAZAKH_LANGUAGE", - "KHMER", - "KURDISH", - "KYRGYZ_LANGUAGE", - "LAO_LANGUAGE", - "LATVIAN_LANGUAGE", - "LITHUANIAN_LANGUAGE", - "MACEDONIAN_LANGUAGE", - "MONGOLIAN_LANGUAGE", - "NEPALI", - "PASHTO", - "POLISH_LANGUAGE", - "RUSSIAN_LANGUAGE", - "SERBO_CROATIAN", - "SINHALA", - "SLOVAK_LANGUAGE", - "SLOVENIAN_LANGUAGE", - "SOMALI_LANGUAGE", - "TAGALOG", - "TAJIKI", - "TAMIL", - "TELUGU", - "THAI_LANGUAGE", - "TIBETAN", - "TURKISH_LANGUAGE", - "TURKMEN_LANGUAGE", - "UKRANIAN", - "URDU", - "UZBEK_LANGUAGE", - "VIETNAMESE_LANGUAGE", - "ARABIC", - "CHINESE_CANTONESE", - "CHINESE_MANDARIN", - "JAPANESE_LANGUAGE", - "KOREAN_LANGUAGE", - "FULANI", - "BOSNIAN", - "CHALDEAN", - "HMONG_LANGUAGE", - "CANTONESE", - "MANDARIN", - "PUNJABI", - "SERBIAN_LANGUAGE", - "CAMBODIAN_LANGUAGE", - "MARSHALLESE_LANGUAGE", - "MOROCCAN_ARABIC", - "ENGLISH_LANGUAGE", - "OTHER_LANGUAGE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Language" - ] - } - ] - }, - { - "name": "nationality", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Nationality of a person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Nationality" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_NATIONALITY", - "AFGHAN", - "ALBANIAN", - "ALGERIAN", - "AMERICAN", - "ANDORRAN", - "ANGOLAN", - "ANGUILLAN", - "CITIZEN_OF_ANTIGUA_AND_BARBUDA", - "ARGENTINE", - "ARMENIAN", - "AUSTRALIAN", - "AUSTRIAN", - "AZERBAIJANI", - "BAHAMIAN", - "BAHRAINI", - "BANGLADESHI", - "BARBADIAN", - "BELARUSIAN", - "BELGIAN", - "BELIZEAN", - "BENINESE", - "BERMUDIAN", - "BHUTANESE", - "BOLIVIAN", - "CITIZEN_OF_BOSNIA_AND_HERZEGOVINA", - "BOTSWANAN", - "BRAZILIAN", - "BRITISH", - "BRITISH_VIRGIN_ISLANDER", - "BRUNEIAN", - "BULGARIAN", - "BURKINAN", - "BURMESE", - "BURUNDIAN", - "CAMBODIAN", - "CAMEROONIAN", - "CANADIAN", - "CAPE_VERDEAN", - "CAYMAN_ISLANDER", - "CENTRAL_AFRICAN", - "CHADIAN", - "CHILEAN", - "CHINESE", - "COLOMBIAN", - "COMORAN", - "CONGOLESE_CONGO", - "CONGOLESE_DRC", - "COOK_ISLANDER", - "COSTA_RICAN", - "CROATIAN", - "CUBAN", - "CYMRAES", - "CYMRO", - "CYPRIOT", - "CZECH", - "DANISH", - "DJIBOUTIAN", - "DOMINICAN", - "CITIZEN_OF_THE_DOMINICAN_REPUBLIC", - "DUTCH", - "EAST_TIMORESE", - "ECUADOREAN", - "EGYPTIAN", - "EMIRATI", - "ENGLISH", - "EQUATORIAL_GUINEAN", - "ERITREAN", - "ESTONIAN", - "ETHIOPIAN", - "FAROESE", - "FIJIAN", - "FILIPINO", - "FINNISH", - "FRENCH", - "GABONESE", - "GAMBIAN", - "GEORGIAN", - "GERMAN", - "GHANAIAN", - "GIBRALTARIAN", - "GREEK", - "GREENLANDIC", - "GRENADIAN", - "GUAMANIAN", - "GUATEMALAN", - "CITIZEN_OF_GUINEA_BISSAU", - "GUINEAN", - "GUYANESE", - "HAITIAN", - "HONDURAN", - "HONG_KONGER", - "HUNGARIAN", - "ICELANDIC", - "INDIAN", - "INDONESIAN", - "IRANIAN", - "IRAQI", - "IRISH", - "ISRAELI", - "ITALIAN", - "IVORIAN", - "JAMAICAN", - "JAPANESE", - "JORDANIAN", - "KAZAKH", - "KENYAN", - "KITTITIAN", - "CITIZEN_OF_KIRIBATI", - "KOSOVAN", - "KUWAITI", - "KYRGYZ", - "LAO", - "LATVIAN", - "LEBANESE", - "LIBERIAN", - "LIBYAN", - "LIECHTENSTEIN_CITIZEN", - "LITHUANIAN", - "LUXEMBOURGER", - "MACANESE", - "MACEDONIAN", - "MALAGASY", - "MALAWIAN", - "MALAYSIAN", - "MALDIVIAN", - "MALIAN", - "MALTESE", - "MARSHALLESE", - "MARTINIQUAIS", - "MAURITANIAN", - "MAURITIAN", - "MEXICAN", - "MICRONESIAN", - "MOLDOVAN", - "MONEGASQUE", - "MONGOLIAN", - "MONTENEGRIN", - "MONTSERRATIAN", - "MOROCCAN", - "MOSOTHO", - "MOZAMBICAN", - "NAMIBIAN", - "NAURUAN", - "NEPALESE", - "NEW_ZEALANDER", - "NICARAGUAN", - "NIGERIAN", - "NIGERIEN", - "NIUEAN", - "NORTH_KOREAN", - "NORTHERN_IRISH", - "NORWEGIAN", - "OMANI", - "PAKISTANI", - "PALAUAN", - "PALESTINIAN", - "PANAMANIAN", - "PAPUA_NEW_GUINEAN", - "PARAGUAYAN", - "PERUVIAN", - "PITCAIRN_ISLANDER", - "POLISH", - "PORTUGUESE", - "PRYDEINIG", - "PUERTO_RICAN", - "QATARI", - "ROMANIAN", - "RUSSIAN", - "RWANDAN", - "SALVADOREAN", - "SAMMARINESE", - "SAMOAN", - "SAO_TOMEAN", - "SAUDI_ARABIAN", - "SCOTTISH", - "SENEGALESE", - "SERBIAN", - "CITIZEN_OF_SEYCHELLES", - "SIERRA_LEONEAN", - "SINGAPOREAN", - "SLOVAK", - "SLOVENIAN", - "SOLOMON_ISLANDER", - "SOMALI", - "SOUTH_AFRICAN", - "SOUTH_KOREAN", - "SOUTH_SUDANESE", - "SPANISH", - "SRI_LANKAN", - "ST_HELENIAN", - "ST_LUCIAN", - "STATELESS", - "SUDANESE", - "SURINAMESE", - "SWAZI", - "SWEDISH", - "SWISS", - "SYRIAN", - "TAIWANESE", - "TAJIK", - "TANZANIAN", - "THAI", - "TOGOLESE", - "TONGAN", - "TRINIDADIAN", - "TRISTANIAN", - "TUNISIAN", - "TURKISH", - "TURKMEN", - "TURKS_AND_CAICOS_ISLANDER", - "TUVALUAN", - "UGANDAN", - "UKRAINIAN", - "URUGUAYAN", - "UZBEK", - "VATICAN_CITIZEN", - "CITIZEN_OF_VANUATU", - "VENEZUELAN", - "VIETNAMESE", - "VINCENTIAN", - "WALLISIAN", - "WELSH", - "YEMENI", - "ZAMBIAN", - "ZIMBABWEAN" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Nationality" - ] - } - ] - }, - { - "name": "marital_status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Marital status of a person" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Marital Status" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_MARITAL_STATUS", - "ANNULLED", - "DIVORCED", - "INTERLOCUTORY", - "LEGALLY_SEPARATED", - "MARRIED", - "POLYGAMOUS", - "NEVER_MARRIED", - "DOMESTIC_PARTNER", - "UNMARRIED", - "WIDOWED", - "UNKNOWN_MARITAL_STATUS", - "OTHER_MARITAL_STATUS", - "NON_DISCLOSE_MARITAL_STATUS" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.MaritalStatus" - ] - } - ] - }, - { - "name": "family_income_amount", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Family income amount" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Income" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.IncomeAmount" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "family_income_currency_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Currency code of family income" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Currency Code" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CURRENCY", - "AFN", - "EUR", - "ALL", - "DZD", - "USD", - "AOA", - "XCD", - "ARS", - "AMD", - "AWG", - "AUD", - "AZN", - "BSD", - "BHD", - "BDT", - "BBD", - "BYN", - "BZD", - "XOF", - "BMD", - "INR", - "BTN", - "BOB", - "BOV", - "BAM", - "BWP", - "NOK", - "BRL", - "BND", - "BGN", - "BIF", - "CVE", - "KHR", - "XAF", - "CAD", - "KYD", - "CLP", - "CLF", - "CNY", - "COP", - "COU", - "KMF", - "CDF", - "NZD", - "CRC", - "HRK", - "CUP", - "CUC", - "ANG", - "CZK", - "DKK", - "DJF", - "DOP", - "EGP", - "SVC", - "ERN", - "SZL", - "ETB", - "FKP", - "FJD", - "XPF", - "GMD", - "GEL", - "GHS", - "GIP", - "GTQ", - "GBP", - "GNF", - "GYD", - "HTG", - "HNL", - "HKD", - "HUF", - "ISK", - "IDR", - "XDR", - "IRR", - "IQD", - "ILS", - "JMD", - "JPY", - "JOD", - "KZT", - "KES", - "KPW", - "KRW", - "KWD", - "KGS", - "LAK", - "LBP", - "LSL", - "ZAR", - "LRD", - "LYD", - "CHF", - "MOP", - "MKD", - "MGA", - "MWK", - "MYR", - "MVR", - "MRU", - "MUR", - "XUA", - "MXN", - "MXV", - "MDL", - "MNT", - "MAD", - "MZN", - "MMK", - "NAD", - "NPR", - "NIO", - "NGN", - "OMR", - "PKR", - "PAB", - "PGK", - "PYG", - "PEN", - "PHP", - "PLN", - "QAR", - "RON", - "RUB", - "RWF", - "SHP", - "WST", - "STN", - "SAR", - "RSD", - "SCR", - "SLL", - "SGD", - "XSU", - "SBD", - "SOS", - "SSP", - "LKR", - "SDG", - "SRD", - "SEK", - "CHE", - "CHW", - "SYP", - "TWD", - "TJS", - "TZS", - "THB", - "TOP", - "TTD", - "TND", - "TRY", - "TMT", - "UGX", - "UAH", - "AED", - "USN", - "UYU", - "UYI", - "UYW", - "UZS", - "VUV", - "VES", - "VND", - "YER", - "ZMW", - "ZWL", - "XBA", - "XBB", - "XBC", - "XBD", - "XTS", - "XXX", - "XAU", - "XPD", - "XPT", - "XAG" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Currency" - ] - } - ] - }, - { - "name": "annual_income_amount", - "datatype": "DT_INT32", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Annual income amount" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.IncomeAmount" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Income" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "annual_income_currency_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Currency code of annual income" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Currency Code" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CURRENCY", - "AFN", - "EUR", - "ALL", - "DZD", - "USD", - "AOA", - "XCD", - "ARS", - "AMD", - "AWG", - "AUD", - "AZN", - "BSD", - "BHD", - "BDT", - "BBD", - "BYN", - "BZD", - "XOF", - "BMD", - "INR", - "BTN", - "BOB", - "BOV", - "BAM", - "BWP", - "NOK", - "BRL", - "BND", - "BGN", - "BIF", - "CVE", - "KHR", - "XAF", - "CAD", - "KYD", - "CLP", - "CLF", - "CNY", - "COP", - "COU", - "KMF", - "CDF", - "NZD", - "CRC", - "HRK", - "CUP", - "CUC", - "ANG", - "CZK", - "DKK", - "DJF", - "DOP", - "EGP", - "SVC", - "ERN", - "SZL", - "ETB", - "FKP", - "FJD", - "XPF", - "GMD", - "GEL", - "GHS", - "GIP", - "GTQ", - "GBP", - "GNF", - "GYD", - "HTG", - "HNL", - "HKD", - "HUF", - "ISK", - "IDR", - "XDR", - "IRR", - "IQD", - "ILS", - "JMD", - "JPY", - "JOD", - "KZT", - "KES", - "KPW", - "KRW", - "KWD", - "KGS", - "LAK", - "LBP", - "LSL", - "ZAR", - "LRD", - "LYD", - "CHF", - "MOP", - "MKD", - "MGA", - "MWK", - "MYR", - "MVR", - "MRU", - "MUR", - "XUA", - "MXN", - "MXV", - "MDL", - "MNT", - "MAD", - "MZN", - "MMK", - "NAD", - "NPR", - "NIO", - "NGN", - "OMR", - "PKR", - "PAB", - "PGK", - "PYG", - "PEN", - "PHP", - "PLN", - "QAR", - "RON", - "RUB", - "RWF", - "SHP", - "WST", - "STN", - "SAR", - "RSD", - "SCR", - "SLL", - "SGD", - "XSU", - "SBD", - "SOS", - "SSP", - "LKR", - "SDG", - "SRD", - "SEK", - "CHE", - "CHW", - "SYP", - "TWD", - "TJS", - "TZS", - "THB", - "TOP", - "TTD", - "TND", - "TRY", - "TMT", - "UGX", - "UAH", - "AED", - "USN", - "UYU", - "UYI", - "UYW", - "UZS", - "VUV", - "VES", - "VND", - "YER", - "ZMW", - "ZWL", - "XBA", - "XBB", - "XBC", - "XBD", - "XTS", - "XXX", - "XAU", - "XPD", - "XPT", - "XAG" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Currency" - ] - } - ] - }, - { - "name": "unique_patient_identifier", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.UUId" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Unique Patient Identifier" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "A universally unique identifier" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|[A-Za-z0-9\\-\\.]{1,64}" - ] - } - ] - }, - { - "name": "primary_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Primary Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Primary Address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "primary_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Primary Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Primary Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "primary_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City in Primary Address" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "primary_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Primary Address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "primary_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "State in Primary Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "primary_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country in Primary Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "primary_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of Primary Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "primary_address_latitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Latitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude Coordinates of Primary Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude Coordinates" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "primary_address_longitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Longitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Longitude Coordinates of Primary Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude Coordinates" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "secondary_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Secondary Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Secondary Address Line 1" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "secondary_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Secondary Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Secondary Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "secondary_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City in Secondary Address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "secondary_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Secondary Address" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "secondary_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State in Secondary Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "secondary_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country in Secondary Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "secondary_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of Secondary Address" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "secondary_address_latitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Latitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude Coordinates of Secondary Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude Coordinates" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "secondary_address_longitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Longitude Coordinates of Secondary Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Longitude" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude Coordinates" - ] - } - ] - }, - { - "name": "work_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Work Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Work Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "work_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Work Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Work Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "work_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City in Work Address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - } - ] - }, - { - "name": "work_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Work Address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - }, - { - "name": "work_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "State in Work Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "work_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Country in Work Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "work_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of work Address" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "work_address_latitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Latitude" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Latitude Coordinates of Work Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Latitude Coordinates" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "work_address_longitude", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Longitude Coordinates of Work Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Longitude" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Longitude Coordinates" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "medical_record_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.UUId" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Medical Record Number" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|[A-Za-z0-9\\-\\.]{1,64}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "health_beneficiary_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Health Benefit Number" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.UUId" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "UUID" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|[A-Za-z0-9\\-\\.]{1,64}" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "primary_card", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Primary Card" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - }, - "fields": [ - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card Type" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of crad - CREDIT/DEBIT/VIRTUAL" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_TYPE", - "CREDIT", - "DEBIT", - "VIRTUAL" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardType" - ] - } - ] - }, - { - "name": "network", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card network" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardNetwork" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_NETWORK", - "MASTER_CARD", - "VISA", - "DISCOVER" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNetwork" - ] - } - ] - }, - { - "name": "bank_account_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]*)" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Account number" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Bank account nnumber" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Card number of credit/debit card" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNumber" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{4}-[0-9]{4}-([0-9]{4})-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "[0-9 -]*([0-9 -]{4}$)" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXXXXXXXX${1}" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card number" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[\\s]*?([0-9]{2,6}[ -]?){3,5}[\\s]*$" - ] - } - ] - }, - { - "name": "expiry_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card expiry date" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry data" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "pin_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardPIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Pin number of card" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "PIN of Card" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|\\d{4,}$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - } - ] - }, - { - "name": "preauthorized_card", - "datatype": "DT_BOOL", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Preauthorized Card" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "billing_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Billing Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "billing_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Billing Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 2" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "billing_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City in Billing Address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "billing_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Billing Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "billing_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State in Billing Address" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "billing_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Country in Billing Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "billing_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of Billing Address" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Card" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer credit/debit/virtual card information" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - }, - { - "name": "secondary_card", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Secondary Card" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - }, - "fields": [ - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of crad - CREDIT/DEBIT/VIRTUAL" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card Type" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_TYPE", - "CREDIT", - "DEBIT", - "VIRTUAL" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardType" - ] - } - ] - }, - { - "name": "network", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card network" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardNetwork" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_NETWORK", - "MASTER_CARD", - "VISA", - "DISCOVER" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNetwork" - ] - } - ] - }, - { - "name": "bank_account_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]*)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Bank account nnumber" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Account number" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNumber" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card number of credit/debit card" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXXXXXXXX${1}" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[\\s]*?([0-9]{2,6}[ -]?){3,5}[\\s]*$" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "[0-9 -]*([0-9 -]{4}$)" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{4}-[0-9]{4}-([0-9]{4})-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card number" - ] - } - ] - }, - { - "name": "expiry_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Card expiry date" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry data" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "pin_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardPIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Pin number of card" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "PIN of Card" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|\\d{4,}$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "preauthorized_card", - "datatype": "DT_BOOL", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Preauthorized Card" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - } - ] - }, - { - "name": "billing_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Billing Address" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - } - ] - }, - { - "name": "billing_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Billing Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 2" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "billing_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "City in Billing Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - } - ] - }, - { - "name": "billing_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Billing Address" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - } - ] - }, - { - "name": "billing_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "State in Billing Address" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "billing_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country in Billing Address" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "billing_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of Billing Address" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Card" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer credit/debit/virtual card information" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - }, - { - "name": "other_card", - "parentSchemaProperties": { - "tableType": "TT_EMBEDDED", - "parentFieldTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Other Card" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - }, - "fields": [ - { - "name": "type", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Card Type" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Type of crad - CREDIT/DEBIT/VIRTUAL" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_TYPE", - "CREDIT", - "DEBIT", - "VIRTUAL" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardType" - ] - } - ] - }, - { - "name": "network", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card network" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "CardNetwork" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNKNOWN_CARD_NETWORK", - "MASTER_CARD", - "VISA", - "DISCOVER" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNetwork" - ] - } - ] - }, - { - "name": "bank_account_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Bank account nnumber" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]*)" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.String" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Account number" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card number of credit/debit card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{4}-[0-9]{4}-([0-9]{4})-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXXXXXXXX${1}" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card number" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "[0-9 -]*([0-9 -]{4}$)" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[\\s]*?([0-9]{2,6}[ -]?){3,5}[\\s]*$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - } - ] - }, - { - "name": "expiry_date", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card expiry date" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry data" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "pin_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardPIN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Pin number of card" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "PIN of Card" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|\\d{4,}$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "preauthorized_card", - "datatype": "DT_BOOL", - "tags": [ - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Preauthorized Card" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "billing_address_line_1", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 1" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 1 of Billing Address" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - }, - { - "name": "billing_address_line_2", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Billing Address Line 2" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Address Line 2 of Billing Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.StreetAddress" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - } - ] - }, - { - "name": "billing_address_city", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICity" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "City in Billing Address" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "City" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - } - ] - }, - { - "name": "billing_address_district", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIDistrict" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "District in Billing Address" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "(.).*(.{2})" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "${1}***${2}" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "District/County" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "billing_address_state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "State in Billing Address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - } - ] - }, - { - "name": "billing_address_country", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Country in Billing Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "HIPAA" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Country" - ] - }, - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_COUNTRY", - "ARUBA", - "AFGHANISTAN", - "ANGOLA", - "ANGUILLA", - "ALBANIA", - "ANDORRA", - "NETHERLANDS_ANTILLES", - "UNITED_ARAB_EMIRATES", - "ARGENTINA", - "ARMENIA", - "AMERICAN_SAMOA", - "ANTARCTICA", - "FRENCH_SOUTHERN_TERRITORIES", - "ANTIGUA_AND_BARBUDA", - "AUSTRALIA", - "AUSTRIA", - "AZERBAIJAN", - "BURUNDI", - "BELGIUM", - "BENIN", - "BURKINA_FASO", - "BANGLADESH", - "BULGARIA", - "BAHRAIN", - "BAHAMAS", - "BOSNIA_AND_HERZEGOVINA", - "BELARUS", - "BELIZE", - "BERMUDA", - "BOLIVIA", - "BRAZIL", - "BARBADOS", - "BRUNEI", - "BHUTAN", - "BOUVET_ISLAND", - "BOTSWANA", - "CENTRAL_AFRICAN_REPUBLIC", - "CANADA", - "COCOS_KEELING_ISLANDS", - "SWITZERLAND", - "CHILE", - "CHINA", - "IVORY_COAST", - "CAMEROON", - "CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE", - "CONGO", - "COOK_ISLANDS", - "COLOMBIA", - "COMOROS", - "CAPE_VERDE", - "COSTA_RICA", - "CUBA", - "CHRISTMAS_ISLAND", - "CAYMAN_ISLANDS", - "CYPRUS", - "CZECH_REPUBLIC", - "GERMANY", - "DJIBOUTI", - "DOMINICA", - "DENMARK", - "DOMINICAN_REPUBLIC", - "ALGERIA", - "ECUADOR", - "EGYPT", - "ERITREA", - "WESTERN_SAHARA", - "SPAIN", - "ESTONIA", - "ETHIOPIA", - "FINLAND", - "FIJI_ISLANDS", - "FALKLAND_ISLANDS", - "FRANCE", - "FAROE_ISLANDS", - "MICRONESIA_FEDERATED_STATES_OF", - "GABON", - "UNITED_KINGDOM", - "GEORGIA", - "GHANA", - "GIBRALTAR", - "GUINEA", - "GUADELOUPE", - "GAMBIA", - "GUINEA_BISSAU", - "EQUATORIAL_GUINEA", - "GREECE", - "GRENADA", - "GREENLAND", - "GUATEMALA", - "FRENCH_GUIANA", - "GUAM", - "GUYANA", - "HONG_KONG", - "HEARD_ISLAND_AND_MCDONALD_ISLANDS", - "HONDURAS", - "CROATIA", - "HAITI", - "HUNGARY", - "INDONESIA", - "INDIA", - "BRITISH_INDIAN_OCEAN_TERRITORY", - "IRELAND", - "IRAN", - "IRAQ", - "ICELAND", - "ISRAEL", - "ITALY", - "JAMAICA", - "JORDAN", - "JAPAN", - "KAZAKSTAN", - "KENYA", - "KYRGYZSTAN", - "CAMBODIA", - "KIRIBATI", - "SAINT_KITTS_AND_NEVIS", - "SOUTH_KOREA", - "KUWAIT", - "LAOS", - "LEBANON", - "LIBERIA", - "LIBYAN_ARAB_JAMAHIRIYA", - "SAINT_LUCIA", - "LIECHTENSTEIN", - "SRI_LANKA", - "LESOTHO", - "LITHUANIA", - "LUXEMBOURG", - "LATVIA", - "MACAO", - "MOROCCO", - "MONACO", - "MOLDOVA", - "MADAGASCAR", - "MALDIVES", - "MEXICO", - "MARSHALL_ISLANDS", - "MACEDONIA", - "MALI", - "MALTA", - "MYANMAR", - "MONGOLIA", - "NORTHERN_MARIANA_ISLANDS", - "MOZAMBIQUE", - "MAURITANIA", - "MONTSERRAT", - "MARTINIQUE", - "MAURITIUS", - "MALAWI", - "MALAYSIA", - "MAYOTTE", - "NAMIBIA", - "NEW_CALEDONIA", - "NIGER", - "NORFOLK_ISLAND", - "NIGERIA", - "NICARAGUA", - "NIUE", - "NETHERLANDS", - "NORWAY", - "NEPAL", - "NAURU", - "NEW_ZEALAND", - "OMAN", - "PAKISTAN", - "PANAMA", - "PITCAIRN", - "PERU", - "PHILIPPINES", - "PALAU", - "PAPUA_NEW_GUINEA", - "POLAND", - "PUERTO_RICO", - "NORTH_KOREA", - "PORTUGAL", - "PARAGUAY", - "PALESTINE", - "FRENCH_POLYNESIA", - "QATAR", - "REUNION", - "ROMANIA", - "RUSSIAN_FEDERATION", - "RWANDA", - "SAUDI_ARABIA", - "SUDAN", - "SENEGAL", - "SINGAPORE", - "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS", - "SAINT_HELENA", - "SVALBARD_AND_JAN_MAYEN", - "SOLOMON_ISLANDS", - "SIERRA_LEONE", - "EL_SALVADOR", - "SAN_MARINO", - "SOMALIA", - "SAINT_PIERRE_AND_MIQUELON", - "SAO_TOME_AND_PRINCIPE", - "SURINAME", - "SLOVAKIA", - "SLOVENIA", - "SWEDEN", - "SWAZILAND", - "SEYCHELLES", - "SYRIA", - "TURKS_AND_CAICOS_ISLANDS", - "CHAD", - "TOGO", - "THAILAND", - "TAJIKISTAN", - "TOKELAU", - "TURKMENISTAN", - "EAST_TIMOR", - "TONGA", - "TRINIDAD_AND_TOBAGO", - "TUNISIA", - "TURKEY", - "TUVALU", - "TAIWAN", - "TANZANIA", - "UGANDA", - "UKRAINE", - "UNITED_STATES_MINOR_OUTLYING_ISLANDS", - "URUGUAY", - "UNITED_STATES", - "UZBEKISTAN", - "HOLY_SEE_VATICAN_CITY_STATE", - "SAINT_VINCENT_AND_THE_GRENADINES", - "VENEZUELA", - "VIRGIN_ISLANDS_BRITISH", - "VIRGIN_ISLANDS_US", - "VIETNAM", - "VANUATU", - "WALLIS_AND_FUTUNA", - "SAMOA", - "YEMEN", - "YUGOSLAVIA", - "SOUTH_AFRICA", - "ZAMBIA", - "ZIMBABWE" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Country" - ] - } - ] - }, - { - "name": "billing_address_zip_code", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.ZipCode" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Zip Code of Billing Address" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Zip Code" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Card" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Consumer credit/debit/virtual card information" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIICard" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "PII" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "PII Object stores personal identifiable information of a real-world person" - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.template_description", - "values": [ - "PIIData Vault consists of a PII object which provides the ability to store sensitive personally identifiable information of a real-world person." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "PIIData" - ] - }, - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.tier", - "values": [ - "COMMUNITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "PIIData" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/plaid.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/plaid.json deleted file mode 100644 index c89478f..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/plaid.json +++ /dev/null @@ -1,2891 +0,0 @@ -{ - "schemas": [ - { - "name": "accounts", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Scratch Table is a minimal table in a vault." - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ScratchTable" - ] - } - ], - "properties": null - }, - { - "name": "numbers_ach", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "routing", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "routing" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "wire_routing", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "wire_routing" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "liabilities_mortgage", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_number", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_number" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "liabilities_student", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_number", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_number" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "holdings", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "cost_basis", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "cost_basis" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "institution_price", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "institution_price" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "institution_value", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "institution_value" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "iso_currency_code", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "iso_currency_code" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "quantity", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "quantity" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "security_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "security_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "unofficial_currency_code", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "unofficial_currency_code" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "institution_price_as_of", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.date" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "date" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "institution_price_as_of" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "liabilities_aprs", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "apr_percentage", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "apr_percentage" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "apr_type", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "apr_type" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "balance_subject_to_apr", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "balance_subject_to_apr" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "interest_charge_amount", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "interest_charge_amount" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "balances", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "available", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "available" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "current_balance", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "current" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "owners_email", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "data", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "data" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "is_primary", - "datatype": "DT_BOOL", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Boolean" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "is_primary" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "type", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "type" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "owners_names", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "owners_phone_numbers", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "data", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "data" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "type", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "type" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "is_primary", - "datatype": "DT_BOOL", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Boolean" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "is_primary" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "owners_addresses", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "city", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "city" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "is_primary", - "datatype": "DT_BOOL", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Boolean" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "is_primary" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "users", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "email", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "email" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "first_name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "first_name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "last_name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "middle_name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "middle_name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "phone_number", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "phone_number" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ssn" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "asset_report_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "asset_report_id" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "transactions", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "account_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "account_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "amount", - "datatype": "DT_FLOAT32", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "32-bit floating point number" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "amount" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "transacted_on", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "date" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "name" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "merchant_name", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "merchant_name" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - }, - { - "name": "credentials", - "parentSchemaProperties": null, - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "client_id", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "client_id" - ] - } - ], - "properties": null, - "index": 0 - }, - { - "name": "secret", - "datatype": "DT_STRING", - "isArray": false, - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "String" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "secret" - ] - } - ], - "properties": null, - "index": 0 - } - ], - "childrenSchemas": [], - "schemaTags": [], - "properties": null - } - ], - "tags": [ - { - "name": "skyflow.options.template_description", - "values": [ - "The Plaid vault stores data for Plaid customer accounts, assets and other entities." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "Plaid" - ] - }, - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Plaid" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/quickstart.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/quickstart.json deleted file mode 100644 index 82c3eba..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/quickstart.json +++ /dev/null @@ -1,873 +0,0 @@ -{ - "schemas": [ - { - "name": "credit_cards", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - }, - { - "name": "cardholder_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of the person on the credit card" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - } - ] - }, - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardNumber" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card number of credit/debit card" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{4}-[0-9]{4}-([0-9]{4})-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card number" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[\\s]*?([0-9]{2,6}[ -]?){3,5}[\\s]*$" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "[0-9 -]*([0-9 -]{4}$)" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXXXXXXXXXX${1}" - ] - } - ] - }, - { - "name": "expiry_month", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card expiry month" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry month" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "expiry_year", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.CardExpiration" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Card expiry year" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PCI", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Card expiry year" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "cvv", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_dlp_policy", - "values": ["REDACT"] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[0-9]{3,4}$$" - ] - }, - { "name": "skyflow.options.operation", "values": ["EXACT_MATCH"] }, - { - "name": "skyflow.options.default_token_policy", - "values": ["NON_DETERMINISTIC_TRANSIENT_UUID"] - }, - { - "name": "skyflow.options.description", - "values": ["CVV or CVC of a credit/debit card"] - }, - { "name": "skyflow.options.display_name", "values": ["CVV"] }, - { - "name": "skyflow.options.ttl", - "values": ["60"] - }, - { - "name": "skyflow.options.data_type", - "values": ["skyflow.CardCVV"] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Credit Cards" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Credit Card Object stores basic attributes related to a credit card" - ] - } - ] - }, - { - "name": "persons", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - }, - { - "name": "name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.Name" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Name" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Name of a person" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^[A-za-z ,.'-;]+$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - } - ] - }, - { - "name": "email_address", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Email address" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PrimaryEmail" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Email Address of a person" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^([a-z]{20})@([a-z]{10})\\.com$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})$" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "$1******$2@$3" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^(.).*?(.)?@(.+)" - ] - } - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SSN" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Social Security Number of a person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "HIGH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Social Security Number" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "HIGH_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI", - "NPI" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_FPT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - } - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_DATE", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "Date of Birth of a person" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "MEDIUM" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.DOB" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "MODERATE_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Date of Birth" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "MASK" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^$|([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))" - ] - }, - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXXX-${5}${6}" - ] - } - ] - }, - { - "name": "state", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.description", - "values": [ - "State in which a person resides" - ] - }, - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.PIIState" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "State" - ] - }, - { - "name": "skyflow.options.personal_information_type", - "values": [ - "PII", - "PHI" - ] - }, - { - "name": "skyflow.options.identifiability", - "values": [ - "LOW_IDENTIFIABILITY" - ] - }, - { - "name": "skyflow.options.configuration_tags", - "values": [ - "NULLABLE" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "PLAIN_TEXT" - ] - }, - { - "name": "skyflow.options.privacy_law", - "values": [ - "GDPR", - "CCPA", - "HIPAA" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "DETERMINISTIC_UUID" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.display_name", - "values": [ - "Credit Cards" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Credit Card Object stores basic attributes related to a credit card" - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.experimental", - "values": [ - "true" - ] - }, - { - "name": "skyflow.options.template_description", - "values": [ - "The QuickStart Vault comes with preconfigured data, roles, and policies. You can't modify the schema of this vault." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "Quickstart" - ] - }, - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Quickstart" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/sample-schema.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/sample-schema.json deleted file mode 100644 index 8a16d35..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/sample-schema.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "name": "simpleVaultExample", - "description": "A vault with 1 table", - "vaultSchema": { - "schemas": [ - { - "name": "table_1", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING" - }, - { - "name": "age", - "datatype": "DT_INT32" - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.replace_pattern", - "values": [ - "XXX${1}XX${2}${3}" - ] - }, - { - "name": "skyflow.options.format_preserving_regex", - "values": [ - "^[0-9]{3}-[0-9]{2}-([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - }, - { - "name": "skyflow.options.find_pattern", - "values": [ - "^[0-9]{3}([- ])?[0-9]{2}([- ])?([0-9]{4})$" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "FORMAT_PRESERVING_TOKEN" - ] - }, - { - "name": "skyflow.validation.regular_exp", - "values": [ - "^$|^([0-9]{3}-?[0-9]{2}-?[0-9]{4})$" - ] - } - ] - }, - { - "name": "marital_status", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.validation.predefinedvalues", - "values": [ - "UNSPECIFIED_MARITAL_STATUS", - "ANNULLED", - "DIVORCED", - "SEPARATED", - "MARRIED", - "UNMARRIED", - "WIDOWED" - ] - }, - { - "name": "skyflow.options.default_token_policy", - "values": [ - "RANDOM_TOKEN" - ] - }, - { - "name": "skyflow.options.default_dlp_policy", - "values": [ - "REDACT" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - } - ], - "childrenSchemas": [ - { - "name": "name", - "description": "", - "fields": [ - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.default_token_policy", - "values": [ - "RANDOM_TOKEN" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "EXACT_MATCH" - ] - } - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [] - } - ] - } - ] - } - ] - }, - "workspaceID": "z10198d5553411def9f2360c609gt3yx" -} diff --git a/skyflow-skills-plugin/skills/create-vault/vault-samples/scratch-template.json b/skyflow-skills-plugin/skills/create-vault/vault-samples/scratch-template.json deleted file mode 100644 index 7f8abd0..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-samples/scratch-template.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "schemas": [ - { - "name": "table1", - "fields": [ - { - "name": "skyflow_id", - "datatype": "DT_STRING", - "tags": [ - { - "name": "skyflow.options.data_type", - "values": [ - "skyflow.SkyflowID" - ] - }, - { - "name": "skyflow.options.sensitivity", - "values": [ - "LOW" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "Skyflow ID" - ] - }, - { - "name": "skyflow.options.description", - "values": [ - "Skyflow defined Primary Key" - ] - }, - { - "name": "skyflow.options.operation", - "values": [ - "ALL_OP" - ] - } - ] - } - ], - "schemaTags": [ - { - "name": "skyflow.options.description", - "values": [ - "Scratch Table is a minimal table in a vault." - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ScratchTable" - ] - } - ] - } - ], - "tags": [ - { - "name": "skyflow.options.template_description", - "values": [ - "Scratch Template is a minimal template to create a vault." - ] - }, - { - "name": "skyflow.options.vault_main_object", - "values": [ - "ScratchTemplate" - ] - }, - { - "name": "skyflow.options.query_interface", - "values": [ - "REST", - "SQL" - ] - }, - { - "name": "skyflow.options.env_name", - "values": [ - "ALL_ENV" - ] - }, - { - "name": "skyflow.options.tier", - "values": [ - "COMMUNITY" - ] - }, - { - "name": "skyflow.options.display_name", - "values": [ - "ScratchTemplate" - ] - } - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-field-template-schema.json b/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-field-template-schema.json deleted file mode 100644 index 23a4bb0..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-field-template-schema.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft/2019-09/schema#", - "$id": "http://skyflow.com/schemas/json-schema/field-template-schema.json", - "definitions": { - "tag": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "name", - "values" - ] - }, - "tags": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/tag" - } - }, - "properties": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "references": { - "type": "string" - } - }, - "additionalProperties": false - }, - "id": { - "type": "string", - "pattern": "^$|^[a-z][a-z0-9]{31}" - }, - "field": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "pattern": "^[a-z][a-z0-9_]*$" - }, - "datatype": { - "type": "integer" - }, - "isArray": { - "type": "boolean" - }, - "tags": { - "$ref": "#/definitions/tags" - }, - "properties": { - "$ref": "#/definitions/properties" - } - }, - "additionalProperties": false, - "required": [ - "name", - "datatype" - ] - }, - "fields": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/field" - } - }, - "schema": { - "type": "object", - "properties": { - "ID": { - "$ref": "#/definitions/id" - }, - "name": { - "type": "string", - "minLength": 1, - "pattern": "^[a-z][a-z0-9_]*$" - }, - "parentSchemaProperties": { - "type": "object", - "properties": { - "isArray": { - "type": "boolean" - }, - "tableType": { - "type": "integer" - }, - "parentFieldTags": { - "$ref": "#/definitions/tags" - } - }, - "additionalProperties": false - }, - "fields": { - "$ref": "#/definitions/fields" - }, - "childrenSchemas": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/schema" - } - }, - "schemaTags": { - "$ref": "#/definitions/tags" - }, - "properties": { - "$ref": "#/definitions/properties" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - }, - "type": "object", - "properties": { - "field": { - "$ref": "#/definitions/field" - }, - "compositeField": { - "$ref": "#/definitions/schema" - } - }, - "oneOf": [ - { - "required": [ - "field" - ] - }, - { - "required": [ - "compositeField" - ] - } - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-tags.json b/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-tags.json deleted file mode 100644 index 1633577..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-tags.json +++ /dev/null @@ -1,2776 +0,0 @@ -[ - { - "tagName": "skyflow.options.operation", - "displayName": "Encryption", - "displayNameV2": "Encryption", - "description": "Skyflow always keeps data encrypted in transit and at rest. In addition, Skyflow enables operations on encrypted data, meaning data can remain encrypted even during data processing.", - "descriptionV2": "Column-level encryption defines if values remain encrypted during processing and which operations are available.", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "REMOVE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "REMOVE" - ] - }, - "compositeArray": {} - }, - "valueType": "constants", - "values": [ - { - "valueName": "EXACT_MATCH", - "displayName": "Exact Match", - "displayNameV2": "Exact Match", - "description": "Exact match operations will be turned on for this column. This enables queries like SELECT * FROM users WHERE email = \"johndoe@mail.com\" to run while the email column remains encrypted.", - "descriptionV2": "Enable queries like ‘SELECT * FROM users WHERE email = “johndoe@email.com”’.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "AGGREGATION", - "displayName": "Aggregation", - "displayNameV2": "Aggregation", - "description": "Aggregation operations, like SUM and AVERAGE, will be turned on for this column. This enables queries like SELECT AVERAGE(age) FROM users to run while the age column remains encrypted.", - "descriptionV2": "Enable queries like ‘SELECT AVG(age) FROM users’.", - "dataTypes": [ - "DT_INT32" - ] - }, - { - "valueName": "ORDER", - "displayName": "Comparison", - "displayNameV2": "Comparison", - "description": "Comparison operations will be turned on for this column. This enables queries like SELECT * FROM users WHERE age > 40 to run while the age column remains encrypted.", - "descriptionV2": "Enable queries like ‘SELECT * FROM users WHERE age > 40’.", - "dataTypes": [ - "DT_INT32", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FLOAT32" - ] - }, - { - "valueName": "ALL_OP", - "displayName": "All Operations", - "displayNameV2": "All Operations", - "description": "This column will not be encrypted at all times. It is recommended that all sensitive columns be encrypted. For non-sensitive columns, turning this option off may provide a performance boost. All operations work on columns that are not encrypted.", - "descriptionV2": "This column will not be encrypted at all times. It is recommended that all sensitive columns be encrypted. For non-sensitive columns, turning this option off may provide a performance boost. All operations work on columns that are not encrypted.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_FILE_TYPE", - "DT_DATE", - "DT_TIME", - "DT_DATETIME" - ], - "arrayDataTypes": [ - "DT_STRING", - "DT_EMBEDDED" - ] - } - ] - }, - { - "tagName": "skyflow.options.default_token_policy", - "displayName": "Default Token Policy", - "displayNameV2": "Default Token Policy", - "description": "Tokenization is a privacy preservation technique where sensitive data is substituted with non-sensitive tokens. Tokens have no exploitable value and can be exchanged for the original data by privileged parties.", - "descriptionV2": "Tokenization substitutes sensitive values with non-sensitive tokens. Privileged parties can exchange tokens for original values.", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": {} - }, - "valueType": "constants", - "values": [ - { - "valueName": "RANDOM_TOKEN", - "displayName": "Random Token", - "displayNameV2": "Random tokens", - "description": "A random token will be generated for this column by default. Random tokens are not derived from the original data. For example, a random token for johndoe@gmail.com could be bwe09ffg7d8tu8pd.", - "descriptionV2": "Generate a different token for every instance of a value.", - "version": 1, - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [] - }, - { - "valueName": "FORMAT_PRESERVING_TOKEN", - "displayName": "Format Preserving Token", - "displayNameV2": "Format Preserving Token", - "description": "A format preserving token will be generated for this column by default using the regex specified below. For example, a format preserving token for johndoe@gmail.com could look like bwe09f@fg7d8.tu8.", - "descriptionV2": "A format preserving token will be generated for this column by default using the regex specified below. For example, a format preserving token for johndoe@gmail.com could look like bwe09f@fg7d8.tu8.", - "version": 1, - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [], - "childrenTags": [ - { - "tagName": "skyflow.options.format_preserving_regex", - "displayName": "Format Preserving Regular Expression", - "displayNameV2": "Format Preserving Regular Expression", - "description": "format preserving regular expression", - "descriptionV2": "format preserving regular expression", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [] - } - ] - }, - { - "valueName": "NON_DETERMINISTIC_UUID", - "displayName": "UUID Token", - "displayNameV2": "Random tokens", - "description": "A random token will be generated each time for a given value. For example, a random token for 'johndoe@gmail.com' could be 'c7db3f3a-5d01-4a98-961e-9cbdb6241b0d'. Each future occurrence of the value 'johndoe@gmail.com' will create a different random token.", - "descriptionV2": "Generate a different token for every instance of a value.", - "version": 2, - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [] - }, - { - "valueName": "DETERMINISTIC_UUID", - "displayName": "UUID Deterministic Token", - "displayNameV2": "Consistent tokens", - "description": "A persistent UUID token will be generated for a given value. All future occurrences of this value will generate the same token. For example, the value 'johndoe@gmail.com' will always generate the token 'c7db3f3a-5d01-4a98-961e-9cbdb6241b0d' for a given vault.", - "descriptionV2": "Generate the same token for every instance of a value.", - "version": 2, - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [] - }, - { - "valueName": "DETERMINISTIC_FPT", - "displayName": "Format Preserving Deterministic Token", - "displayNameV2": "Format Preserving Deterministic Token", - "description": "A persistent, format preserving token will be generated for a given value. An optional regex can be specified to structure the token format otherwise the format will be inferred based on the value. All future occurrences of this value will generate the same token for a given regex. For example, a format preserving token for 'johndoe@gmail.com' will always generate the token 'bwe09f@fg7d8.com'.", - "descriptionV2": "A persistent, format preserving token will be generated for a given value. An optional regex can be specified to structure the token format otherwise the format will be inferred based on the value. All future occurrences of this value will generate the same token for a given regex. For example, a format preserving token for 'johndoe@gmail.com' will always generate the token 'bwe09f@fg7d8.com'.", - "version": 2, - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_INT32", - "DT_FLOAT32" - ], - "arrayDataTypes": [], - "childrenTags": [ - { - "tagName": "skyflow.options.format_preserving_regex", - "displayName": "Format Preserving Regular Expression", - "displayNameV2": "Format Preserving Regular Expression", - "description": "Format preserving regular expression to be used in generating the token. If not provided, then token will be generated based on the input, preserving the input structure and length.", - "descriptionV2": "Format preserving regular expression to be used in generating the token. If not provided, then token will be generated based on the input, preserving the input structure and length.", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_INT32", - "DT_FLOAT32" - ], - "arrayDataTypes": [] - } - ] - }, - { - "valueName": "NON_DETERMINISTIC_FPT", - "displayName": "Format Preserving Token", - "displayNameV2": "Format Preserving Token", - "description": "A format preserving token will be generated for a given value. An optional regex can be specified to structure the token format otherwise the format will be inferred based on the value. For example, a format preserving token for 'johndoe@gmail.com' could be 'bwe09f@fg7d8.com'. Each future occurrence of the value 'johndoe@gmail.com' will create a different random token but one that follows the given regex.", - "descriptionV2": "A format preserving token will be generated for a given value. An optional regex can be specified to structure the token format otherwise the format will be inferred based on the value. For example, a format preserving token for 'johndoe@gmail.com' could be 'bwe09f@fg7d8.com'. Each future occurrence of the value 'johndoe@gmail.com' will create a different random token but one that follows the given regex.", - "version": 2, - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [], - "childrenTags": [ - { - "tagName": "skyflow.options.format_preserving_regex", - "displayName": "Format Preserving Regular Expression", - "displayNameV2": "Format Preserving Regular Expression", - "description": "Format preserving regular expression to be used in generating the token. If not provided, then token will be generated based on the input, preserving the input structure and length.", - "descriptionV2": "Format preserving regular expression to be used in generating the token. If not provided, then token will be generated based on the input, preserving the input structure and length.", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [] - } - ] - }, - { - "valueName": "DETERMINISTIC_PRESERVE_LEFT_6_RIGHT_4", - "displayName": "Left 6 Right 4 Preserving Deterministic Token", - "displayNameV2": "Left 6 Right 4", - "description": "A persistent, token preserving left 6 and right 4 digits will be generated for a given value.", - "descriptionV2": "Generate tokens that preserve the left 6 characters and right 4 characters of a value.", - "version": 3, - "skyflowDataTypes": [ - "skyflow.CardNumber" - ] - }, - { - "valueName": "DETERMINISTIC_PRESERVE_EMAIL_DOMAIN", - "displayName": "Domain Preserving Deterministic Token", - "displayNameV2": "Domain Preserving Deterministic Token", - "description": "A persistent, token preserving email domain will be generated for a given value.", - "descriptionV2": "Generate tokens that preserve the email domain to the right of the “@” symbol.", - "version": 3, - "skyflowDataTypes": [ - "skyflow.Email" - ] - }, - { - "valueName": "DETERMINISTIC_PRESERVE_RIGHT_4", - "displayName": "Right 4 Preserving Deterministic Token", - "displayNameV2": "Right 4", - "description": "A persistent, right 4 char preserving token will be generated for a given value.", - "descriptionV2": "Generate tokens that preserve the right 4 characters of a value.", - "version": 3, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "childrenTags": [ - { - "tagName": "skyflow.options.token_prefix", - "displayName": "Token Preserving Prefix", - "displayNameV2": "Token Preserving Prefix", - "description": "Format preserving prefix to be prepended to the token.", - "descriptionV2": "Format preserving prefix to be prepended to the token.", - "optional": true, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - }, - { - "tagName": "skyflow.options.token_fixed_length", - "displayName": "Token Fixed Length", - "displayNameV2": "Token Fixed Length", - "description": "Fixed length of token if minimum required length isn't reached", - "descriptionV2": "Fixed length of token if minimum required length isn't reached", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - }, - { - "tagName": "skyflow.options.token_separator", - "displayName": "Token Separator", - "displayNameV2": "Token Separator", - "description": "Separator inserted between a token's prefix, tokenized data, and suffix. For example, with a separator of '_', prefix of '99', tokenized data of 'XXXX', and suffix of '7852', the returned token is '99_XXXX_7852'. If the separator is an empty string, no separators are inserted in the token.", - "descriptionV2": "Separator inserted between a token's prefix, tokenized data, and suffix. For example, with a separator of '_', prefix of '99', tokenized data of 'XXXX', and suffix of '7852', the returned token is '99_XXXX_7852'. If the separator is an empty string, no separators are inserted in the token.", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - } - ] - }, - { - "valueName": "NON_DETERMINISTIC_PRESERVE_RIGHT_4", - "displayName": "Right 4 Preserving Non Deterministic Token", - "displayNameV2": "Right 4 Preserving Non Deterministic", - "description": "A persistent, right 4 char preserving non deterministic token will be generated for a given value.", - "descriptionV2": "Generate non deterministic tokens that preserve the right 4 characters of a value.", - "version": 3, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "childrenTags": [ - { - "tagName": "skyflow.options.token_prefix", - "displayName": "Token Preserving Prefix", - "displayNameV2": "Token Preserving Prefix", - "description": "Format preserving prefix to be prepended to the token.", - "descriptionV2": "Format preserving prefix to be prepended to the token.", - "optional": true, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - }, - { - "tagName": "skyflow.options.token_fixed_length", - "displayName": "Token Fixed Length", - "displayNameV2": "Token Fixed Length", - "description": "Fixed length of token if minimum required length isn't reached", - "descriptionV2": "Fixed length of token if minimum required length isn't reached", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - }, - { - "tagName": "skyflow.options.token_separator", - "displayName": "Token Separator", - "displayNameV2": "Token Separator", - "description": "Separator inserted between a token's prefix, tokenized data, and suffix. For example, with a separator of '_', prefix of '99', tokenized data of 'XXXX', and suffix of '7852', the returned token is '99_XXXX_7852'. If the separator is an empty string, no separators are inserted in the token.", - "descriptionV2": "Separator inserted between a token's prefix, tokenized data, and suffix. For example, with a separator of '_', prefix of '99', tokenized data of 'XXXX', and suffix of '7852', the returned token is '99_XXXX_7852'. If the separator is an empty string, no separators are inserted in the token.", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [] - } - ] - }, - { - "valueName": "NON_DETERMINISTIC_TRANSIENT_UUID", - "displayName": "Transient UUID Token", - "displayNameV2": "Transient tokenization", - "description": "A random token will be generated each time for a given value. For example, a random token for 'johndoe@gmail.com' could be 'c7db3f3a-5d01-4a98-961e-9cbdb6241b0d'. Each future occurrence of the value 'johndoe@gmail.com' will create a different random token.", - "descriptionV2": "Generate tokens for temporary storage of sensitive values. Your vault automatically deletes values for these tokens after a defined period of time.", - "version": 2, - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "childrenTags": [ - { - "tagName": "skyflow.options.ttl", - "displayName": "Time to live", - "displayNameV2": "Time to live", - "description": "Time to live for transient fields", - "descriptionV2": "Time to live for transient fields", - "optional": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "integer", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - } - ] - } - ] - }, - { - "tagName": "skyflow.options.default_dlp_policy", - "displayName": "Redaction", - "displayNameV2": "Redaction", - "description": "Redaction is a privacy preservation technique where data is partially or completely obscured when viewed. This can help prevent unauthorized access to sensitive data. Redaction does not change the underlying data, just how it is displayed.", - "descriptionV2": "Redaction partially or completely obscures values when viewed to prevent authorized access to sensitive data. Redaction doesn't change the underlying data.", - "allowedOperations": { - "field": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "constants", - "values": [ - { - "valueName": "REDACT", - "displayName": "Redacted", - "displayNameV2": "Full redaction", - "description": "This column will be completely redacted by default. For example, the email address johndoe@acme.com would appear as REDACTED by default.", - "descriptionV2": "By default, completely redact values. For example, \"johndoe@mail.com\" appears as \"REDACTED\".", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - }, - { - "valueName": "MASK", - "displayName": "Masked", - "displayNameV2": "Partial redaction", - "description": "This column will be partially redacted based on the mask specified below by default. For example, the email address johndoe@acme.com would appear as ***@acme.com given the appropriate mask. Masks are specified using regex.", - "descriptionV2":"By default, partially redact values based on the specified find and replace regex patterns. For example, \"johndoe@mail.com\" can appear as \"***@mail.com\" with the appropriate patterns.", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "childrenTags": [ - { - "tagName": "skyflow.options.find_pattern", - "displayName": "Find Pattern", - "displayNameV2": "Find Pattern", - "description": "Pattern (Regular expression) to find the input value.", - "descriptionV2": "Pattern (Regular expression) to find the input value.", - "allowedOperations": { - "field": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ], - "arrayDataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ] - }, - { - "tagName": "skyflow.options.replace_pattern", - "displayName": "Replace Pattern", - "displayNameV2": "Replace Pattern", - "description": "Pattern (regular expression) to replace a value.", - "descriptionV2": "Pattern (regular expression) to replace a value.", - "allowedOperations": { - "field": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "compositeArray": { - "withData": [ - "ADD", - "UPDATE", - "DELETE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ], - "arrayDataTypes": [ - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ] - } - ] - }, - { - "valueName": "PLAIN_TEXT", - "displayName": "Plain Text", - "displayNameV2": "No redaction", - "description": "This column will not be redacted and will appear in plain text by default. It's recommended that this setting only be applied to non-sensitive columns.", - "descriptionV2": "By default, display values in plain text. Only apply this setting to non-sensitive columns.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.validation.regular_exp", - "displayName": "Regular Expression", - "displayNameV2": "Regular Expression", - "description": "Add validations for this column by specifying regex strings below", - "descriptionV2": "Add validations for this column by specifying regex strings below", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withData": [ - "UPDATE" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "tagName": "skyflow.validation.predefinedvalues", - "displayName": "Predefined Values", - "displayNameV2": "Predefined Values", - "description": "predefined values", - "descriptionV2": "predefined values", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withData": [ - "ADD" - ], - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "string", - "dataTypes": [ - "DT_ENUM" - ], - "arrayDataTypes": [ - "DT_ENUM" - ] - }, - { - "tagName": "skyflow.options.display_name", - "displayName": "Display name", - "displayNameV2": "Display name", - "description": "Display name", - "descriptionV2": "Display name", - "valueType": "string", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "tagName": "skyflow.options.sensitivity", - "displayName": "Sensitivity", - "displayNameV2": "Sensitivity", - "description": "Sensitivity Level of a PDT. Greater the harm caused by upon discloser or compromisation of something, higher its sensitivity", - "descriptionV2": "Sensitivity Level of a PDT. Greater the harm caused by upon discloser or compromisation of something, higher its sensitivity", - "canTakeMultipleValues": true, - "valueType": "constants", - "values": [ - { - "valueName": "HIGH", - "displayName": "High", - "displayNameV2": "High", - "description": "Highly Sensitive", - "descriptionV2": "Highly Sensitive", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "LOW", - "displayName": "Low", - "displayNameV2": "Low", - "description": "Low Sensitive", - "descriptionV2": "Low Sensitive", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "MEDIUM", - "displayName": "Medium", - "displayNameV2": "Medium", - "description": "Moderate Sensitive", - "descriptionV2": "Moderate Sensitive", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.options.identifiability", - "displayName": "Identifiability", - "displayNameV2": "Identifiability", - "description": "Identifiability of a data column is defined as the ease at which the user/person to which the personal data belongs to can be identified.", - "descriptionV2": "Identifiability of a data column is defined as the ease at which the user/person to which the personal data belongs to can be identified.", - "canTakeMultipleValues": true, - "valueType": "constants", - "values": [ - { - "valueName": "UNKNOWN_IDENTIFIABILITY", - "displayName": "Unknown Identifiability", - "displayNameV2": "Unknown Identifiability", - "description": "Unknown Identifiability", - "descriptionV2": "Unknown Identifiability", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "HIGH_IDENTIFIABILITY", - "displayName": "High Identifiability", - "displayNameV2": "High Identifiability", - "description": "Data that can uniquely identify the person such as Name, address, email address.", - "descriptionV2": "Data that can uniquely identify the person such as Name, address, email address.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "MODERATE_IDENTIFIABILITY", - "displayName": "Moderate Identifiability", - "displayNameV2": "Moderate Identifiability", - "description": "Can be identified relatively easily when combined with other data but cannot uniquely identify the person", - "descriptionV2": "Can be identified relatively easily when combined with other data but cannot uniquely identify the person", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "LOW_IDENTIFIABILITY", - "displayName": "Low Identifiability", - "displayNameV2": "Low Identifiability", - "description": "Cannot be identified easily or with the given data column alone", - "descriptionV2": "Cannot be identified easily or with the given data column alone", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.options.personal_information_type", - "displayName": "Personal information type", - "displayNameV2": "Personal information type", - "description": "Personal information type", - "descriptionV2": "Personal information type", - "canTakeMultipleValues": true, - "valueType": "constants", - "values": [ - { - "valueName": "PII", - "displayName": "PII", - "displayNameV2": "PII", - "description": "Personally Identifiable Information can be used to distinguish or trace an individual’s identity, either alone or when combined with other information that is linked or linkable to a specific individual.", - "descriptionV2": "Personally Identifiable Information can be used to distinguish or trace an individual’s identity, either alone or when combined with other information that is linked or linkable to a specific individual.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "PHI", - "displayName": "PHI", - "displayNameV2": "PHI", - "description": "Protected health information is the term given to health data created, received, stored, or transmitted by HIPAA-covered entities and their business associates", - "descriptionV2": "Protected health information is the term given to health data created, received, stored, or transmitted by HIPAA-covered entities and their business associates", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "PCI", - "displayName": "PCI", - "displayNameV2": "PCI", - "description": "Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements intended to ensure that all companies that process, store, or transmit credit card information maintain a secure environment", - "descriptionV2": "Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements intended to ensure that all companies that process, store, or transmit credit card information maintain a secure environment", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "NPI", - "displayName": "NPI", - "displayNameV2": "NPI", - "description": "Nonpublic personal information - Personally identifiable financial information - provided by a consumer to a financial institution, resulting from any transaction with the consumer", - "descriptionV2": "Nonpublic personal information - Personally identifiable financial information - provided by a consumer to a financial institution, resulting from any transaction with the consumer", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.options.privacy_law", - "displayName": "Privacy Law", - "displayNameV2": "Privacy Law", - "description": "Privacy Law", - "descriptionV2": "Privacy Law", - "canTakeMultipleValues": true, - "valueType": "constants", - "values": [ - { - "valueName": "UNKNOWN_PRIVACY_LAW", - "displayName": "Unknown Privacy Law", - "displayNameV2": "Unknown Privacy Law", - "description": "Unknown Privacy Law", - "descriptionV2": "Unknown Privacy Law", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "GDPR", - "displayName": "GDPR", - "displayNameV2": "GDPR", - "description": "The General Data Protection Regulation is a regulation in EU law on data protection and privacy in the European Union and the European Economic Area", - "descriptionV2": "The General Data Protection Regulation is a regulation in EU law on data protection and privacy in the European Union and the European Economic Area", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "CCPA", - "displayName": "CCPA", - "displayNameV2": "CCPA", - "description": "The California Consumer Privacy Act is a state statute intended to enhance privacy rights and consumer protection for residents of California, United States", - "descriptionV2": "The California Consumer Privacy Act is a state statute intended to enhance privacy rights and consumer protection for residents of California, United States", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "COPPA", - "displayName": "COPPA", - "displayNameV2": "COPPA", - "description": "COPPA", - "descriptionV2": "COPPA", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "HIPAA", - "displayName": "HIPAA", - "displayNameV2": "HIPAA", - "description": "The Health Insurance Portability and Accountability Act of 1996 (HIPAA) is a federal law that required the creation of national standards to protect sensitive patient health information from being disclosed without the patient’s consent or knowledge.", - "descriptionV2": "The Health Insurance Portability and Accountability Act of 1996 (HIPAA) is a federal law that required the creation of national standards to protect sensitive patient health information from being disclosed without the patient’s consent or knowledge.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "GLBA", - "displayName": "GLBA", - "displayNameV2": "GLBA", - "description": "The Gramm-Leach-Bliley Act requires financial institutions – companies that offer consumers financial products or services like loans, financial or investment advice, or insurance – to explain their information-sharing practices to their customers and to safeguard sensitive data.", - "descriptionV2": "The Gramm-Leach-Bliley Act requires financial institutions – companies that offer consumers financial products or services like loans, financial or investment advice, or insurance – to explain their information-sharing practices to their customers and to safeguard sensitive data.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - }, - { - "valueName": "US_PRIVACY_ACTIVITY", - "displayName": "US Privacy Activity", - "displayNameV2": "US Privacy Activity", - "description": "US Privacy Activity", - "descriptionV2": "US Privacy Activity", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.options.configuration_tags", - "displayName": "Configuration Tags", - "displayNameV2": "Configuration Tags", - "description": "Configuration Tags", - "descriptionV2": "Configuration Tags", - "canTakeMultipleValues": true, - "valueType": "constants", - "values": [ - { - "valueName": "NULLABLE", - "displayName": "Nullable", - "displayNameV2": "Nullable", - "description": "NULLABLE", - "descriptionV2": "NULLABLE", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ] - }, - { - "valueName": "PRIMARY_KEY", - "displayName": "Primary Key", - "displayNameV2": "Primary Key", - "description": "Primary Key", - "descriptionV2": "Primary Key", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "UNIQUE", - "displayName": "Unique", - "displayNameV2": "Unique", - "description": "Unique", - "descriptionV2": "Unique", - "dataTypes": [ - "DT_FLOAT32", - "DT_INT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ], - "arrayDataTypes": [ - ] - }, - { - "valueName": "INDEX", - "displayName": "Index", - "displayNameV2": "Index", - "description": "Index", - "descriptionV2": "Index", - "dataTypes": [ - "DT_FLOAT32", - "DT_INT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ], - "arrayDataTypes": [ - "DT_FLOAT32", - "DT_INT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - }, - { - "valueName": "FOREIGN_KEY", - "displayName": "Foreign Key", - "displayNameV2": "Foreign Key", - "description": "Foreign Key", - "descriptionV2": "Foreign Key", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "NOT_NULL", - "displayName": "Not Null", - "displayNameV2": "Not Null", - "description": "Not Null", - "descriptionV2": "Not Null", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ] - }, - { - "valueName": "META_DATA", - "displayName": "Meta Data", - "displayNameV2": "Meta Data", - "description": "Meta Data", - "descriptionV2": "Meta Data", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ], - "arrayDataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_BOOL", - "DT_STRING", - "DT_EMBEDDED", - "DT_ENUM" - ] - } - ] - }, - { - "tagName": "skyflow.options.file_type", - "displayName": "File Type", - "displayNameV2": "File Type", - "description": "file type", - "descriptionV2": "file type", - "valueType": "constants", - "values": [ - { - "valueName": "blob", - "displayName": "Blob", - "displayNameV2": "Blob", - "description": "blob", - "descriptionV2": "blob", - "dataTypes": [ - "DT_FILE_TYPE" - ], - "arrayDataTypes": [ - "DT_FILE_TYPE" - ] - } - ] - }, - { - "tagName": "skyflow.options.unique", - "displayName": "Unique", - "displayNameV2": "Unique", - "description": "Unique.", - "descriptionV2": "Unique.", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "constants", - "values": [ - { - "valueName": "true", - "displayName": "True", - "displayNameV2": "True", - "description": "Unique.", - "descriptionV2": "Unique.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - }, - { - "valueName": "false", - "displayName": "False", - "displayNameV2": "False", - "description": "Non-unique.", - "descriptionV2": "Non-unique.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - } - ] - }, - { - "tagName": "skyflow.options.index", - "displayName": "Index", - "displayNameV2": "Index", - "description": "Index.", - "descriptionV2": "Index.", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "constants", - "values": [ - { - "valueName": "true", - "displayName": "True", - "displayNameV2": "True", - "description": "Index.", - "descriptionV2": "Index.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ] - }, - { - "valueName": "false", - "displayName": "False", - "displayNameV2": "False", - "description": "No index.", - "descriptionV2": "No index.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME", - "DT_EMBEDDED" - ] - } - ] - }, - { - "tagName": "skyflow.options.column_group", - "displayName": "Column Group", - "displayNameV2": "Column Group", - "description": "Defines the Group of the column to which it belongs", - "descriptionV2": "Defines the Group of the column to which it belongs", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "tagName": "skyflow.options.not_null", - "displayName": "Notnull", - "displayNameV2": "Notnull", - "description": "No nil value allowed in column", - "descriptionV2": "No nil value allowed in column", - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - } - }, - "valueType": "constants", - "values": [ - { - "valueName": "true", - "displayName": "True", - "displayNameV2": "True", - "description": "not null tag.", - "descriptionV2": "not null tag.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_INT64", - "DT_FLOAT64", - "DT_STRING", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - }, - { - "valueName": "false", - "displayName": "False", - "displayNameV2": "False", - "description": "not null.", - "descriptionV2": "not null.", - "dataTypes": [ - "DT_INT32", - "DT_FLOAT32", - "DT_STRING", - "DT_INT64", - "DT_FLOAT64", - "DT_DATETIME", - "DT_DATE", - "DT_TIME" - ] - } - ] - }, - { - "tagName": "skyflow.options.entity", - "displayName": "Entity", - "displayNameV2": "Entity", - "description": "Skyflow Entity type to detect and deidentify.", - "descriptionV2": "Skyflow Entity type to detect and deidentify.", - "canTakeMultipleValues": true, - - "valueType": "constants", - "values": [ - { - "valueName": "name", - "displayName": "name", - "displayNameV2": "name", - "description": "Names of individuals, not including personal titles such as ‘Mrs.’ or ‘Mr.’.", - "descriptionV2": "Names of individuals, not including personal titles such as ‘Mrs.’ or ‘Mr.’.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "name_given", - "displayName": "name_given", - "displayNameV2": "name_given", - "description": "Names given to an individual, usually at birth.", - "descriptionV2": "Names given to an individual, usually at birth.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "age", - "displayName": "age", - "displayNameV2": "age", - "description": "Numbers associated with an individual’s age.", - "descriptionV2": "Numbers associated with an individual’s age.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "bank_account", - "displayName": "bank_account", - "displayNameV2": "bank_account", - "description": "Bank account numbers and international equivalents.", - "descriptionV2": "Bank account numbers and international equivalents.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "credit_card", - "displayName": "credit_card", - "displayNameV2": "credit_card", - "description": "Credit card numbers.", - "descriptionV2": "Credit card numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "credit_card_expiration", - "displayName": "credit_card_expiration", - "displayNameV2": "credit_card_expiration", - "description": "Expiration date of a credit card.", - "descriptionV2": "Expiration date of a credit card.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "cvv", - "displayName": "cvv", - "displayNameV2": "cvv", - "description": "3 or 4 digit card verification codes and equivalents.", - "descriptionV2": "3 or 4 digit card verification codes and equivalents.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "date", - "displayName": "date", - "displayNameV2": "date", - "description": "Specific calendar dates, which can include days of the week, dates, months, or years.", - "descriptionV2": "Specific calendar dates, which can include days of the week, dates, months, or years.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "date_interval", - "displayName": "date_interval", - "displayNameV2": "date_interval", - "description": "Broader time periods, including date ranges, months, seasons, years, and decades.", - "descriptionV2": "Broader time periods, including date ranges, months, seasons, years, and decades.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "dob", - "displayName": "dob", - "displayNameV2": "dob", - "description": "Date of birth.", - "descriptionV2": "Date of birth.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "driver_license", - "displayName": "driver_license", - "displayNameV2": "driver_license", - "description": "Driver's permit numbers.", - "descriptionV2": "Driver's permit numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "email_address", - "displayName": "email_address", - "displayNameV2": "email_address", - "description": "Email addresses.", - "descriptionV2": "Email addresses.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "healthcare_number", - "displayName": "healthcare_number", - "displayNameV2": "healthcare_number", - "description": "Healthcare numbers and health plan beneficiary numbers.", - "descriptionV2": "Healthcare numbers and health plan beneficiary numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "ip_address", - "displayName": "ip_address", - "displayNameV2": "ip_address", - "description": "Internet IP address, including IPv4 and IPv6 formats.", - "descriptionV2": "Internet IP address, including IPv4 and IPv6 formats.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location", - "displayName": "location", - "displayNameV2": "location", - "description": "Metaclass for any named location reference; See subclasses below.", - "descriptionV2": "Metaclass for any named location reference; See subclasses below.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "numerical_pii", - "displayName": "numerical_pii", - "displayNameV2": "numerical_pii", - "description": "Numerical PII (including alphanumeric strings) such as device serial numbers, POS codes etc.", - "descriptionV2": "Numerical PII (including alphanumeric strings) such as device serial numbers, POS codes etc.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "phone_number", - "displayName": "phone_number", - "displayNameV2": "phone_number", - "description": "Telephone or fax numbers.", - "descriptionV2": "Telephone or fax numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "ssn", - "displayName": "ssn", - "displayNameV2": "ssn", - "description": "Social Security Numbers or international equivalent government identification numbers.", - "descriptionV2": "Social Security Numbers or international equivalent government identification numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "url", - "displayName": "url", - "displayNameV2": "url", - "description": "Internet addresses.", - "descriptionV2": "Internet addresses.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "vehicle_id", - "displayName": "vehicle_id", - "displayNameV2": "vehicle_id", - "description": "Vehicle identification numbers (VINs), vehicle serial numbers, and license plate numbers.", - "descriptionV2": "Vehicle identification numbers (VINs), vehicle serial numbers, and license plate numbers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "medical_code", - "displayName": "medical_code", - "displayNameV2": "medical_code", - "description": "Codes belonging to medical classification systems.", - "descriptionV2": "Codes belonging to medical classification systems.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "name_family", - "displayName": "name_family", - "displayNameV2": "name_family", - "description": "Names indicating a person’s family or community.", - "descriptionV2": "Names indicating a person’s family or community.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "account_number", - "displayName": "account_number", - "displayNameV2": "account_number", - "description": "Customer account or membership identification number.", - "descriptionV2": "Customer account or membership identification number.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "event", - "displayName": "event", - "displayNameV2": "event", - "description": "Names of events or holidays.", - "descriptionV2": "Names of events or holidays.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "filename", - "displayName": "filename", - "displayNameV2": "filename", - "description": "Names of computer files, including the extension or filepath.", - "descriptionV2": "Names of computer files, including the extension or filepath.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "gender_sexuality", - "displayName": "gender_sexuality", - "displayNameV2": "gender_sexuality", - "description": "Terms indicating gender identity or sexual orientation, including slang terms.", - "descriptionV2": "Terms indicating gender identity or sexual orientation, including slang terms.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "language", - "displayName": "language", - "displayNameV2": "language", - "description": "Names of natural languages.", - "descriptionV2": "Names of natural languages.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_address", - "displayName": "location_address", - "displayNameV2": "location_address", - "description": "Full or partial physical mailing addresses.", - "descriptionV2": "Full or partial physical mailing addresses.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_city", - "displayName": "location_city", - "displayNameV2": "location_city", - "description": "Municipality names, including villages, towns, and cities.", - "descriptionV2": "Municipality names, including villages, towns, and cities.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_coordinate", - "displayName": "location_coordinate", - "displayNameV2": "location_coordinate", - "description": "Geographic positions referred to using latitude, longitude, and/or elevation coordinates.", - "descriptionV2": "Geographic positions referred to using latitude, longitude, and/or elevation coordinates.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_country", - "displayName": "location_country", - "displayNameV2": "location_country", - "description": "Country names.", - "descriptionV2": "Country names.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_state", - "displayName": "location_state", - "displayNameV2": "location_state", - "description": "State, province, territory, or prefecture names.", - "descriptionV2": "State, province, territory, or prefecture names.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_zip", - "displayName": "location_zip", - "displayNameV2": "location_zip", - "description": "Zip codes (including Zip+4), postcodes, or postal codes.", - "descriptionV2": "Zip codes (including Zip+4), postcodes, or postal codes.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "marital_status", - "displayName": "marital_status", - "displayNameV2": "marital_status", - "description": "Terms indicating marital status.", - "descriptionV2": "Terms indicating marital status.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "money", - "displayName": "money", - "displayNameV2": "money", - "description": "Names and/or amounts of currency.", - "descriptionV2": "Names and/or amounts of currency.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "name_medical_professional", - "displayName": "name_medical_professional", - "displayNameV2": "name_medical_professional", - "description": "Full names, including professional titles and certifications, of medical professional, such as doctors and nurses", - "descriptionV2": "Full names, including professional titles and certifications, of medical professional, such as doctors and nurses", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "occupation", - "displayName": "occupation", - "displayNameV2": "occupation", - "description": "Job titles or professions.", - "descriptionV2": "Job titles or professions.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "organization", - "displayName": "organization", - "displayNameV2": "organization", - "description": "Names of organizations or departments within an organization.", - "descriptionV2": "Names of organizations or departments within an organization.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "organization_medical_facility", - "displayName": "organization_medical_facility", - "displayNameV2": "organization_medical_facility", - "description": "Names of medical facilities, such as hospitals, clinics, pharmacies, etc.", - "descriptionV2": "Names of medical facilities, such as hospitals, clinics, pharmacies, etc.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "origin", - "displayName": "origin", - "displayNameV2": "origin", - "description": "Terms indicating nationality, ethnicity, or provenance.", - "descriptionV2": "Terms indicating nationality, ethnicity, or provenance.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "passport_number", - "displayName": "passport_number", - "displayNameV2": "passport_number", - "description": "Passport numbers, issued by any country.", - "descriptionV2": "Passport numbers, issued by any country.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "password", - "displayName": "password", - "displayNameV2": "password", - "description": "Account passwords, PINs, access keys, or verification answers.", - "descriptionV2": "Account passwords, PINs, access keys, or verification answers.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "physical_attribute", - "displayName": "physical_attribute", - "displayNameV2": "physical_attribute", - "description": "Distinctive bodily attributes, including terms indicating race.", - "descriptionV2": "Distinctive bodily attributes, including terms indicating race.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "political_affiliation", - "displayName": "political_affiliation", - "displayNameV2": "political_affiliation", - "description": "Terms referring to a political party, movement, or ideology.", - "descriptionV2": "Terms referring to a political party, movement, or ideology.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "religion", - "displayName": "religion", - "displayNameV2": "religion", - "description": "Terms indicating religious affiliation.", - "descriptionV2": "Terms indicating religious affiliation.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "time", - "displayName": "time", - "displayNameV2": "time", - "description": "Expressions indicating clock times.", - "descriptionV2": "Expressions indicating clock times.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "username", - "displayName": "username", - "displayNameV2": "username", - "description": "Usernames, login names, or handles.", - "descriptionV2": "Usernames, login names, or handles.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "zodiac_sign", - "displayName": "zodiac_sign", - "displayNameV2": "zodiac_sign", - "description": "Names of Zodiac signs.", - "descriptionV2": "Names of Zodiac signs.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "blood_type", - "displayName": "blood_type", - "displayNameV2": "blood_type", - "description": "Blood types.", - "descriptionV2": "Blood types.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "condition", - "displayName": "condition", - "displayNameV2": "condition", - "description": "Names of medical conditions.", - "descriptionV2": "Names of medical conditions.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "dose", - "displayName": "dose", - "displayNameV2": "dose", - "description": "Medically prescribed quantity of a medication.", - "descriptionV2": "Medically prescribed quantity of a medication.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "drug", - "displayName": "drug", - "displayNameV2": "drug", - "description": "Medications, vitamins, and supplements.", - "descriptionV2": "Medications, vitamins, and supplements.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "injury", - "displayName": "injury", - "displayNameV2": "injury", - "description": "Bodily injuries.", - "descriptionV2": "Bodily injuries.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "medical_process", - "displayName": "medical_process", - "displayNameV2": "medical_process", - "description": "Medical processes, including treatments, procedures, and tests.", - "descriptionV2": "Medical processes, including treatments, procedures, and tests.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "statistics", - "displayName": "statistics", - "displayNameV2": "statistics", - "description": "Medical statistics.", - "descriptionV2": "Medical statistics.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "routing_number", - "displayName": "routing_number", - "displayNameV2": "routing_number", - "description": "Routing number associated with a bank or financial institution.", - "descriptionV2": "Routing number associated with a bank or financial institution.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "corporate_action", - "displayName": "corporate_action", - "displayNameV2": "corporate_action", - "description": "Any action a company takes that could affect its stock value or its shareholders.", - "descriptionV2": "Any action a company takes that could affect its stock value or its shareholders.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "financial_metric", - "displayName": "financial_metric", - "displayNameV2": "financial_metric", - "description": "Financial metrics or financial ratios are quantitative indicators of a company’s financial health.", - "descriptionV2": "Financial metrics or financial ratios are quantitative indicators of a company’s financial health.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "product", - "displayName": "product", - "displayNameV2": "product", - "description": "Names or model numbers of items made by an organization.", - "descriptionV2": "Names or model numbers of items made by an organization.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "trend", - "displayName": "trend", - "displayNameV2": "trend", - "description": "A description of the “quality” or the direction in which a financial measurement is going.", - "descriptionV2": "A description of the “quality” or the direction in which a financial measurement is going.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "duration", - "displayName": "duration", - "displayNameV2": "duration", - "description": "Periods of time, specified as a number and a unit of time.", - "descriptionV2": "Periods of time, specified as a number and a unit of time.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "valueName": "location_address_street", - "displayName": "location_address_street", - "displayNameV2": "location_address_street", - "description": "A subclass of location_address, covering: a building number and street name, plus information like a unit numbers, office numbers, floor numbers and building names, where applicable.", - "descriptionV2": "A subclass of location_address, covering: a building number and street name, plus information like a unit numbers, office numbers, floor numbers and building names, where applicable.", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - } - ] - }, - { - "tagName": "skyflow.options.allowed_file_types", - "displayName": "Allowed File Types", - "displayNameV2": "Allowed File Types", - "description": "Add Allowed File Types for this column by specifying standard MIME types below.", - "descriptionV2": "Add Allowed File Types for this column by specifying standard MIME types below.", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "string", - "dataTypes": [ - "DT_STRING" - ], - "arrayDataTypes": [ - "DT_STRING" - ] - }, - { - "tagName": "skyflow.options.fileuploadurl_expiry", - "displayName": "File Upload URL Expiry", - "displayNameV2": "File Upload URL Expiry", - "description": "Add File Upload URL Expiry for this column by specifying valid value.", - "descriptionV2": "Add File Upload URL Expiry for this column by specifying valid value.", - "canTakeMultipleValues": true, - "allowedOperations": { - "field": { - "withoutData": [ - "ADD", - "UPDATE", - "DELETE" - ] - }, - "composite": {}, - "compositeArray": {} - }, - "valueType": "integer", - "dataTypes": [ - "DT_INT32" - ], - "arrayDataTypes": [ - "DT_INT32" - ] - } -] diff --git a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-vault-schema.json b/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-vault-schema.json deleted file mode 100644 index f551e7e..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-schema-schemas/catalogue-vault-schema.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft/2019-09/schema#", - "$id": "http://skyflow.com/schemas/json-schema/vault-schema.json", - "definitions": { - "tag": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "name", - "values" - ] - }, - "tags": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/tag" - } - }, - "properties": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "references": { - "type": "string" - } - }, - "additionalProperties": false - }, - "id": { - "type": "string" - }, - "field": { - "type": "object", - "properties": { - "ID": { - "$ref": "#/definitions/id" - }, - "name": { - "type": "string", - "minLength": 1, - "pattern": "^[a-z][a-z0-9_]*$" - }, - "datatype": { - "type": "integer" - }, - "isArray": { - "type": "boolean" - }, - "tags": { - "$ref": "#/definitions/tags" - }, - "properties": { - "$ref": "#/definitions/properties" - } - }, - "additionalProperties": false, - "required": [ - "name", - "datatype" - ] - }, - "fields": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/field" - } - }, - "schema": { - "type": "object", - "properties": { - "ID": { - "$ref": "#/definitions/id" - }, - "name": { - "type": "string", - "minLength": 1, - "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$" - }, - "parentSchemaProperties": { - "type": "object", - "properties": { - "isArray": { - "type": "boolean" - }, - "tableType": { - "type": "integer" - }, - "parentFieldTags": { - "$ref": "#/definitions/tags" - } - }, - "additionalProperties": false - }, - "fields": { - "$ref": "#/definitions/fields" - }, - "childrenSchemas": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/schema" - } - }, - "schemaTags": { - "$ref": "#/definitions/tags" - }, - "properties": { - "$ref": "#/definitions/properties" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - }, - "type": "object", - "properties": { - "schemas": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/schema" - } - }, - "tags": { - "$ref": "#/definitions/tags" - } - }, - "additionalProperties": false, - "required": [ - "schemas" - ] -} \ No newline at end of file diff --git a/skyflow-skills-plugin/skills/create-vault/vault-settings.md b/skyflow-skills-plugin/skills/create-vault/vault-settings.md deleted file mode 100644 index a411eaf..0000000 --- a/skyflow-skills-plugin/skills/create-vault/vault-settings.md +++ /dev/null @@ -1,514 +0,0 @@ -# Vault settings - -When you create a vault or edit a vault's schema, there are various settings (represented as `tags` in the [Management API](/api/management)) that define field behaviors. Available settings follow. - -## Accepted values - -**Tag:** `skyflow.validation.predefinedvalues` - -Values that an enum field should accept. - -You can use this tag multiple times on a single field. - -### Values - -A string. - -### Data types - -* enum - -## Allowed file types - -**Tag:** `skyflow.options.allowed_file_types` - -Restricts the types of files that can be uploaded to a file column based on actual file content, not just the file extension. This provides protection against spoofed or renamed files by validating the file's true MIME type during upload. - -When configured, the system validates uploaded files by: - -1. Detecting the actual file type from the file's binary signature (MIME sniffing) -2. Comparing the detected type against the allowed list -3. Verifying that the file extension matches the actual content type - -If a file doesn't match the allowed types or the extension doesn't match the actual file type, the upload is rejected. - - - You can only configure allowed file types on empty columns. Once a column - contains data, you can't modify this setting. - - -### Values \[#allowed-file-types-values] - -A subset of MIME type strings following the [IANA Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml) standard format (`type/subtype`). Supported MIME types: - -{/*Based on https://github.com/gabriel-vasile/mimetype/blob/master/supported_mimes.md, but only documenting MIME types we've actively tested.*/} - -| File type | Value | -| ------------------------- | --------------------------------------------------------------------------- | -| Gzip compressed files | `application/gzip` | -| JSON files | `application/json` | -| PDF documents | `application/pdf` | -| Windows executable files | `application/vnd.microsoft.portable-executable` | -| PowerPoint PPTX files | `application/vnd.openxmlformats-officedocument.presentationml.presentation` | -| PowerPoint PPT files | `application/vnd.ms-powerpoint` | -| Excel XLSX files | `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` | -| Excel XLS files | `application/vnd.ms-excel` | -| Word DOCX files | `application/vnd.openxmlformats-officedocument.wordprocessingml.document` | -| Word DOC files | `application/msword` | -| SQLite database files | `application/vnd.sqlite3` | -| Java applet files | `application/x-java-applet` | -| ZIP archive files | `application/zip` | -| FLAC audio files | `audio/flac` | -| MP3 audio files | `audio/mpeg` | -| WAV audio files | `audio/wav` | -| GIF image files | `image/gif` | -| TIFF image files | `image/tiff` | -| HEIC image files | `image/heic` | -| JPEG image files | `image/jpeg`, \`image/jpg | -| PNG image files | `image/png` | -| WebP image files | `image/webp` | -| HTML files | `text/html` | -| Plain text files | `text/plain` | -| MP4 video files | `video/mp4` | -| QuickTime MOV video files | `video/quicktime` | - -### Data types \[#allowed-file-types-data-types] - -* file - -### Example - -```json -{ - "name": "document", - "datatype": "DT_FILE", - "tags": [ - { - "name": "skyflow.options.allowed_file_types", - "values": ["application/pdf", "image/png", "image/jpeg"] - } - ] -} -``` - -## Column group - -**Tag:** `skyflow.options.column_group` - -A column-level option to specify the [column group](/docs/tokenization/column-groups) that the column belongs to. If not specified, each column belongs to its own column group with the schema `$tableName.$columnName`. For example, the `state` column in a `persons` table has a default column group of `persons.state`. - -All columns in a column group need to have the same values for the following options: - -* [Default token policy](#default-token-policy) -* [Find pattern](#find-pattern) -* [Format-preserving regular expression](#format-preserving-regular-expression) -* [Redaction](#redaction) -* [Regular expression validation](#regular-expression-validation) -* [Replace pattern](#replace-pattern) - -### Values \[#values] - -A string. - -## Configuration tags - -**Tag:** `skyflow.options.configuration_tags` - -Tags for properties of a field. - -You can use this tag multiple times on a single field. - -### Values \[#values1] - -| Value | Data types | -| ------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| `INDEX` |
      • date
      • datetime
      • file
      • float32
      • int32
      • string
      • time
      | -| `FOREIGN_KEY` |
      • string
      | -| `META_DATA` |
      • bool
      • enum
      • file
      • float32
      • int32
      • string
      | -| `NOT_NULL` |
      • bool
      • enum
      • file
      • float32
      • int32
      • string
      | -| `NULLABLE` |
      • bool
      • enum
      • file
      • float32
      • int32
      • string
      | -| `PRIMARY_KEY` |
      • string
      | -| `UNIQUE` |
      • date
      • datetime
      • file
      • float32
      • int32
      • string
      • time
      | - -## Data type - -**Tag:** `skyflow.options.data_type` - -The type of data the field stores. - -### Values \[#values2] - -* `bool` -* `date` -* `datetime` -* `enum` -* `file` -* `float32` -* `int32` -* `json` -* `string` -* `time` - -## Default token policy - -**Tag:** `skyflow.options.default_token_policy` - -The type of tokenization to use for the associated field. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values3] - -| Value | Description | Data types | -| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `DETERMINISTIC_FPT` | A persistent, format-preserving token for a given value. A [regular expression](/docs/vaults/vault-settings#format-preserving-regular-expression) can to structure the token format. If a regular expression isn't specified, the format is inferred based on the value.

      For example, "\<[bwe09f@fg7d8.com](mailto:bwe09f@fg7d8.com)>" can be a token for "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>" in a given vault and for a given a regular expression. |
      • date
      • datetime
      • enum
      • file
      • string
      • time
      | -| `DETERMINISTIC_UUID` | A token that is a persistent UUID for a given value. All occurrences of this value generate the same token.

      For example, "c7db3f3a-5d01-4a98-961e-9cbdb6241b0d" can be a token for "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>" in a given vault. |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `FORMAT_PRESERVING_TOKEN` | A token that follows the default [regular expression](/docs/vaults/vault-settings#format-preserving-regular-expression) specified for the field.

      For example, "bwe09f\@fg7d8.tu8" can be a token for "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>". |
      • date
      • datetime
      • enum
      • file
      • string
      • time
      | -| `NON_DETERMINISTIC_FPT` | A format-preserving token for a given \`value. All occurrences of a given value generate different tokens. A [regular expression](/docs/vaults/vault-settings#format-preserving-regular-expression) can structure the token format. If a regular expression isn't specified, the format is inferred based on the value.

      For example, "\<[bwe09f@fg7d8.com](mailto:bwe09f@fg7d8.com)>" and "\<[nv63kl@s8021h.com](mailto:nv63kl@s8021h.com)>" can be tokens for different instances of "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>" in a given vault and for a given regular expression. |
      • date
      • datetime
      • enum
      • file
      • string
      • time
      | -| `NON_DETERMINISTIC_TRANSIENT_UUID` | A non-deterministic UUID token that expires after the specified [time-to-live (TTL)](#time-to-live) elapses.

      Transient field values are available through [Detokenize](/api/data/tokens/detokenize) until the field's TTL elapses, even if the record containing the value was deleted. Transient field values aren't available through the [Get Record](/api/data/records/get-record-by-id). |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `NON_DETERMINISTIC_UUID` | A token that is a random UUID. All occurrences of a given value generate different tokens.

      For example, "c7db3f3a-5d01-4a98-961e-9cbdb6241b0d" and "2df82555-3a48-48ad-ac4b-2b89a1a99c0e" can be tokens for different instances of "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>". |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `RANDOM_TOKEN` | A token that isn't derived from original data.

      For example, "bwe09ffg7d8tu8pd" can be a token for "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>". |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `DETERMINISTIC_PRESERVE_LEFT_6_RIGHT_4` | A persistent token for a given value that preserves the left-6 and right-4 digits of a credit card number. Only works with columns formatted as the Credit Card data type. All occurrences of this value generate the same token.

      For example, "7234565843691234" can be a token for "7234567899871234" in a given vault.

      **Note:** This token policy limits the token space to 1 million possible combinations, which may negatively impact performance of token generation. To learn more, contact Skyflow. |
      • Credit Card
      | -| `DETERMINISTIC_PRESERVE_EMAIL_DOMAIN` | A persistent token for a given value that preserves the domain and the top level domain (TLD) of an email address. Only works with columns formatted as the Email data type. All occurrences of this value generate the same token.

      For example, "\<[c7db3f3a5d014a98961@gmail.com](mailto:c7db3f3a5d014a98961@gmail.com)>" can be a token for "\<[johndoe@gmail.com](mailto:johndoe@gmail.com)>" in a given vault. **Note:** This token type is not generally available. Contact Skyflow support for more information. |
      • Email
      | - -## Description - -**Tag:** `skyflow.options.description` - -Information about the field. - -### Values \[#values4] - -A string. - -### Data types \[#data-types1] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Encrypted operations - -**Tag:** `skyflow.options.operation` - -Operations enabled for encrypted data. - -You can use this tag multiple times on a single field. - -### Values \[#values5] - -| Value | Description | Data types | -| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ALL_OP` | **Warning:** Don't use for fields that contain sensitive data.

      Enables all operations by not keeping data encrypted at all times. |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `AGGREGATION` | Enables queries like `SELECT AVERAGE(age) FROM users`. |
      • int32
      | -| `EXACT_MATCH` | Enables queries like `SELECT * FROM users WHERE email = \"johndoe@mail.com\"`. |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `ORDER` | Enables queries like `SELECT * FROM users WHERE age > 40`. |
      • date
      • datetime
      • int32
      • time
      | - -## Find pattern - -**Tag:** `skyflow.options.find_pattern` - -The regular expression to find values to [mask](/docs/vaults/vault-settings#redaction) in a field. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values6] - -A regular expression. - -### Data types \[#data-types2] - -* date -* datetime -* enum -* string -* time - -## Format-preserving regular expression - -**Tag:** `skyflow.options.format_preserving_regex` - -The regular expression used when generating [tokens](/docs/vaults/vault-settings#default-token-policy). If not specified, -tokens formats are based on the input structure and length. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values7] - -A regular expression. - -### Data types \[#data-types3] - -* date -* datetime -* enum -* string -* time - -## Identifiability - -**Tag:** `skyflow.options.identifiability` - -A tag for how personally identifiable the field's data is. - -You can use this tag multiple times on a single field. - -### Values \[#values8] - -| Value | Description | -| -------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -| `HIGH_IDENTIFIABILITY` | Data that can uniquely identify the person, such as name, address, or email. | -| `MODERATE_IDENTIFIABILITY` | Data that can identify a person relatively easily when combined with other data but cannot uniquely identify the person. | -| `LOW_IDENTIFIABILITY` | Data that can't easily identify a person. | -| `UNKNOWN_IDENTIFIABILITY` | Data that has an unknown level of identifiability. | - -### Data types \[#data-types4] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Index - -**Tag:** `skyflow.options.index` - -Specifies whether or not the field is indexed. - -### Values \[#values9] - -* `true` -* `false` - -### Data types \[#data-types5] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Not null - -**Tag:** `skyflow.options.not_null` - -Specifies whether or not the field is nullable. - -### Values \[#values10] - -* `true` -* `false` - -### Data types \[#data-types6] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Personal information type - -**Tag:** `skyflow.options.personal_information_type` - -A tag for the type of personal information in the field. - -You can use this tag multiple times on a single field. - -### Values \[#values11] - -| Value | Description | -| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `NPI` | Nonpublic personal information (NPI) is personally identifiable financial information provided by a consumer to a financial institution, resulting from any transaction with the consumer. | -| `PCI` | Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements intended to ensure that all companies that process, store, or transmit credit card information maintain a secure environment. | -| `PHI` | Protected health information (PHI) is the term given to health data created, received, stored, or transmitted by HIPAA-covered entities and their business associates. | -| `PII` | Personally Identifiable Information (PII) can be used to distinguish or trace an individual's identity, either alone or when combined with other information that is linked or linkable to a specific individual. | - -### Data types \[#data-types7] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Privacy law - -**Tag:** `skyflow.options.privacy_law` - -A tag for privacy laws that are applicable to the field. - -You can use this tag multiple times on a single field. - -### Values \[#values12] - -| Value | Description | -| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CCPA` | The California Consumer Privacy Act (CCPA) is a state statute intended to enhance privacy rights and consumer protection for residents of California, United States. | -| `COPPA` | The Children's Online Privacy Protection Act of 1998 (COPPA) is a federal law that imposes specific requirements on operators of websites and online services to protect the privacy of children under 13. | -| `GDPR` | The General Data Protection Regulation (GDPR) is a regulation in EU law on data protection and privacy in the European Union and the European Economic Area. | -| `GLBA` | The Gramm-Leach-Bliley Act (GLBA) requires financial institutions—companies that offer consumers financial products or services like loans, financial or investment advice, or insurance—to explain their information-sharing practices to their customers and to safeguard sensitive data. | -| `HIPAA` | The Health Insurance Portability and Accountability Act of 1996 (HIPAA) is a federal law that required the creation of national standards to protect sensitive patient health information from being disclosed without the patient's consent or knowledge. | -| `US_PRIVACY_ACTIVITY` | General United States-based privacy activity. | -| `UNKNOWN_PRIVACY_LAW` | | - -### Data types \[#data-types8] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Redaction - -**Tag:** `skyflow.options.default_dlp_policy` - -The redaction strategy for displaying the field's data. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values13] - -| Value | Description | Data types | -| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `PLAIN_TEXT` | Data isn't redacted and appears in plain text. Only use this setting on non-sensitive fields.

      For example, "\<[johndoe@acme.com](mailto:johndoe@acme.com)>" appears as "\<[johndoe@acme.com](mailto:johndoe@acme.com)>". |
      • bool
      • date
      • datetime
      • enum
      • file
      • float32
      • int32
      • string
      • time
      | -| `REDACT` | Data is completely redacted.

      For example, "\<[johndoe@acme.com](mailto:johndoe@acme.com)>" appears as "REDACTED". |
      • bool
      • date
      • datetime
      • enum
      • float32
      • int32
      • string
      • time
      | -| `MASK` | Data is partially redacted based on the associated [Find pattern](/docs/vaults/vault-settings#find-pattern) and [Replace pattern](/docs/vaults/vault-settings#replace-pattern).

      For example, "\<[johndoe@acme.com](mailto:johndoe@acme.com)>" might appear "\*\*\*@acme.com" given the appropriate Find and Replace patterns. |
      • date
      • datetime
      • enum
      • string
      • time
      | - -## Regular expression validation - -**Tag:** `skyflow.validation.regular_exp` - -Regular expressions that determine if input values are valid and accepted for the field. - -You can use this tag multiple times on a single field. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values14] - -A regular expression. - -## Replace pattern - -**Tag:** `skyflow.options.replace_pattern` - -The regular expression to replace found values in a [masked](/docs/vaults/vault-settings#redaction) field. - - - All fields in a [column group](#column-group) need to have the same value for - this setting. - - -### Values \[#values15] - -A regular expression. - -### Data types \[#data-types9] - -* date -* datetime -* enum -* string -* time - -## Sensitivity - -**Tag:** `skyflow.options.sensitivity` - -A tag for the sensitivity level of a field's data. The greater the harm caused by the data being compromised or disclosed, the higher its sensitivity. - -You can use this tag multiple times on a single field. - -### Values \[#values16] - -* `HIGH` -* `MEDIUM` -* `LOW` - -### Data types \[#data-types10] - -* bool -* date -* datetime -* enum -* file -* float32 -* int32 -* string -* time - -## Time to live (TTL) \[#time-to-live] - -**Tag:** `skyflow.options.ttl` - -The amount of time (in minutes) to elapse before a [transient](/docs/vaults/vault-settings#default-token-policy) field's value expires. - -Min: `1` minute. Max: `20160` minutes or 14 days. Default: `60` minutes. - -### Values \[#values17] - -An integer. - -## Unique - -**Tag:** `skyflow.options.unique` - -Specifies whether or not values in the field must be unique and non-repeating. - -### Values \[#values18] - -* `true` -* `false` - -### Data types \[#data-types11] - -* date -* datetime -* float32 -* int32 -* string -* time diff --git a/skyflow-skills-plugin/skills/get-started/SKILL.md b/skyflow-skills-plugin/skills/get-started/SKILL.md deleted file mode 100644 index 1e40d57..0000000 --- a/skyflow-skills-plugin/skills/get-started/SKILL.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -name: get-started -description: Use at the very start of any Skyflow project — when a user is new to Skyflow, is bootstrapping an integration or proof of concept, doesn't know which API/SDK/skill to reach for, or hasn't yet set up their account, environment (trial/sandbox/production), base URLs, or credentials. The front door that orients the user and hands off to the right Skyflow skill. ---- - -# Get Started with Skyflow - -The front door for a new Skyflow integration or POC. Your job is to get the user from "I have (or want) a Skyflow account" to "I'm working in the right skill, against the right environment, with credentials handled safely" — fast. - -Skyflow is a data privacy vault: you store sensitive data (PII, PHI, PCI) in Skyflow, get back tokens, and keep raw secrets out of your own systems. This skill doesn't do the integration itself — it **routes** to the skill that does. - -## Run this flow - -Work through these in order. **Skip any step the user has already answered** — don't re-interrogate. Present choices as pick-lists (offer the options, let them choose) rather than open questions. - -1. **Account & environment** — do they have an account? Trial, sandbox, or production? This sets the base URLs and how careful to be. -2. **Credentials** — get a token in place *securely*, without it ever touching the chat. -3. **Goal** — what are they actually trying to do? Propose the options. -4. **Mode** — educational/collaborative, or get-it-done? -5. **Hand off** — route to the right skill(s), API, SDK, and docs. - ---- - -## Step 1 — Account & environment - -Ask: **"Do you already have a Skyflow account?"** - -- **No account** → point them to the free trial: . A trial is the fastest way to start. Come back here once they're signed in. -- **Has an account** → find out which *type*, because it drives every base URL and vault URL you'll use. Easiest tell: look at the browser URL while signed in to Studio. - -| Account type | Studio URL looks like | Management (API) base URL | Vault URL pattern | -| --- | --- | --- | --- | -| **Trial** | `try.skyflow.com/...` | `https://manage.skyflowapis.com` | `https://.vault.skyflowapis.com` | -| **Sandbox** | `.skyflow-preview.com` | `https://manage.skyflowapis-preview.com` | `https://.vault.skyflowapis-preview.com` | -| **Production** | `.skyflow.com` | `https://manage.skyflowapis.com` | `https://.vault.skyflowapis.com` | - -**The `-preview` suffix is the sandbox tell.** Trial and production both run on `skyflowapis.com`. - -> **Golden rule:** don't guess the URLs. Copy the exact **Management URL** and **Vault URL** from Studio → *vault menu icon → View vault details*. That view also has your **Account ID**, **Workspace ID**, and **Vault ID**. The table above is the usual mapping; Studio is the source of truth. - -Record for the session: account type, Management base URL, Vault URL, Account ID, Vault ID. - -Full detail, per-environment cautions, and how to find each ID → [environments.md](environments.md). - ---- - -## Step 2 — Credentials (handle with care) - -The quickest credential to start with is a **personal access / API bearer token** from Studio: **top-right profile (account) menu → Generate API Bearer Token**. - -**Never ask the user to paste the token into the chat.** Tokens are secrets — in a shared or logged session, and especially in sandbox/production, a pasted token is a leaked token. Instead, have them place it in the environment and read it from there: - -```bash -# Add to your shell profile (e.g. ~/.zshrc), then restart the terminal. -# These names match the Skyflow MCP plugins, so setting them once wires those up too. -export SKYFLOW_BEARER_TOKEN="your-token-here" -export SKYFLOW_ACCOUNT_ID="your-account-id-here" -``` - -Confirm it's set **without printing it**: - -```bash -[ -n "$SKYFLOW_BEARER_TOKEN" ] && echo "token is set" || echo "token is NOT set" -``` - -For a project, a **gitignored `.env`** works too — just make sure `.env` is in `.gitignore` before writing anything to it. - -Match the credential to the environment: - -| Environment | Recommended credential | -| --- | --- | -| Trial / POC | Personal access token (fastest to get going) | -| Sandbox | Personal access token is fine; start moving to a service account | -| Production | Service account or **API key** with least privilege; generate short-lived bearer tokens server-side; use a secrets manager | - -**Non-negotiables:** never paste tokens into chat, commit them, or echo them into logs; never send real customer PII to a trial/sandbox; the higher the environment, the more caution. - -Token types, secure provisioning options, and MCP wiring → [credentials.md](credentials.md). - ---- - -## Step 3 — What do you want to do? - -Propose these options and let the user pick (they can combine): - -- **A. Explore what's possible** — learn the concepts, kick the tires, see a working example. -- **B. Plan a full implementation** — design the vault, data model, and integration before building. -- **C. Build a POC / prototype** — get something working fast, correctness over polish. -- **D. Build a production-ready integration** — do it properly: security, access controls, real credentials. -- **E. A specific task** — e.g. create a vault, collect data in the browser, tokenize records, de-identify text/LLM data, or migrate an existing SDK. - ---- - -## Step 4 — Pick a working mode - -Offer both, and adapt for the rest of the session: - -- 🎓 **Educational / collaborative** — explain the *why*, go step by step, surface options and trade-offs, confirm understanding before moving on. Best for first-timers and anyone learning Skyflow. -- ⚡ **Get-it-done** — minimize back-and-forth, choose sensible defaults, execute end-to-end, then report what you did. Best when the user knows Skyflow or just wants the result. - -Get-it-done still **pauses before anything irreversible or production-facing** (writing real data, changing production config, rotating credentials). - ---- - -## Step 5 — Hand off to the right skill - -Match the goal to the skill and load it. All skills below ship in this same `skyflow-skills` plugin. - -| You want to… | Start here (skill) | Also useful | -| --- | --- | --- | -| Plan a full implementation / architecture | **plan-skyflow-implementation** | create-vault, call-rest-apis | -| Create or design a vault (schema, tokenization, redaction) | **create-vault** | call-rest-apis | -| Call the Skyflow REST APIs directly (curl/HTTP) | **call-rest-apis** | skyflow-developer-mcp | -| Integrate a Node.js / backend service | **quickstart-node** | call-rest-apis, migrate-sdk-v1-to-v2 | -| Collect sensitive data in the browser (Elements) | **quickstart-js-browser** | create-vault | -| De-identify PII in text or protect LLM prompts (Detect) | **call-rest-apis** (Detect) | skyflow-runtime-mcp | -| Upgrade an existing V1 SDK integration | **migrate-sdk-v1-to-v2** | — | -| Look things up live (docs, resources, skills) | **skyflow-developer-mcp** (MCP plugin) | — | - -**Typical first-timer path:** explore → `plan-skyflow-implementation` → `create-vault` → a quickstart (`quickstart-node` or `quickstart-js-browser`) → `call-rest-apis` as you build. - -### Companion MCP plugins (optional) - -The skills work standalone. For live access, pair with: - -- **skyflow-developer-mcp** — Skyflow docs, skills, and integration resources on demand. Most users want this. Reads `SKYFLOW_BEARER_TOKEN` and `SKYFLOW_ACCOUNT_ID` (the same vars from Step 2). -- **skyflow-runtime-mcp** — on-demand de-identification of PII in text via the Detect APIs. Add only if you need it. - -Install: `/plugin marketplace add SkyflowFoundry/claude` then `/plugin install skyflow-developer-mcp@skyflow-marketplace`. - ---- - -## Guardrails (apply throughout) - -- **Secrets stay out of the transcript.** Never request, print, or commit a token; read it from the environment. -- **Right environment, right data.** Trial and sandbox are for test data only — never real customer PII. -- **Escalate caution with the environment.** Production actions get confirmed first, always. -- **Confirm URLs from Studio**, don't hardcode from memory. -- **When unsure which skill fits, ask** — this skill is a router, not the destination. - -## Related documentation - -- [environments.md](environments.md) — account types, base URLs, finding your IDs, per-environment guidance -- [credentials.md](credentials.md) — token types, secure local setup, what never to do -- Skyflow docs: · API authentication: diff --git a/skyflow-skills-plugin/skills/get-started/credentials.md b/skyflow-skills-plugin/skills/get-started/credentials.md deleted file mode 100644 index 2ca7575..0000000 --- a/skyflow-skills-plugin/skills/get-started/credentials.md +++ /dev/null @@ -1,88 +0,0 @@ -# Skyflow Credentials — Secure Setup - -Every Skyflow API call needs a bearer token in an `Authorization: Bearer ` header. This guide covers the token types, how to get one, and — most importantly — how to handle it without leaking it. - -## The one rule that matters most - -**A token is a secret. It never belongs in the chat, a commit, or a log.** - -- Do **not** ask the user to paste their token into the conversation. -- Do **not** print it, echo it, or write it into a file that gets committed. -- Read it from the **environment** (or a gitignored `.env`) instead. -- The higher the environment (trial → sandbox → production), the more this matters. A leaked production token can expose real customer data. - -If a token ever does end up in the transcript or a shared log, treat it as compromised: **rotate/revoke it in Studio immediately.** - -## Token types - -| Type | Where it comes from | Lifetime | Best for | -| --- | --- | --- | --- | -| **Personal access / API bearer token** | Studio → top-right profile (account) menu → *Generate API Bearer Token* | Short-lived (typically ~60 min) | Getting started, trials, POCs. Tied to your user. | -| **API key** | Studio (service account settings) | Long-lived, revocable | Long-lived programmatic/backend access with least privilege | -| **Service account + generated bearer token** | Download a credentials JSON; sign a JWT assertion and exchange it for a bearer token server-side | Bearer token short-lived; you regenerate as needed | Production. Credentials never leave your backend. | - -For getting started, the **personal access token** is the fastest path. For anything production-facing, move to a **service account** or a least-privilege **API key**. See the `call-rest-apis` skill for how to exchange a service account JWT assertion for a bearer token, and the `plan-skyflow-implementation` skill for the auth decision tree. - -## Get a personal access token - -1. Sign in to Skyflow Studio (the right environment — see [environments.md](environments.md)). -2. Click the **profile / account icon in the top-right**. -3. Choose **Generate API Bearer Token**. -4. Copy the token — you'll place it in your environment below, not into the chat. - -Because these tokens expire (~60 min), you'll regenerate periodically during development. For anything longer-lived, use an API key or a service account. - -## Provide the token securely (pick one) - -### Option 1 — Shell environment variable (recommended for local dev) - -Add to your shell profile (e.g. `~/.zshrc` on macOS), then **restart the terminal**. These names match the Skyflow MCP plugins, so setting them here also wires those up: - -```bash -echo 'export SKYFLOW_BEARER_TOKEN="your-token-here"' >> ~/.zshrc -echo 'export SKYFLOW_ACCOUNT_ID="your-account-id-here"' >> ~/.zshrc -``` - -Verify **without printing the secret**: - -```bash -[ -n "$SKYFLOW_BEARER_TOKEN" ] && echo "SKYFLOW_BEARER_TOKEN is set" || echo "SKYFLOW_BEARER_TOKEN is NOT set" -``` - -### Option 2 — Gitignored `.env` file (project-local) - -1. Confirm `.env` is in `.gitignore` **before** creating it: - ```bash - grep -qxF '.env' .gitignore || echo '.env' >> .gitignore - ``` -2. Put the token in `.env`: - ```bash - SKYFLOW_BEARER_TOKEN=your-token-here - SKYFLOW_ACCOUNT_ID=your-account-id-here - ``` -3. Load it with your framework's env loader (`dotenv`, Vite's `import.meta.env`, etc.). Never hardcode the token in source. - -### Option 3 — Secrets manager (production) - -Store credentials in a secrets manager (AWS Secrets Manager, GCP Secret Manager, Vault, etc.) and inject them at runtime. Use a **service account** to generate short-lived bearer tokens on the backend — the raw credentials never reach a frontend or a developer's laptop. - -## Using the token in requests - -```bash -curl -s "$VAULT_URL/v1/vaults/$VAULT_ID/persons" \ - -H "Authorization: Bearer $SKYFLOW_BEARER_TOKEN" -``` - -The agent should reference `$SKYFLOW_BEARER_TOKEN` in commands rather than the literal value, so the secret stays out of the command it prints. - -## Frontend note - -Browser/mobile SDKs must **never** hold a service account or long-lived key. They call your backend for a **short-lived bearer token** via a `getBearerToken()` function. See the `quickstart-js-browser` skill's "Production Hardening" section for the token-endpoint pattern. - -## Checklist - -- [ ] Token stored in an env var, gitignored `.env`, or secrets manager — never in the chat -- [ ] `.env` is in `.gitignore` (if using a file) -- [ ] Token matches the target environment (trial/sandbox/production) -- [ ] Production uses a service account or least-privilege API key, not a personal token -- [ ] No token, credential, or real PII appears in logs, commits, or the transcript diff --git a/skyflow-skills-plugin/skills/get-started/environments.md b/skyflow-skills-plugin/skills/get-started/environments.md deleted file mode 100644 index 617112e..0000000 --- a/skyflow-skills-plugin/skills/get-started/environments.md +++ /dev/null @@ -1,78 +0,0 @@ -# Skyflow Environments & Base URLs - -Your Skyflow account type decides which base URLs you talk to and how careful you should be. Get this right first — pointing an integration at the wrong environment is one of the most common early mistakes. - -## Identify your account type - -Sign in to Studio and look at the URL in your browser: - -| Browser URL | Account type | -| --- | --- | -| `try.skyflow.com/...` | **Trial** | -| `.skyflow-preview.com` | **Sandbox** | -| `.skyflow.com` (not `try`, not `-preview`) | **Production** | - -If you're not sure, the **`-preview` suffix means sandbox**. Trial and production both live on `skyflow.com` / `skyflowapis.com`. - -## Base URL matrix - -| Account type | Management (API) base URL | Vault URL pattern | Docs | -| --- | --- | --- | --- | -| **Trial** | `https://manage.skyflowapis.com` | `https://.vault.skyflowapis.com` | `docs.skyflow.com` | -| **Sandbox** | `https://manage.skyflowapis-preview.com` | `https://.vault.skyflowapis-preview.com` | `docs.skyflow-preview.com` | -| **Production** | `https://manage.skyflowapis.com` | `https://.vault.skyflowapis.com` | `docs.skyflow.com` | - -- **Management API** (create vaults, manage schemas/policies, auth) uses the `manage.*` host. -- **Data & Detect APIs** (insert, tokenize, detokenize, de-identify) use your **vault URL** — the per-vault `.vault.*` host. -- `` is the subdomain of your vault URL (e.g. for `https://ebfc9bee4242.vault.skyflowapis.com`, the cluster ID is `ebfc9bee4242`). - -> **Always confirm the exact URLs from Studio.** This table is the usual mapping, but Studio is the source of truth — copy the real values rather than reconstructing them from memory. - -## Find your IDs and URLs in Studio - -In Studio, open a vault and click the **vault menu icon → View vault details**. That panel gives you: - -- **Vault URL** — the base for Data and Detect API calls -- **Vault ID** — identifies the vault in API paths -- **Account ID** — sent as the `X-SKYFLOW-ACCOUNT-ID` header on many Management calls -- **Workspace ID** — needed when creating vaults - -Suggested environment variables for local work (these names line up with the Skyflow MCP plugins): - -```bash -export MANAGEMENT_URL=https://manage.skyflowapis.com # or ...-preview.com for sandbox -export SKYFLOW_ACCOUNT_ID= -export WORKSPACE_ID= -export VAULT_ID= -export VAULT_URL= -export SKYFLOW_BEARER_TOKEN= # see credentials.md -``` - -## Per-environment guidance - -### Trial -- **Purpose:** learning, demos, quick POCs. Time-limited. -- **Data:** synthetic/test data only — never real customer PII. -- **Credentials:** a personal access token in a local `.env` or env var is fine. -- **Mindset:** move fast, treat everything as disposable. - -### Sandbox (`-preview`) -- **Purpose:** pre-production development and staging against a stable environment. -- **Data:** test data only. Still no real PII. -- **Credentials:** personal access token works; begin moving to a **service account** as the integration matures. -- **Mindset:** build it the way you'll ship it, but it's still safe to break. - -### Production -- **Purpose:** real users, real sensitive data. -- **Data:** real PII/PHI/PCI — handle accordingly. Never log raw values. -- **Credentials:** **service account or least-privilege API key**, short-lived bearer tokens generated server-side, secrets stored in a secrets manager. No personal tokens. -- **Mindset:** highest caution. Confirm before any write, config change, or credential rotation. Get a security review before launch (see the `plan-skyflow-implementation` skill). - -## Common mistakes - -| Symptom | Likely cause | Fix | -| --- | --- | --- | -| `401 Unauthorized` on every call | Token from a different environment, or expired | Regenerate a token for the environment you're targeting | -| Calls hit the wrong data / vault | Mixed `skyflowapis.com` and `skyflowapis-preview.com` hosts | Use one environment's hosts consistently; copy URLs from Studio | -| `404` on Management calls | Wrong `manage.*` host for your account type | Sandbox uses `manage.skyflowapis-preview.com`; trial/prod use `manage.skyflowapis.com` | -| Vault operations fail | Using the Management host for Data/Detect calls | Data & Detect use the **vault URL**, not `manage.*` | diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/SKILL.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/SKILL.md deleted file mode 100644 index 5f96005..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/SKILL.md +++ /dev/null @@ -1,293 +0,0 @@ ---- -name: migrate-sdk-v1-to-v2 -description: Guide migration from Skyflow V1 SDKs to V2, covering authentication changes, client initialization, request/response structures, and SDK-specific patterns. ---- - -# Migrate Skyflow SDK from V1 to V2 - -This skill guides you through migrating from Skyflow V1 SDKs to the new V2 SDKs. V2 introduces significant improvements including TypeScript support, multiple authentication options, multi-vault support, and enhanced error handling. - -## Why Migrate to V2? - -| Feature | V1 | V2 | -|---------|----|----| -| Type Safety | Limited or separate type packages | Native type support (TypeScript, type hints) | -| Authentication Options | Service account / token provider only | API Key, Env Var, Credentials File, JSON String, Bearer Token | -| Multi-Vault Support | Separate client per vault | Single client, multiple vaults | -| Log Levels | Global setting | Instance-specific | -| Error Details | Basic (code, description) | Enhanced (http_status, grpc_code, request_ID, details) | -| Vault Configuration | `vaultURL` | `clusterId`-based | -| Request Building | Plain objects / JSON | Typed request classes or builder pattern | -| Data Structures | Third-party JSON libraries | Native language collections | - -## Migration Workflow - -``` -1. Discover ─> 2. Understand ─> 3. Migrate ─> 4. Test ─> 5. Verify - │ │ │ │ │ - ├─ Find V1 ├─ Review ├─ Update ├─ Unit ├─ Integration - │ usage │ breaking │ imports │ tests │ tests - ├─ Inventory │ changes ├─ Update ├─ Access ├─ Production - │ code ├─ Plan │ auth │ control │ validation - └─ Document │ updates ├─ Update │ tests │ - patterns │ │ requests │ │ - │ └─ Update │ │ - │ errors │ │ -``` - -## Phase 1: Discover Existing V1 Usage - -Before migrating, inventory all V1 SDK usage in your codebase. - -### V1 Identification Patterns - -| SDK | V1 Import Pattern | V1 Initialization Pattern | -|-----|-------------------|---------------------------| -| Node.js | `require('skyflow-node')` | `Skyflow.init({ vaultID, vaultURL, getBearerToken })` | -| Python | `from skyflow.vault import Client, Configuration` | `Client(Configuration(vault_id, vault_url, token_provider))` | -| Java | `import com.skyflow.Skyflow` | `Skyflow.init(new SkyflowConfiguration(vaultId, vaultUrl, tokenProvider))` | -| Go | `import "github.com/skyflowapi/skyflow-go/skyflow/client"` | `Skyflow.Init(common.Configuration{VaultID, VaultURL, TokenProvider})` | - -### Discovery Checklist - -- [ ] Search for V1 import statements -- [ ] Identify all client initialization points -- [ ] List all API operations (insert, get, detokenize, etc.) -- [ ] Document authentication method currently used -- [ ] Note any custom error handling patterns -- [ ] Identify test files that need updating - -Use [templates/code-inventory.md](templates/code-inventory.md) to document findings. - -## Phase 2: Understand Breaking Changes - -### Authentication Changes - -V2 supports multiple authentication methods: - -| Auth Method | Description | When to Use | -|-------------|-------------|-------------| -| **API Key** | Direct API key authentication | Simple backend services | -| **Environment Variable** | `SKYFLOW_CREDENTIALS` env var | CI/CD pipelines, containers | -| **Credentials File** | Path to credentials JSON file | Local development | -| **Stringified JSON** | Credentials as JSON string | Secrets managers | -| **Bearer Token** | Pre-generated bearer token | Frontend apps, short-lived tokens | - -### Client Initialization Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Vault Location | `vaultURL: 'https://xxx.vault.skyflowapis.com'` | `clusterId: 'xxx'` | -| Multiple Vaults | Separate client instance per vault | Single client with `vaultConfigs` array | -| Log Level | Global setting | Per-instance via `logLevel` config | -| Type Safety | Separate type packages or none | Native types (TypeScript, type hints, generics) | -| Context (Go) | Not required | `context.Context` required for all operations | - -**Extracting clusterId from vaultURL:** -- V1 vaultURL: `https://.vault.skyflowapis.com` -- V2 clusterId: `` (just the subdomain portion) - -### Request Structure Changes - -V2 uses typed request classes instead of plain objects. The exact syntax varies by SDK: - -| SDK | V1 Request Pattern | V2 Request Pattern | -|-----|--------------------|--------------------| -| Node.js | `{ records: [{ table, fields }] }` | `new InsertRequest(table, values)` | -| Python | `{ 'records': [{ 'table', 'fields' }] }` | `InsertRequest(table=, values=, return_tokens=)` | -| Java | `JSONObject` with records array | `InsertRequest.builder().table().values().build()` | -| Go | `map[string]interface{}` with records | `common.InsertRequest{Table: , Values: }` | - -**Key pattern changes:** -- Table name moves from inside each record to a top-level parameter -- Options move from separate class to request constructor/builder -- Response uses `insertedFields` instead of `records[].fields` - -### Response Structure Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Insert Response | `response.records[0].fields.fieldName` | `response.insertedFields[0].fieldName` | -| Token Access | `response.records[0].tokens` key | Tokens included directly in response | -| Error Access | `error.code`, `error.description` | `error.http_status`, `error.grpc_code`, `error.request_ID`, `error.details` | - -### Error Structure Changes - -V2 provides significantly enhanced error information for debugging: - -| V1 Error Property | V2 Error Property | Description | -|-------------------|-------------------|-------------| -| `code` | `http_code` / `httpCode` | HTTP status code | -| `description` | `message` | Error message | -| - | `http_status` / `httpStatus` | HTTP status string | -| - | `grpc_code` / `grpcCode` | gRPC error code | -| - | `request_id` / `requestId` | Unique request ID for support | -| - | `details` | Array of detailed error info | - -> **Note:** Property naming varies by SDK (snake_case vs camelCase). See SDK-specific guides. - -## Phase 3: Migrate Code - -### Migration Steps - -1. **Update package version** - Install V2 SDK via package manager -2. **Update imports** - Change to V2 import patterns -3. **Update authentication** - Choose appropriate auth method, update credentials config -4. **Update client initialization** - Change `vaultURL` to `clusterId`, add `vaultConfigs` -5. **Update request construction** - Replace plain objects with request classes -6. **Update response handling** - Use V2 response structure -7. **Update error handling** - Leverage new error properties - -### SDK-Specific Migration Guides - -See the detailed guide for your SDK: - -| SDK | Guide | V2 Design Pattern | -|-----|-------|-------------------| -| Node.js | [node-sdk.md](node-sdk.md) | Class-based with native TypeScript | -| Python | [python-sdk.md](python-sdk.md) | Builder pattern (`Skyflow.builder()`) | -| Java | [java-sdk.md](java-sdk.md) | Builder pattern with fluent API | -| Go | [go-sdk.md](go-sdk.md) | Functional options pattern | - -Each guide includes complete before/after code examples, migration checklists, and SDK-specific considerations. - -## Phase 4: Test Migration - -### Test Categories - -| Category | What to Test | -|----------|--------------| -| Unit Tests | SDK initialization, request building, error parsing | -| Integration Tests | Full CRUD operations against test vault | -| Access Control | All roles can perform authorized operations | -| Error Handling | Correct error details extracted and logged | - -### Test Checklist - -- [ ] Insert operations return expected tokens -- [ ] Get operations return correctly structured responses -- [ ] Detokenize operations work with new request format -- [ ] Error handling captures enhanced error details -- [ ] Multi-vault operations work (if applicable) -- [ ] Log levels function as expected - -## Phase 5: Verify in Production - -### Pre-Production Checklist - -- [ ] All tests passing in staging -- [ ] Production vault configured -- [ ] Service accounts/credentials set up for production -- [ ] Monitoring configured for errors -- [ ] Rollback plan documented - -### Production Verification - -- [ ] Deploy to subset of traffic if possible -- [ ] Monitor error rates -- [ ] Verify all operations succeed -- [ ] Check logs for unexpected warnings -- [ ] Confirm request_ID tracking works - -## Common Migration Patterns - -> **Note:** Examples below show Node.js/TypeScript syntax. See SDK-specific guides for exact syntax in your language. - -### Pattern: Token Provider to Credentials Object - -**V1:** Custom token provider function -```javascript -const auth = () => Promise.resolve(process.env.VAULT_BEARER_TOKEN); -const client = Skyflow.init({ vaultID, vaultURL, getBearerToken: auth }); -``` - -**V2:** Credentials object with multiple auth options -```typescript -// Choose one authentication method -const credentials: Credentials = { apiKey: process.env.SKYFLOW_API_KEY }; -// Or: { path: '/path/to/credentials.json' } -// Or: { token: 'bearer-token' } - -const client = new Skyflow({ vaultConfigs: [{ vaultId, clusterId, credentials }] }); -``` - -### Pattern: Single to Multi-Vault - -**V1:** Separate client per vault -```javascript -const client1 = Skyflow.init({ vaultID: 'vault1', vaultURL: url1, getBearerToken }); -const client2 = Skyflow.init({ vaultID: 'vault2', vaultURL: url2, getBearerToken }); -``` - -**V2:** Single client with multiple vault configs -```typescript -const client = new Skyflow({ - vaultConfigs: [ - { vaultId: 'vault-1', clusterId: 'cluster-a', credentials }, - { vaultId: 'vault-2', clusterId: 'cluster-a', credentials } - ] -}); -// Access specific vault -await client.vault('vault-1').insert(request); -await client.vault('vault-2').get(request); -``` - -### Pattern: Records Array to Request Class - -**V1:** Plain object with records array -```javascript -const response = await client.insert({ - records: [{ table: 'users', fields: { email: 'test@example.com' } }] -}); -const token = response.records[0].fields.email; -``` - -**V2:** Typed request class, table as parameter -```typescript -const insertReq = new InsertRequest('users', [{ email: 'test@example.com' }]); -const response = await client.vault('vaultId').insert(insertReq); -const token = response.insertedFields[0].email; -``` - -## Troubleshooting - -| Issue | Cause | Solution | -|-------|-------|----------| -| `vaultURL is not defined` | V1 initialization in V2 code | Use `clusterId` instead of `vaultURL` | -| `Cannot read property 'fields'` | V1 response access pattern | Use `insertedFields` instead of `records[].fields` | -| `Authentication failed` | Wrong auth method or credentials | Verify credentials match selected auth type | -| `Module not found` | Old import path | Update to V2 import pattern | -| `Records is not iterable` | V1 request format | Use V2 request classes/builder | -| `missing context parameter` (Go) | V2 requires context | Add `context.Context` to all operations | -| `JSONObject cannot be resolved` (Java) | V1 third-party JSON | Use native `ArrayList`/`HashMap` | -| `TokenProvider not found` | V1 auth interface removed | Use `Credentials` class/struct | - -## Related Documentation - -- [node-sdk.md](node-sdk.md) - Node.js SDK migration details -- [python-sdk.md](python-sdk.md) - Python SDK migration details -- [java-sdk.md](java-sdk.md) - Java SDK migration details -- [go-sdk.md](go-sdk.md) - Go SDK migration details -- [templates/migration-checklist.md](templates/migration-checklist.md) - Migration tracking template -- [templates/code-inventory.md](templates/code-inventory.md) - V1 usage discovery template - -## Usage Instructions for Claude - -When helping users migrate from V1 to V2: - -1. **Identify the SDK** - Ask which SDK(s) they're using -2. **Assess scope** - How many files/modules use Skyflow? -3. **Link to SDK guide** - Direct to appropriate `{sdk}-sdk.md` file -4. **Use discovery template** - Help inventory V1 usage with `code-inventory.md` -5. **Provide code examples** - Show before/after for each change -6. **Track progress** - Use `migration-checklist.md` for larger migrations -7. **Test guidance** - Ensure tests are updated alongside code - -### Key Questions to Ask - -- Which Skyflow SDK(s) are you using? -- How many files/modules use the Skyflow SDK? -- What authentication method do you currently use? -- Do you need multi-vault support? -- What operations do you perform (insert, get, detokenize)? -- Do you have existing tests that need updating? diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/go-sdk.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/go-sdk.md deleted file mode 100644 index a393fe8..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/go-sdk.md +++ /dev/null @@ -1,577 +0,0 @@ -# Go SDK Migration: V1 to V2 - -Detailed guide for migrating the Skyflow Go SDK from V1 to V2. - -## Package Update - -| V1 | V2 | -|----|-----| -| `github.com/skyflowapi/skyflow-go` | `github.com/skyflowapi/skyflow-go/v2` | - -```bash -# Update to V2 -go get github.com/skyflowapi/skyflow-go/v2 -``` - -## Import Changes - -### V1 Imports - -```go -import ( - Skyflow "github.com/skyflowapi/skyflow-go/skyflow/client" - "github.com/skyflowapi/skyflow-go/skyflow/common" - saUtil "github.com/skyflowapi/skyflow-go/serviceaccount/util" -) -``` - -### V2 Imports - -```go -import ( - "context" - "fmt" - "github.com/skyflowapi/skyflow-go/v2/client" - "github.com/skyflowapi/skyflow-go/v2/utils/common" - "github.com/skyflowapi/skyflow-go/v2/utils/logger" -) -``` - -## Authentication Migration - -### V1: Token Provider Function - -```go -package main - -import ( - "fmt" - saUtil "github.com/skyflowapi/skyflow-go/serviceaccount/util" -) - -var bearerToken = "" - -func GetSkyflowBearerToken() (string, error) { - filePath := "" - if saUtil.IsExpired(bearerToken) { - newToken, err := saUtil.GenerateBearerToken(filePath) - if err != nil { - return "", err - } else { - bearerToken = newToken.AccessToken - return bearerToken, nil - } - } - return bearerToken, nil -} -``` - -### V2: Multiple Authentication Options - -#### Option 1: API Key - -```go -skyflowCredentials := common.Credentials{ - ApiKey: "", -} -``` - -#### Option 2: Environment Variable (Recommended) - -```go -// Set SKYFLOW_CREDENTIALS environment variable with your credentials JSON -// The SDK will automatically read from this env var -skyflowCredentials := common.Credentials{} -``` - -#### Option 3: Credentials File Path - -```go -skyflowCredentials := common.Credentials{ - Path: "", -} -``` - -#### Option 4: Stringified JSON - -```go -skyflowCredentials := common.Credentials{ - CredentialsString: "", -} -``` - -#### Option 5: Bearer Token - -```go -skyflowCredentials := common.Credentials{ - Token: "", -} -``` - -## Client Initialization Migration - -### V1 Initialization - -```go -import ( - Skyflow "github.com/skyflowapi/skyflow-go/skyflow/client" - "github.com/skyflowapi/skyflow-go/skyflow/common" -) - -configuration := common.Configuration{ - VaultID: "", // ID of the vault - VaultURL: "", // URL of the vault - TokenProvider: GetSkyflowBearerToken, // Token provider function -} - -skyflowClient := Skyflow.Init(configuration) -``` - -### V2 Initialization (Functional Options Pattern) - -```go -import ( - "context" - "fmt" - "github.com/skyflowapi/skyflow-go/v2/client" - "github.com/skyflowapi/skyflow-go/v2/utils/common" - "github.com/skyflowapi/skyflow-go/v2/utils/logger" -) - -func main() { - // Configure credentials - creds := common.Credentials{ - Path: "", - } - - // Configure vault - vaultConfig := common.VaultConfig{ - VaultId: "", - ClusterId: "", // Extracted from V1 VaultURL - Env: common.PROD, // or common.DEV, common.STAGE - Credentials: creds, - } - - // Build vault configs array - var vaultConfigs []common.VaultConfig - vaultConfigs = append(vaultConfigs, vaultConfig) - - // Create Skyflow client with functional options - skyflowClient, err := client.NewSkyflow( - client.WithVaults(vaultConfigs...), - client.WithCredentials(creds), // Default credentials - client.WithLogLevel(logger.ERROR), // Instance-specific log level - ) - - if err != nil { - fmt.Println("Error initializing client:", err) - return - } -} -``` - -### Extracting ClusterId from VaultURL - -| V1 VaultURL | V2 ClusterId | -|-------------|--------------| -| `https://abc123.vault.skyflowapis.com` | `abc123` | -| `https://my-cluster.vault.skyflowapis.com` | `my-cluster` | - -### Multi-Vault Configuration (V2 New Feature) - -```go -creds1 := common.Credentials{Path: ""} -creds2 := common.Credentials{Path: ""} - -vaultConfig1 := common.VaultConfig{ - VaultId: "", - ClusterId: "", - Env: common.PROD, - Credentials: creds1, -} - -vaultConfig2 := common.VaultConfig{ - VaultId: "", - ClusterId: "", - Env: common.PROD, - Credentials: creds2, -} - -var vaultConfigs []common.VaultConfig -vaultConfigs = append(vaultConfigs, vaultConfig1, vaultConfig2) - -skyflowClient, err := client.NewSkyflow( - client.WithVaults(vaultConfigs...), - client.WithLogLevel(logger.DEBUG), -) - -// Access specific vault -service, _ := skyflowClient.Vault("") -``` - -### Key Initialization Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Pattern | `Skyflow.Init(configuration)` | `client.NewSkyflow(options...)` | -| Vault Location | `VaultURL` | `ClusterId` | -| Multiple Vaults | Separate client per vault | Single client with `WithVaults()` | -| Log Level | Global | `WithLogLevel()` per instance | -| Credentials | `TokenProvider` function | `common.Credentials` struct | - -## Insert Operation Migration - -### V1 Insert - -```go -import ( - Skyflow "github.com/skyflowapi/skyflow-go/skyflow/client" - "github.com/skyflowapi/skyflow-go/skyflow/common" -) - -// Build records using maps -var records = make(map[string]interface{}) - -var record = make(map[string]interface{}) -record["table"] = "" - -var fields = make(map[string]interface{}) -fields[""] = "" -record["fields"] = fields - -var recordsArray []interface{} -recordsArray = append(recordsArray, record) -records["records"] = recordsArray - -// Upsert options -var upsertArray []common.UpsertOptions -var upsertOption = common.UpsertOptions{ - Table: "", - Column: "", -} -upsertArray = append(upsertArray, upsertOption) - -// Insert options -options := common.InsertOptions{ - Tokens: true, // Return tokens - Upsert: upsertArray, // Upsert support - ContinueOnError: true, // Continue on partial errors -} - -res, err := skyflowClient.Insert(records, options) - -// V1 Response structure -// { -// "Records": [ -// { -// "table": "cards", -// "fields": { -// "skyflow_id": "16419435-aa63-4823-aae7-19c6a2d6a19f", -// "cardNumber": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", -// "cvv": "1989cb56-63da-4482-a2df-1f74cd0dd1a5" -// } -// } -// ] -// } -``` - -### V2 Insert - -```go -// Get vault service -service, serviceError := skyflowClient.Vault("") -if serviceError != nil { - fmt.Println(serviceError) - return -} - -ctx := context.TODO() - -// Build values using native Go data structures -values := make([]map[string]interface{}, 0) -values = append(values, map[string]interface{}{ - "": "", -}) -values = append(values, map[string]interface{}{ - "": "", -}) - -// Optional: BYOT tokens -tokens := make([]map[string]interface{}, 0) -tokens = append(tokens, map[string]interface{}{ - "": "", -}) - -// Create insert request and options -insertRequest := common.InsertRequest{ - Table: "", - Values: values, -} - -insertOptions := common.InsertOptions{ - ContinueOnError: false, - ReturnTokens: true, - TokenMode: common.DISABLE, // or common.ENABLE for BYOT - Upsert: "", - Tokens: tokens, // Required when TokenMode is ENABLE -} - -// Execute insert -insert, err := service.Insert(ctx, insertRequest, insertOptions) - -if err != nil { - fmt.Println("Error occurred:", *err) -} else { - fmt.Println("Response:", insert) -} - -// V2 Response structure -// { -// "InsertedFields": [ -// { -// "card_number": "5484-7829-1702-9110", -// "request_index": "0", -// "skyflow_id": "9fac9201-7b8a-4446-93f8-5244e1213bd1", -// "cardholder_name": "b2308e2a-c1f5-469b-97b7-1f193159399b" -// } -// ], -// "Errors": [] -// } -``` - -### Key Insert Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Data Structure | Third-party JSON objects | Native Go maps and slices | -| Request Format | `map[string]interface{}` with `records` | `common.InsertRequest` struct | -| Table Location | Inside each record map | `InsertRequest.Table` field | -| Options | `common.InsertOptions` with `Tokens` | `common.InsertOptions` with `ReturnTokens` | -| Upsert | `[]common.UpsertOptions` | `string` (column name) | -| Response | `Records[].fields` | `InsertedFields[]` | -| Context | Not required | `context.Context` required | - -## Request Options Migration - -### V1 Options - -```go -var upsertArray []common.UpsertOptions -upsertArray = append(upsertArray, common.UpsertOptions{ - Table: "", - Column: "", -}) - -options := common.InsertOptions{ - Tokens: true, // Return tokens for inserted data - Upsert: upsertArray, // Upsert support - ContinueOnError: true, // Continue on partial errors -} -``` - -### V2 Options - -```go -options := common.InsertOptions{ - ReturnTokens: true, // Return tokens for inserted data - ContinueOnError: false, // Stop on first error - TokenMode: common.DISABLE, // BYOT mode (ENABLE/DISABLE) - Upsert: "", // Column name for upsert - Tokens: tokens, // Required when TokenMode is ENABLE -} -``` - -### Options Comparison - -| V1 Field | V2 Field | Description | -|----------|----------|-------------| -| `Tokens` | `ReturnTokens` | Return tokens for inserted data | -| `Upsert` (array) | `Upsert` (string) | Column name for upsert logic | -| `ContinueOnError` | `ContinueOnError` | Continue on partial errors | -| - | `TokenMode` | BYOT mode (ENABLE/DISABLE) | -| - | `Tokens` | Token values when BYOT enabled | - -## Error Handling Migration - -### V1 Error Handling - -```go -res, err := skyflowClient.Insert(records, options) -if err != nil { - // V1 error structure - // { - // "code": "", - // "description": "" - // } - fmt.Println("Error code:", err.Code) - fmt.Println("Description:", err.Description) -} -``` - -### V2 Error Handling - -```go -insert, err := service.Insert(ctx, insertRequest, insertOptions) -if err != nil { - // V2 enhanced error structure - // { - // "httpStatus": "", - // "grpcCode": "", - // "httpCode": "", - // "message": "", - // "requestId": "", - // "details": ["
      "] - // } - fmt.Println("HTTP Status:", err.HttpStatus) - fmt.Println("HTTP Code:", err.HttpCode) - fmt.Println("gRPC Code:", err.GrpcCode) - fmt.Println("Message:", err.Message) - fmt.Println("Request ID:", err.RequestId) // Useful for Skyflow support - - // Detailed error breakdown - for _, detail := range err.Details { - fmt.Println("Detail:", detail) - } -} -``` - -### Error Structure Comparison - -| V1 Property | V2 Property | Description | -|-------------|-------------|-------------| -| `Code` | `HttpCode` | HTTP status code | -| `Description` | `Message` | Error message | -| - | `HttpStatus` | HTTP status string | -| - | `GrpcCode` | gRPC error code | -| - | `RequestId` | Unique request identifier | -| - | `Details` | Slice of detailed error messages | - -## Migration Checklist for Go - -### Package & Imports - -- [ ] Update `go.mod` to use `github.com/skyflowapi/skyflow-go/v2` -- [ ] Run `go get github.com/skyflowapi/skyflow-go/v2` -- [ ] Update import paths to V2 structure -- [ ] Import `client`, `common`, and `logger` from V2 packages -- [ ] Remove `serviceaccount/util` imports - -### Authentication - -- [ ] Choose appropriate credential method for your use case -- [ ] Replace `TokenProvider` function with `common.Credentials` struct -- [ ] Remove `saUtil.GenerateBearerToken` and `saUtil.IsExpired` calls -- [ ] Test authentication works - -### Client Initialization - -- [ ] Extract `ClusterId` from V1 `VaultURL` -- [ ] Update to functional options pattern: `client.NewSkyflow(options...)` -- [ ] Use `client.WithVaults()` for vault configuration -- [ ] Set `Env` field (common.PROD, common.DEV, common.STAGE) -- [ ] Configure `client.WithLogLevel()` if needed -- [ ] Add multiple vaults if needed - -### Insert Operations - -- [ ] Replace map-based records with `common.InsertRequest` struct -- [ ] Move table name to `InsertRequest.Table` field -- [ ] Update `Tokens` to `ReturnTokens` in options -- [ ] Update `Upsert` from array to string -- [ ] Add `context.Context` parameter to all operations -- [ ] Update to `service.Insert(ctx, request, options)` pattern -- [ ] Update response access (`InsertedFields` instead of `Records[].fields`) - -### Get Operations - -- [ ] Update to `service.Get(ctx, request, options)` pattern -- [ ] Add `context.Context` parameter -- [ ] Update response field access - -### Detokenize Operations - -- [ ] Update to `service.Detokenize(ctx, request)` pattern -- [ ] Add `context.Context` parameter -- [ ] Update response value access - -### Error Handling - -- [ ] Update error checks for new error structure -- [ ] Access `HttpCode` instead of `Code` -- [ ] Access `Message` instead of `Description` -- [ ] Log `RequestId` for debugging support -- [ ] Handle `Details` slice for granular errors - -### Testing - -- [ ] Update unit test mocks for V2 patterns -- [ ] Update integration tests -- [ ] Verify all operations work in test environment -- [ ] Test error handling paths - -## Quick Reference: V1 to V2 Mapping - -| V1 Pattern | V2 Pattern | -|------------|------------| -| `Skyflow.Init(configuration)` | `client.NewSkyflow(options...)` | -| `common.Configuration{VaultURL: "..."}` | `common.VaultConfig{ClusterId: "..."}` | -| `TokenProvider: GetToken` | `Credentials: common.Credentials{...}` | -| `skyflowClient.Insert(records, options)` | `service.Insert(ctx, request, options)` | -| `common.InsertOptions{Tokens: true}` | `common.InsertOptions{ReturnTokens: true}` | -| `Upsert: []common.UpsertOptions{...}` | `Upsert: ""` | -| `res.Records[0].Fields["email"]` | `res.InsertedFields[0]["email"]` | -| `err.Code` | `err.HttpCode` | -| `err.Description` | `err.Message` | -| Global log level | `client.WithLogLevel(logger.DEBUG)` | - -## Go-Specific Considerations - -### Context Usage - -V2 requires `context.Context` for all vault operations: - -```go -// Create context -ctx := context.TODO() -// or with timeout -ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) -defer cancel() - -// Use in operations -insert, err := service.Insert(ctx, request, options) -``` - -### Functional Options Pattern - -V2 uses Go's functional options pattern for flexible client configuration: - -```go -skyflowClient, err := client.NewSkyflow( - client.WithVaults(vaultConfigs...), - client.WithCredentials(creds), - client.WithLogLevel(logger.DEBUG), -) -``` - -### Native Data Structures - -V2 uses native Go types instead of third-party JSON libraries: - -```go -// V2: Native Go maps and slices -values := []map[string]interface{}{ - {"card_number": "4111111111111111", "cvv": "123"}, -} - -request := common.InsertRequest{ - Table: "cards", - Values: values, -} -``` - -## Additional Resources - -- [Skyflow Go SDK Documentation](https://docs.skyflow.com/sdks/skyflow-go/) -- [Go SDK GitHub Repository](https://github.com/skyflowapi/skyflow-go) -- [Go SDK pkg.go.dev](https://pkg.go.dev/github.com/skyflowapi/skyflow-go/v2) -- See [SKILL.md](SKILL.md) for complete migration workflow and concepts diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/java-sdk.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/java-sdk.md deleted file mode 100644 index fb12e60..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/java-sdk.md +++ /dev/null @@ -1,566 +0,0 @@ -# Java SDK Migration: V1 to V2 - -Detailed guide for migrating the Skyflow Java SDK from V1 to V2. - -## Package Update - -Update your Maven or Gradle dependency to the latest version: - -**Maven:** -```xml - - com.skyflow - skyflow-java - 2.x.x - -``` - -**Gradle:** -```groovy -implementation 'com.skyflow:skyflow-java:2.x.x' // Use latest V2 version -``` - -## Import Changes - -### V1 Imports - -```java -import com.skyflow.Skyflow; -import com.skyflow.config.SkyflowConfiguration; -import com.skyflow.vault.InsertOptions; -import com.skyflow.vault.TokenProvider; -import com.skyflow.serviceaccount.Token; -import com.skyflow.errors.SkyflowException; -import org.json.simple.JSONObject; -import org.json.simple.JSONArray; -``` - -### V2 Imports - -```java -import com.skyflow.Skyflow; -import com.skyflow.config.Credentials; -import com.skyflow.config.VaultConfig; -import com.skyflow.enums.Env; -import com.skyflow.enums.LogLevel; -import com.skyflow.enums.TokenMode; -import com.skyflow.vault.data.InsertRequest; -import com.skyflow.vault.data.InsertResponse; -import java.util.ArrayList; -import java.util.HashMap; -``` - -## Authentication Migration - -### V1: TokenProvider Implementation - -```java -import com.skyflow.vault.TokenProvider; -import com.skyflow.serviceaccount.Token; -import com.skyflow.serviceaccount.ResponseToken; -import com.skyflow.errors.SkyflowException; - -static class DemoTokenProvider implements TokenProvider { - @Override - public String getBearerToken() throws Exception { - ResponseToken res = null; - try { - String filePath = ""; - res = Token.generateBearerToken(filePath); - } catch (SkyflowException e) { - e.printStackTrace(); - } - return res.getAccessToken(); - } -} -``` - -### V2: Multiple Authentication Options - -#### Option 1: API Key - -```java -Credentials credentials = new Credentials(); -credentials.setApiKey(""); -``` - -#### Option 2: Environment Variable (Recommended) - -```java -// Set SKYFLOW_CREDENTIALS environment variable with your credentials JSON -// The SDK will automatically read from this env var -Credentials credentials = new Credentials(); -// No explicit credential setting needed - SDK reads from env -``` - -#### Option 3: Credentials File Path - -```java -Credentials credentials = new Credentials(); -credentials.setPath(""); -``` - -#### Option 4: Stringified JSON - -```java -Credentials credentials = new Credentials(); -credentials.setCredentialsString(""); -``` - -#### Option 5: Bearer Token - -```java -Credentials credentials = new Credentials(); -credentials.setToken(""); -``` - -**Notes:** -- Use only ONE authentication method -- API Key or Environment Variables are recommended for production -- Secure storage of credentials is essential - -## Client Initialization Migration - -### V1 Initialization - -```java -import com.skyflow.Skyflow; -import com.skyflow.config.SkyflowConfiguration; - -// DemoTokenProvider class is an implementation of the TokenProvider interface -DemoTokenProvider demoTokenProvider = new DemoTokenProvider(); - -SkyflowConfiguration skyflowConfig = new SkyflowConfiguration( - "", - "", - demoTokenProvider -); - -Skyflow skyflowClient = Skyflow.init(skyflowConfig); -``` - -### V2 Initialization (Builder Pattern) - -```java -import com.skyflow.Skyflow; -import com.skyflow.config.Credentials; -import com.skyflow.config.VaultConfig; -import com.skyflow.enums.Env; -import com.skyflow.enums.LogLevel; - -// Configure credentials -Credentials credentials = new Credentials(); -credentials.setPath(""); - -// Configure vault -VaultConfig vaultConfig = new VaultConfig(); -vaultConfig.setVaultId(""); // Same as V1 -vaultConfig.setClusterId(""); // Extract from V1 vaultUrl -vaultConfig.setEnv(Env.PROD); // or Env.DEV, Env.STAGE -vaultConfig.setCredentials(credentials); // Associate credentials - -// Set up Skyflow credentials (fallback when vault has no credentials) -Credentials skyflowCredentials = new Credentials(); -skyflowCredentials.setPath(""); - -// Create Skyflow client using builder pattern -Skyflow skyflowClient = Skyflow.builder() - .setLogLevel(LogLevel.DEBUG) // Instance-specific log level - .addVaultConfig(vaultConfig) // Add vault configuration - .addSkyflowCredentials(skyflowCredentials) // Add general Skyflow credentials - .build(); -``` - -### Extracting clusterId from vaultUrl - -| V1 vaultUrl | V2 clusterId | -|-------------|--------------| -| `https://abc123.vault.skyflowapis.com` | `abc123` | -| `https://my-cluster.vault.skyflowapis.com` | `my-cluster` | - -### Multi-Vault Configuration (V2 New Feature) - -```java -// First vault credentials -Credentials credentials1 = new Credentials(); -credentials1.setPath(""); - -// Second vault credentials -Credentials credentials2 = new Credentials(); -credentials2.setPath(""); - -// Configure first vault -VaultConfig vaultConfig1 = new VaultConfig(); -vaultConfig1.setVaultId(""); -vaultConfig1.setClusterId(""); -vaultConfig1.setEnv(Env.PROD); -vaultConfig1.setCredentials(credentials1); - -// Configure second vault -VaultConfig vaultConfig2 = new VaultConfig(); -vaultConfig2.setVaultId(""); -vaultConfig2.setClusterId(""); -vaultConfig2.setEnv(Env.PROD); -vaultConfig2.setCredentials(credentials2); - -// Create client with multiple vaults -Skyflow skyflowClient = Skyflow.builder() - .setLogLevel(LogLevel.ERROR) - .addVaultConfig(vaultConfig1) - .addVaultConfig(vaultConfig2) - .addSkyflowCredentials(skyflowCredentials) - .build(); - -// Access specific vault -InsertResponse response = skyflowClient.vault("").insert(insertRequest); -``` - -### Key Initialization Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Pattern | `Skyflow.init(config)` | `Skyflow.builder()...build()` | -| Vault Location | `vaultUrl` | `clusterId` | -| Multiple Vaults | Separate client per vault | Single client with multiple `addVaultConfig()` | -| Log Level | Global | `setLogLevel()` per instance | -| Credentials | `TokenProvider` interface | `Credentials` class with setters | - -## Insert Operation Migration - -### V1 Insert - -```java -import org.json.simple.JSONObject; -import org.json.simple.JSONArray; - -// Build records using JSON objects -JSONObject recordsJson = new JSONObject(); -JSONArray recordsArrayJson = new JSONArray(); - -JSONObject recordJson = new JSONObject(); -recordJson.put("table", "cards"); - -JSONObject fieldsJson = new JSONObject(); -fieldsJson.put("cardNumber", "4111111111111111"); -fieldsJson.put("cvv", "123"); - -recordJson.put("fields", fieldsJson); -recordsArrayJson.add(recordJson); -recordsJson.put("records", recordsArrayJson); - -try { - JSONObject insertResponse = skyflowClient.insert(recordsJson); - System.out.println(insertResponse); -} catch (SkyflowException exception) { - System.out.println(exception); -} - -// V1 Response structure -// { -// "records": [ -// { -// "table": "cards", -// "fields": { -// "skyflow_id": "16419435-aa63-4823-aae7-19c6a2d6a19f", -// "cardNumber": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", -// "cvv": "1989cb56-63da-4482-a2df-1f74cd0dd1a5" -// } -// } -// ] -// } -``` - -### V2 Insert - -```java -import com.skyflow.vault.data.InsertRequest; -import com.skyflow.vault.data.InsertResponse; -import com.skyflow.enums.TokenMode; -import java.util.ArrayList; -import java.util.HashMap; - -// Build values using native Java data structures -ArrayList> values = new ArrayList<>(); -HashMap record = new HashMap<>(); -record.put("card_number", "4111111111111111"); -record.put("cvv", "123"); -values.add(record); - -// Optional: BYOT tokens -ArrayList> tokens = new ArrayList<>(); -HashMap token = new HashMap<>(); -token.put("card_number", ""); -tokens.add(token); - -// Build insert request using builder pattern -InsertRequest insertRequest = InsertRequest.builder() - .table("") - .values(values) - .continueOnError(true) // Continue on partial errors - .returnTokens(true) // Return tokens in response - .tokenMode(TokenMode.DISABLE) // or TokenMode.ENABLE for BYOT - .tokens(tokens) // Required when TokenMode is ENABLE - .build(); - -// Execute insert -try { - InsertResponse response = skyflowClient.vault("").insert(insertRequest); - System.out.println(response.getInsertedFields()); -} catch (Exception e) { - System.out.println(e.getMessage()); -} - -// V2 Response structure -// { -// "insertedFields": [ -// { -// "card_number": "5484-7829-1702-9110", -// "request_index": "0", -// "skyflow_id": "9fac9201-7b8a-4446-93f8-5244e1213bd1", -// "cvv": "b2308e2a-c1f5-469b-97b7-1f193159399b" -// } -// ], -// "errors": [] -// } -``` - -### Key Insert Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Data Structure | Third-party JSONObject | Native ArrayList/HashMap | -| Request Format | JSON with `records` array | `InsertRequest.builder()` | -| Table Location | Inside each JSON record | `.table()` builder method | -| Options | Separate `InsertOptions` class | Builder methods on request | -| Response | JSON with `records[].fields` | `InsertResponse` with `insertedFields` | - -## Request Options Migration - -### V1 Options (Separate Class) - -```java -import com.skyflow.vault.InsertOptions; - -InsertOptions insertOptions = new InsertOptions(true); // tokens = true - -JSONObject response = skyflowClient.insert(records, insertOptions); -``` - -### V2 Options (Builder Pattern) - -```java -InsertRequest insertRequest = InsertRequest.builder() - .table("") - .values(values) - .continueOnError(false) // Stop on first error - .returnTokens(false) // Do not return tokens - .tokenMode(TokenMode.DISABLE) // Disable BYOT - .upsert("") // Column for upsert logic - .build(); -``` - -### Available Builder Methods - -| Method | Type | Description | -|--------|------|-------------| -| `.table(String)` | Required | Table name | -| `.values(ArrayList)` | Required | Data to insert | -| `.returnTokens(boolean)` | Optional | Return tokens in response | -| `.continueOnError(boolean)` | Optional | Continue on partial errors | -| `.upsert(String)` | Optional | Column name for upsert logic | -| `.tokenMode(TokenMode)` | Optional | BYOT mode (ENABLE/DISABLE) | -| `.tokens(ArrayList)` | Optional | Token values when BYOT enabled | - -## Error Handling Migration - -### V1 Error Handling - -```java -import com.skyflow.errors.SkyflowException; - -try { - JSONObject response = skyflowClient.insert(records); -} catch (SkyflowException e) { - // V1 error structure - // { - // "code": "", - // "description": "" - // } - System.out.println("Error code: " + e.getCode()); - System.out.println("Description: " + e.getDescription()); -} -``` - -### V2 Error Handling - -```java -try { - InsertResponse response = skyflowClient.vault("").insert(insertRequest); -} catch (Exception e) { - // V2 enhanced error structure - // { - // "httpStatus": "", - // "grpcCode": , - // "httpCode": , - // "message": "", - // "requestId": "", - // "details": ["
      "] - // } - System.out.println("HTTP Status: " + e.getHttpStatus()); - System.out.println("HTTP Code: " + e.getHttpCode()); - System.out.println("gRPC Code: " + e.getGrpcCode()); - System.out.println("Message: " + e.getMessage()); - System.out.println("Request ID: " + e.getRequestId()); // Useful for Skyflow support - - // Detailed error breakdown - for (String detail : e.getDetails()) { - System.out.println("Detail: " + detail); - } -} -``` - -### Error Structure Comparison - -| V1 Property | V2 Property | Description | -|-------------|-------------|-------------| -| `code` | `httpCode` | HTTP status code | -| `description` | `message` | Error message | -| - | `httpStatus` | HTTP status string | -| - | `grpcCode` | gRPC error code | -| - | `requestId` | Unique request identifier | -| - | `details` | List of detailed error messages | - -## Migration Checklist for Java - -### Package & Imports - -- [ ] Update Maven/Gradle dependency to V2 -- [ ] Remove `org.json.simple` imports (third-party JSON) -- [ ] Update import statements to V2 packages -- [ ] Import `Credentials`, `VaultConfig` from `com.skyflow.config` -- [ ] Import enums from `com.skyflow.enums` -- [ ] Import request classes from `com.skyflow.vault.data` - -### Authentication - -- [ ] Choose appropriate credential method for your use case -- [ ] Replace `TokenProvider` implementation with `Credentials` class -- [ ] Remove `Token.generateBearerToken()` calls -- [ ] Test authentication works - -### Client Initialization - -- [ ] Extract `clusterId` from V1 `vaultUrl` -- [ ] Update to builder pattern: `Skyflow.builder()...build()` -- [ ] Use `VaultConfig` class for vault configuration -- [ ] Set `Env` enum value (Env.PROD, Env.DEV, Env.STAGE) -- [ ] Configure `setLogLevel()` if needed -- [ ] Add multiple vaults with `addVaultConfig()` if needed - -### Insert Operations - -- [ ] Replace JSONObject/JSONArray with ArrayList/HashMap -- [ ] Use `InsertRequest.builder()` for request construction -- [ ] Move table name to `.table()` builder method -- [ ] Move options to builder methods (`.returnTokens()`, `.continueOnError()`) -- [ ] Update to `.vault("id").insert(request)` pattern -- [ ] Update response access (`getInsertedFields()` instead of JSON parsing) - -### Get Operations - -- [ ] Use appropriate request builder pattern -- [ ] Update to `.vault("id").get(request)` pattern -- [ ] Update response field access - -### Detokenize Operations - -- [ ] Use appropriate request builder pattern -- [ ] Update to `.vault("id").detokenize(request)` pattern -- [ ] Update response value access - -### Error Handling - -- [ ] Update catch blocks for new error structure -- [ ] Access `getHttpCode()` instead of `getCode()` -- [ ] Access `getMessage()` instead of `getDescription()` -- [ ] Log `getRequestId()` for debugging support -- [ ] Handle `getDetails()` list for granular errors - -### Testing - -- [ ] Update unit test mocks for V2 patterns -- [ ] Update integration tests -- [ ] Verify all operations work in test environment -- [ ] Test error handling paths - -## Quick Reference: V1 to V2 Mapping - -| V1 Pattern | V2 Pattern | -|------------|------------| -| `Skyflow.init(config)` | `Skyflow.builder()...build()` | -| `SkyflowConfiguration(vaultId, vaultUrl, tokenProvider)` | `VaultConfig` with setters + `Credentials` | -| `vaultUrl` | `clusterId` | -| `TokenProvider` interface | `Credentials` class | -| `JSONObject` / `JSONArray` | `ArrayList` / `HashMap` | -| `skyflowClient.insert(records, options)` | `skyflowClient.vault("id").insert(request)` | -| `InsertOptions(true)` | `InsertRequest.builder().returnTokens(true)` | -| `response.get("records")` | `response.getInsertedFields()` | -| `exception.getCode()` | `exception.getHttpCode()` | -| `exception.getDescription()` | `exception.getMessage()` | -| Global log level | `setLogLevel()` in builder | - -## Java-Specific Considerations - -### Builder Pattern - -V2 extensively uses the builder pattern for cleaner, more readable code: - -```java -// Request building with builder pattern -InsertRequest request = InsertRequest.builder() - .table("cards") - .values(values) - .returnTokens(true) - .continueOnError(false) - .build(); - -// Client building with builder pattern -Skyflow client = Skyflow.builder() - .setLogLevel(LogLevel.INFO) - .addVaultConfig(vaultConfig) - .addSkyflowCredentials(credentials) - .build(); -``` - -### Native Data Structures - -V2 uses native Java collections instead of third-party JSON libraries: - -```java -// V2: Native Java collections -ArrayList> values = new ArrayList<>(); -HashMap record = new HashMap<>(); -record.put("card_number", "4111111111111111"); -record.put("cvv", "123"); -values.add(record); -``` - -### Fluent API - -V2 supports method chaining for cleaner configuration: - -```java -Skyflow client = Skyflow.builder() - .setLogLevel(LogLevel.DEBUG) - .addVaultConfig(config1) - .addVaultConfig(config2) - .addSkyflowCredentials(credentials) - .build(); -``` - -## Additional Resources - -- [Skyflow Java SDK Documentation](https://docs.skyflow.com/sdks/skyflow-java/) -- [Java SDK GitHub Repository](https://github.com/skyflowapi/skyflow-java) -- [Java SDK Maven Central](https://search.maven.org/artifact/com.skyflow/skyflow-java) -- See [SKILL.md](SKILL.md) for complete migration workflow and concepts diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/node-sdk.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/node-sdk.md deleted file mode 100644 index fd966f6..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/node-sdk.md +++ /dev/null @@ -1,513 +0,0 @@ -# Node.js SDK Migration: V1 to V2 - -Detailed guide for migrating the Skyflow Node.js SDK from V1 to V2. - -## Package Update - -| V1 | V2 | -|----|-----| -| `npm install skyflow-node` | `npm install skyflow-node` (same package, new major version) | - -V2 has native TypeScript support - separate `@types` packages are no longer needed. - -```bash -# Update to V2 -npm install skyflow-node@latest -``` - -## Import Changes - -### V1 Imports - -```javascript -const Skyflow = require('skyflow-node'); -// or -const { Skyflow } = require('skyflow-node'); -``` - -### V2 Imports - -```typescript -import { - Skyflow, - Credentials, - VaultConfig, - SkyflowConfig, - Env, - LogLevel, - // Request classes - InsertRequest, - GetRequest, - DetokenizeRequest, - // Options classes - InsertOptions, - GetOptions, - // Response types - InsertResponse, - GetResponse, - DetokenizeResponse -} from 'skyflow-node'; -``` - -## Authentication Migration - -### V1: Bearer Token Function - -```javascript -// V1: Pass a function that returns a bearer token -const auth = function () { - return new Promise((resolve, reject) => { - resolve(process.env.VAULT_BEARER_TOKEN); - }); -}; - -const client = Skyflow.init({ - vaultID: 'your-vault-id', - vaultURL: 'https://your-cluster.vault.skyflowapis.com', - getBearerToken: auth -}); -``` - -### V2: Multiple Authentication Options - -#### Option 1: API Key - -```typescript -import { Credentials } from 'skyflow-node'; - -const credentials: Credentials = { - apiKey: '' -}; -``` - -#### Option 2: Environment Variable (Recommended) - -```typescript -// Set SKYFLOW_CREDENTIALS environment variable with your credentials JSON -// The SDK will automatically read from this env var -const credentials: Credentials = {}; // Empty - SDK reads from env -``` - -#### Option 3: Credentials File Path - -```typescript -const credentials: Credentials = { - path: '' -}; -``` - -#### Option 4: Stringified JSON - -```typescript -const credentials: Credentials = { - credentialsString: JSON.stringify({ - clientID: '...', - clientName: '...', - keyID: '...', - tokenURI: '...', - privateKey: '...' - }) -}; -``` - -#### Option 5: Bearer Token - -```typescript -const credentials: Credentials = { - token: '' -}; -``` - -## Client Initialization Migration - -### V1 Initialization - -```javascript -const client = Skyflow.init({ - vaultID: 'your-vault-id', - vaultURL: 'https://your-cluster.vault.skyflowapis.com', - getBearerToken: auth -}); -``` - -### V2 Initialization - -```typescript -import { Credentials, VaultConfig, SkyflowConfig, Env, LogLevel, Skyflow } from 'skyflow-node'; - -// Step 1: Configure credentials -const credentials: Credentials = { - apiKey: '' -}; - -// Step 2: Configure vault(s) -const primaryVaultConfig: VaultConfig = { - vaultId: '', // Same as V1 vaultID - clusterId: '', // Extract from V1 vaultURL - env: Env.PROD, // or Env.SANDBOX - credentials: credentials // Can override per-vault -}; - -// Step 3: Configure Skyflow client -const skyflowConfig: SkyflowConfig = { - vaultConfigs: [primaryVaultConfig], - skyflowCredentials: credentials, // Default credentials - logLevel: LogLevel.INFO // Instance-specific log level -}; - -// Step 4: Initialize client -const skyflowClient: Skyflow = new Skyflow(skyflowConfig); -``` - -### Extracting clusterId from vaultURL - -| V1 vaultURL | V2 clusterId | -|-------------|--------------| -| `https://abc123.vault.skyflowapis.com` | `abc123` | -| `https://my-cluster.vault.skyflowapis.com` | `my-cluster` | - -### Multi-Vault Configuration (V2 New Feature) - -```typescript -const skyflowConfig: SkyflowConfig = { - vaultConfigs: [ - { vaultId: 'vault-1', clusterId: 'cluster-a', env: Env.PROD }, - { vaultId: 'vault-2', clusterId: 'cluster-a', env: Env.PROD }, - { vaultId: 'vault-3', clusterId: 'cluster-b', env: Env.SANDBOX } - ], - skyflowCredentials: credentials, - logLevel: LogLevel.ERROR -}; - -const client = new Skyflow(skyflowConfig); - -// Access specific vault -const vault1Response = await client.vault('vault-1').insert(request); -const vault2Response = await client.vault('vault-2').insert(request); -``` - -## Insert Operation Migration - -### V1 Insert - -```javascript -const result = await client.insert({ - records: [ - { - fields: { - card_number: '4111111111111111', - expiry_date: '11/22', - fullname: 'John Doe' - }, - table: 'cards' - } - ] -}); - -// V1 Response structure -// { -// "records": [ -// { -// "table": "cards", -// "fields": { -// "card_number": "token-uuid-1", -// "expiry_date": "token-uuid-2" -// } -// } -// ] -// } -``` - -### V2 Insert - -```typescript -import { InsertRequest, InsertOptions, InsertResponse } from 'skyflow-node'; - -// Prepare data -const insertData: Record[] = [ - { - card_number: '4111111111111111', - expiry_date: '11/22', - fullname: 'John Doe' - } -]; - -// Create request -const insertReq: InsertRequest = new InsertRequest( - 'cards', // table name - insertData // array of records -); - -// Configure options (optional) -const insertOptions: InsertOptions = new InsertOptions(); -insertOptions.setReturnTokens(true); // Get tokens for inserted data -insertOptions.setContinueOnError(true); // Continue on partial errors - -// Execute insert -const response: InsertResponse = await skyflowClient - .vault('') - .insert(insertReq, insertOptions); - -// V2 Response structure -// InsertResponse { -// insertedFields: [ -// { -// skyflowId: 'record-uuid', -// card_number: 'token-uuid-1', -// expiry_date: 'token-uuid-2', -// fullname: 'token-uuid-3' -// } -// ], -// errors: null -// } -``` - -### Key Insert Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Request format | `{ records: [{ table, fields }] }` | `new InsertRequest(table, data)` | -| Table location | Inside each record | Constructor parameter | -| Options | `{ options: { tokens: true } }` | `InsertOptions` class with setters | -| Response tokens | Nested under `tokens` key | Directly in `insertedFields` | -| Skyflow ID | `fields.skyflow_id` | `skyflowId` at record level | - -## Get Operation Migration - -### V1 Get - -```javascript -const result = await client.get({ - records: [ - { - ids: ['skyflow-id-1', 'skyflow-id-2'], - table: 'cards', - redaction: 'MASKED' - } - ] -}); - -// Access fields -const cardNumber = result.records[0].fields.card_number; -``` - -### V2 Get - -```typescript -import { GetRequest, GetOptions, GetResponse } from 'skyflow-node'; - -// Create request -const getReq: GetRequest = new GetRequest( - 'cards', - ['skyflow-id-1', 'skyflow-id-2'] // Skyflow IDs -); - -// Configure options -const getOptions: GetOptions = new GetOptions(); -getOptions.setRedaction('MASKED'); - -// Execute get -const response: GetResponse = await skyflowClient - .vault('') - .get(getReq, getOptions); - -// Access response -const records = response.data; -const cardNumber = records[0].card_number; -``` - -## Detokenize Operation Migration - -### V1 Detokenize - -```javascript -const result = await client.detokenize({ - records: [ - { token: 'token-1' }, - { token: 'token-2', redaction: 'PLAIN_TEXT' } - ] -}); - -// Access values -const value1 = result.records[0].value; -``` - -### V2 Detokenize - -```typescript -import { DetokenizeRequest, DetokenizeResponse } from 'skyflow-node'; - -// Create request -const detokenizeReq: DetokenizeRequest = new DetokenizeRequest([ - 'token-1', - 'token-2' -]); - -// Execute detokenize -const response: DetokenizeResponse = await skyflowClient - .vault('') - .detokenize(detokenizeReq); - -// Access response -const values = response.detokenizedFields; -``` - -## Error Handling Migration - -### V1 Error Handling - -```javascript -try { - await client.insert(request); -} catch (error) { - console.log('Error code:', error.code); - console.log('Description:', error.description); -} -``` - -### V2 Error Handling - -```typescript -try { - await skyflowClient.vault('vault-id').insert(insertReq, insertOptions); -} catch (error) { - // V2 enhanced error properties - console.log('Message:', error.message); - console.log('HTTP Status:', error.http_status); - console.log('HTTP Code:', error.http_code); - console.log('gRPC Code:', error.grpc_code); - console.log('Request ID:', error.request_ID); // Useful for debugging with Skyflow support - - // Detailed error breakdown - if (error.details) { - error.details.forEach((detail: string) => { - console.log('Detail:', detail); - }); - } -} -``` - -### Error Structure Comparison - -| V1 Property | V2 Property | Description | -|-------------|-------------|-------------| -| `code` | `http_code` | HTTP status code | -| `description` | `message` | Error message | -| - | `http_status` | HTTP status string | -| - | `grpc_code` | gRPC error code | -| - | `request_ID` | Unique request identifier | -| - | `details` | Array of detailed error messages | - -## TypeScript Support - -V2 provides comprehensive TypeScript definitions. Key types: - -```typescript -import { - // Configuration - Credentials, - VaultConfig, - SkyflowConfig, - - // Enums - Env, - LogLevel, - - // Requests - InsertRequest, - GetRequest, - DetokenizeRequest, - UpdateRequest, - DeleteRequest, - - // Options - InsertOptions, - GetOptions, - - // Responses - InsertResponse, - GetResponse, - DetokenizeResponse -} from 'skyflow-node'; -``` - -## Migration Checklist for Node.js - -### Package & Imports - -- [ ] Update `package.json` to latest `skyflow-node` -- [ ] Run `npm install` -- [ ] Remove any `@types/skyflow-node` packages (now built-in) -- [ ] Update import statements to V2 pattern -- [ ] Add TypeScript types if using TypeScript - -### Authentication - -- [ ] Choose appropriate credential type for your use case -- [ ] Update credential initialization code -- [ ] Test authentication works -- [ ] Update any token refresh logic - -### Client Initialization - -- [ ] Extract `clusterId` from V1 `vaultURL` -- [ ] Update to `new Skyflow(config)` pattern -- [ ] Configure `vaultConfigs` array -- [ ] Set appropriate `logLevel` -- [ ] Configure multiple vaults if needed - -### Insert Operations - -- [ ] Replace object literals with `InsertRequest` -- [ ] Move table name to constructor parameter -- [ ] Use `InsertOptions` for configuration -- [ ] Update to `.vault('id').insert()` call pattern -- [ ] Update response access (no more nested `tokens` key) - -### Get Operations - -- [ ] Replace object literals with `GetRequest` -- [ ] Use `GetOptions` for redaction configuration -- [ ] Update to `.vault('id').get()` call pattern -- [ ] Update response field access - -### Detokenize Operations - -- [ ] Replace object literals with `DetokenizeRequest` -- [ ] Update to `.vault('id').detokenize()` call pattern -- [ ] Update response value access - -### Error Handling - -- [ ] Update catch blocks for new error structure -- [ ] Access `http_status` instead of `code` -- [ ] Access `message` instead of `description` -- [ ] Log `request_ID` for debugging support -- [ ] Handle `details` array for granular errors - -### Testing - -- [ ] Update unit test mocks for V2 patterns -- [ ] Update integration tests -- [ ] Verify all operations work in test environment -- [ ] Test error handling paths - -## Quick Reference: V1 to V2 Mapping - -| V1 Pattern | V2 Pattern | -|------------|------------| -| `Skyflow.init({...})` | `new Skyflow({...})` | -| `vaultURL: 'https://...'` | `clusterId: '...'` | -| `getBearerToken: fn` | `credentials: { apiKey }` or other auth option | -| `{ records: [{ table, fields }] }` | `new InsertRequest(table, [fields])` | -| `{ options: { tokens: true } }` | `new InsertOptions().setReturnTokens(true)` | -| `response.records[0].fields.email` | `response.insertedFields[0].email` | -| `error.code` | `error.http_code` or `error.http_status` | -| `error.description` | `error.message` | -| Global log level | `logLevel` in `SkyflowConfig` | - -## Additional Resources - -- [Skyflow Node.js SDK Documentation](https://docs.skyflow.com/sdks/skyflow-node/) -- [Node.js SDK GitHub Repository](https://github.com/skyflowapi/skyflow-node) -- [Node.js SDK npm Package](https://www.npmjs.com/package/skyflow-node) diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/python-sdk.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/python-sdk.md deleted file mode 100644 index 1076430..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/python-sdk.md +++ /dev/null @@ -1,405 +0,0 @@ -# Python SDK Migration: V1 to V2 - -Detailed guide for migrating the Skyflow Python SDK from V1 to V2. - -## Package Update - -| V1 | V2 | -|----|-----| -| `pip install skyflow` | `pip install skyflow` (same package, new major version) | - -```bash -# Update to V2 -pip install --upgrade skyflow -``` - -## Import Changes - -### V1 Imports - -```python -from skyflow.vault import Client, Configuration, InsertOptions -from skyflow.service_account import generate_bearer_token, is_expired -``` - -### V2 Imports - -```python -from skyflow import Skyflow, Env, LogLevel -from skyflow.vault.data import InsertRequest, InsertResponse -from skyflow.vault.tokens import TokenMode -``` - -## Authentication Migration - -### V1: Token Provider Function - -```python -# V1: User-defined function to provide access token -def token_provider(): - global bearer_token - if not is_expired(bearer_token): - return bearer_token - bearer_token, _ = generate_bearer_token('') - return bearer_token -``` - -### V2: Multiple Authentication Options - -#### Option 1: API Key - -```python -credentials = { - 'api_key': '' -} -``` - -#### Option 2: Environment Variable (Recommended) - -```python -# Set SKYFLOW_CREDENTIALS environment variable with your credentials JSON -# The SDK will automatically read from this env var -# No credentials dict needed - just don't pass credentials -``` - -#### Option 3: Credentials File Path - -```python -credentials = { - 'path': '' -} -``` - -#### Option 4: Stringified JSON - -```python -credentials = { - 'credentials_string': '' -} -``` - -#### Option 5: Bearer Token - -```python -credentials = { - 'token': '' -} -``` - -**Notes:** -- Use only ONE authentication method -- API Key or Environment Variables are recommended for production -- Secure storage of credentials is essential - -## Client Initialization Migration - -### V1 Initialization - -```python -from skyflow.vault import Client, Configuration - -# V1: Simple configuration object -config = Configuration('', '', token_provider) -client = Client(config) -``` - -### V2 Initialization (Builder Pattern) - -```python -from skyflow import Skyflow, Env, LogLevel - -# V2: Builder pattern with vault config -client = ( - Skyflow.builder() - .add_vault_config({ - 'vault_id': '', # Same as V1 - 'cluster_id': '', # Extract from V1 vault_url - 'env': Env.PROD, # or Env.SANDBOX - 'credentials': credentials # Individual vault credentials - }) - .add_skyflow_credentials(credentials) # Default credentials - .set_log_level(LogLevel.INFO) # Instance-specific log level - .build() -) -``` - -### Extracting cluster_id from vault_url - -| V1 vault_url | V2 cluster_id | -|--------------|---------------| -| `https://abc123.vault.skyflowapis.com` | `abc123` | -| `https://my-cluster.vault.skyflowapis.com` | `my-cluster` | - -### Multi-Vault Configuration (V2 New Feature) - -```python -client = ( - Skyflow.builder() - .add_vault_config({ - 'vault_id': 'vault-1', - 'cluster_id': 'cluster-a', - 'env': Env.PROD, - 'credentials': credentials - }) - .add_vault_config({ - 'vault_id': 'vault-2', - 'cluster_id': 'cluster-a', - 'env': Env.PROD - }) - .add_skyflow_credentials(credentials) # Used when vault has no individual credentials - .set_log_level(LogLevel.ERROR) - .build() -) - -# Access specific vault -response = client.vault('vault-1').insert(insert_request) -``` - -## Insert Operation Migration - -### V1 Insert - -```python -# V1: Dict-based request with separate options -response = client.insert( - { - 'records': [ - { - 'table': 'cards', - 'fields': { - 'cardNumber': '4111111111111111', - 'cvv': '123', - }, - } - ] - }, - InsertOptions(True), # tokens=True -) - -# V1 Response structure -# { -# 'records': [ -# { -# 'table': 'cards', -# 'fields': { -# 'cardNumber': 'token-uuid-1', -# 'cvv': 'token-uuid-2', -# 'skyflow_id': 'record-uuid' -# }, -# 'request_index': 0 -# } -# ] -# } -``` - -### V2 Insert - -```python -from skyflow.vault.data import InsertRequest - -# Prepare data -insert_data = [ - { - 'card_number': '4111111111111111', - 'cvv': '123', - }, -] - -# Create request with options as constructor parameters -insert_request = InsertRequest( - table='cards', - values=insert_data, - return_tokens=True, # Optional: Get tokens for inserted data - continue_on_error=True # Optional: Continue on partial errors -) - -# Execute insert -response = client.vault('').insert(insert_request) - -# V2 Response structure -# InsertResponse( -# inserted_fields=[ -# { -# 'skyflow_id': 'a8f3ed5d-55eb-4f32-bf7e-2dbf4b9d9097', -# 'card_number': '5479-4229-4622-1393' -# } -# ], -# errors=[] -# ) -``` - -### Key Insert Changes - -| Aspect | V1 | V2 | -|--------|----|----| -| Request format | `{'records': [{'table', 'fields'}]}` | `InsertRequest(table=, values=)` | -| Table location | Inside each record dict | Constructor parameter | -| Options | Separate `InsertOptions(True)` | Constructor params: `return_tokens=`, `continue_on_error=` | -| Response tokens | Under `fields` key | Directly in `inserted_fields` | -| Skyflow ID | `fields.skyflow_id` | `skyflow_id` at record level | - -## Request Options Migration - -### V1 Options (Separate Class) - -```python -from skyflow.vault import InsertOptions - -options = InsertOptions( - tokens=True -) - -response = client.insert(data, options) -``` - -### V2 Options (Constructor Parameters) - -```python -from skyflow.vault.data import InsertRequest -from skyflow.vault.tokens import TokenMode - -insert_request = InsertRequest( - table='cards', - values=insert_data, - return_tokens=False, # Do not return tokens - continue_on_error=False, # Stop on first error - upsert='', # Column for upsert logic - token_mode=TokenMode.DISABLE, # Disable BYOT - tokens='' # Tokens when TokenMode is ENABLE -) -``` - -### Available InsertRequest Parameters - -| Parameter | Type | Description | -|-----------|------|-------------| -| `table` | str | Table name (required) | -| `values` | list | Data to insert (required) | -| `return_tokens` | bool | Return tokens for inserted data | -| `continue_on_error` | bool | Continue inserting on partial errors | -| `upsert` | str | Column name for upsert logic | -| `token_mode` | TokenMode | BYOT mode (ENABLE/DISABLE) | -| `tokens` | str | Tokens when BYOT enabled | - -## Error Handling Migration - -### V1 Error Handling - -```python -try: - response = client.insert(data, options) -except Exception as error: - print(f'Error code: {error.code}') - print(f'Message: {error.message}') -``` - -### V2 Error Handling - -```python -try: - response = client.vault('vault-id').insert(insert_request) -except Exception as error: - # V2 enhanced error properties - print(f'HTTP Status: {error.http_status}') - print(f'HTTP Code: {error.http_code}') - print(f'gRPC Code: {error.grpc_code}') - print(f'Message: {error.message}') - print(f'Request ID: {error.request_id}') # Useful for Skyflow support - - # Detailed error breakdown - if error.details: - for detail in error.details: - print(f'Detail: {detail}') -``` - -### Error Structure Comparison - -| V1 Property | V2 Property | Description | -|-------------|-------------|-------------| -| `code` | `http_code` | HTTP status code | -| `message` | `message` | Error message | -| - | `http_status` | HTTP status string | -| - | `grpc_code` | gRPC error code | -| - | `request_id` | Unique request identifier | -| - | `details` | List of detailed error messages | - -## Migration Checklist for Python - -### Package & Imports - -- [ ] Update to latest `skyflow` package: `pip install --upgrade skyflow` -- [ ] Update import statements to V2 pattern -- [ ] Import `Skyflow`, `Env`, `LogLevel` from `skyflow` -- [ ] Import request classes from `skyflow.vault.data` - -### Authentication - -- [ ] Choose appropriate credential method for your use case -- [ ] Replace `token_provider` function with credentials dict -- [ ] Remove `generate_bearer_token` and `is_expired` imports -- [ ] Test authentication works - -### Client Initialization - -- [ ] Extract `cluster_id` from V1 `vault_url` -- [ ] Update to builder pattern: `Skyflow.builder()...build()` -- [ ] Use `add_vault_config()` for vault configuration -- [ ] Set `env` parameter (Env.PROD or Env.SANDBOX) -- [ ] Configure `set_log_level()` if needed -- [ ] Add multiple vaults if needed - -### Insert Operations - -- [ ] Replace dict-based requests with `InsertRequest` -- [ ] Move table name to constructor parameter -- [ ] Move options to constructor parameters (`return_tokens=`, `continue_on_error=`) -- [ ] Update to `.vault('id').insert()` call pattern -- [ ] Update response access (use `inserted_fields` instead of `records[0].fields`) - -### Get Operations - -- [ ] Replace dict-based requests with appropriate request class -- [ ] Update to `.vault('id').get()` call pattern -- [ ] Update response field access - -### Detokenize Operations - -- [ ] Replace dict-based requests with appropriate request class -- [ ] Update to `.vault('id').detokenize()` call pattern -- [ ] Update response value access - -### Error Handling - -- [ ] Update catch blocks for new error structure -- [ ] Access `http_code` instead of `code` -- [ ] Log `request_id` for debugging support -- [ ] Handle `details` list for granular errors - -### Testing - -- [ ] Update unit test mocks for V2 patterns -- [ ] Update integration tests -- [ ] Verify all operations work in test environment -- [ ] Test error handling paths - -## Quick Reference: V1 to V2 Mapping - -| V1 Pattern | V2 Pattern | -|------------|------------| -| `Configuration(vault_id, vault_url, token_provider)` | `Skyflow.builder().add_vault_config({...}).build()` | -| `vault_url='https://...'` | `cluster_id='...'` | -| `token_provider` function | `credentials` dict | -| `Client(config)` | `Skyflow.builder()...build()` | -| `client.insert({'records': [...]}, InsertOptions(True))` | `client.vault('id').insert(InsertRequest(...))` | -| `InsertOptions(tokens=True)` | `InsertRequest(..., return_tokens=True)` | -| `response['records'][0]['fields']['email']` | `response.inserted_fields[0]['email']` | -| `error.code` | `error.http_code` | -| `error.message` | `error.message` | -| Global log level | `set_log_level()` in builder | - -## Additional Resources - -- [Skyflow Python SDK Documentation](https://docs.skyflow.com/sdks/skyflow-python/) -- [Python SDK GitHub Repository](https://github.com/skyflowapi/skyflow-python) -- [Python SDK PyPI Package](https://pypi.org/project/skyflow/) -- See [SKILL.md](SKILL.md) for complete migration workflow and concepts diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/code-inventory.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/code-inventory.md deleted file mode 100644 index c2fd10f..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/code-inventory.md +++ /dev/null @@ -1,257 +0,0 @@ -# V1 SDK Code Inventory - -Use this template to inventory all Skyflow V1 SDK usage before starting migration. - -## Project Information - -| Field | Value | -|-------|-------| -| **Project Name** | [Your project] | -| **Date** | [Date] | -| **Completed By** | [Name] | - ---- - -## SDK Information - -| Field | Value | -|-------|-------| -| **SDK Language** | [Node.js / Python / Java / Go] | -| **V1 Package Name** | [e.g., skyflow-node] | -| **V1 Version Installed** | [e.g., 1.x.x] | -| **Target V2 Version** | [e.g., 2.x.x] | - ---- - -## Authentication - -### Current Method - -- [ ] Service Account (credentials JSON file) -- [ ] Bearer Token (pre-generated) -- [ ] Custom token provider function -- [ ] Other: ____________________ - -### Credentials Location - -| Storage Method | Path / Variable Name | -|----------------|----------------------| -| File path | | -| Environment variable | | -| Secrets manager | | -| Hardcoded (needs fixing!) | | - -### Token Provider Code Location - -| File | Line(s) | Function Name | Notes | -|------|---------|---------------|-------| -| | | | | - ---- - -## Client Initialization - -### Vault Configuration - -| Setting | Current V1 Value | V2 Equivalent | -|---------|------------------|---------------| -| vaultID | | (same) | -| vaultURL | | clusterId: | -| getBearerToken / tokenProvider | | credentials: | - -### Initialization Code Locations - -| File | Line(s) | Notes | -|------|---------|-------| -| | | | -| | | | - ---- - -## Operations Inventory - -### Insert Operations - -| File | Line(s) | Table(s) | Fields Inserted | Options Used | -|------|---------|----------|-----------------|--------------| -| | | | | tokens: true/false | -| | | | | | -| | | | | | - -### Get Operations - -| File | Line(s) | Table(s) | Redaction | Query by ID/Column | -|------|---------|----------|-----------|-------------------| -| | | | MASKED / PLAIN_TEXT / etc. | | -| | | | | | - -### Detokenize Operations - -| File | Line(s) | Token Source | Redaction | Notes | -|------|---------|--------------|-----------|-------| -| | | | | | -| | | | | | - -### Update Operations - -| File | Line(s) | Table(s) | Fields Updated | Notes | -|------|---------|----------|----------------|-------| -| | | | | | - -### Delete Operations - -| File | Line(s) | Table(s) | Notes | -|------|---------|----------|-------| -| | | | | - -### Query Operations - -| File | Line(s) | Query Type | Tables | Notes | -|------|---------|------------|--------|-------| -| | | | | | - ---- - -## Response Handling Patterns - -### Field Access Patterns - -| File | Line(s) | Access Pattern | V2 Update Needed | -|------|---------|----------------|------------------| -| | | `response.records[0].fields.X` | Yes - update to V2 structure | -| | | `response.records[0].tokens.X` | Yes - tokens in main response | -| | | | | - -### Token Extraction - -| File | Line(s) | Current Pattern | Notes | -|------|---------|-----------------|-------| -| | | | | - ---- - -## Error Handling Patterns - -### Try/Catch Blocks - -| File | Line(s) | Error Properties Used | Custom Logic | -|------|---------|----------------------|--------------| -| | | error.code, error.description | | -| | | | | - -### Error Logging - -| File | Line(s) | What's Logged | Update for request_ID? | -|------|---------|---------------|------------------------| -| | | | Yes / No | -| | | | | - -### Custom Error Classes/Handlers - -| File | Class/Function Name | Notes | -|------|---------------------|-------| -| | | | - ---- - -## Test Files - -### Unit Tests - -| Test File | What It Tests | V1 Mocks/Stubs Used | -|-----------|---------------|---------------------| -| | | | -| | | | - -### Integration Tests - -| Test File | Operations Tested | Test Vault Used | -|-----------|-------------------|-----------------| -| | | | -| | | | - -### Test Utilities - -| File | Purpose | V1-specific Code | -|------|---------|------------------| -| | Mock client setup | | -| | Test data factories | | - ---- - -## Configuration Files - -| File | Skyflow-related Config | Notes | -|------|------------------------|-------| -| | vaultURL, vaultID | | -| | credentials path | | -| | | | - ---- - -## Dependencies - -### Direct SDK Dependencies - -| Package | Current Version | V2 Version | -|---------|-----------------|------------| -| | | | - -### Type Definition Packages (if applicable) - -| Package | Version | Remove in V2? | -|---------|---------|---------------| -| @types/skyflow-node | | Yes - built into V2 | -| | | | - ---- - -## Summary - -| Category | Count | Notes | -|----------|-------|-------| -| Files with V1 SDK usage | | | -| Client initialization points | | | -| Insert operations | | | -| Get operations | | | -| Detokenize operations | | | -| Update operations | | | -| Delete operations | | | -| Error handling blocks | | | -| Test files | | | - ---- - -## Migration Priority - -Rank files by migration priority based on criticality and dependencies. - -| Priority | File | Reason | Dependencies | -|----------|------|--------|--------------| -| 1 (High) | | Core functionality | | -| 2 | | | | -| 3 | | | | -| 4 | | | | -| 5 (Low) | | | | - ---- - -## Multi-Vault Assessment - -Does your application need multi-vault support? - -- [ ] **No** - Single vault is sufficient -- [ ] **Yes** - Need to access multiple vaults - -If yes, list vaults: - -| Vault ID | Current vaultURL | Purpose | -|----------|------------------|---------| -| | | | -| | | | - ---- - -## Notes - -[Additional observations, concerns, or questions discovered during inventory] diff --git a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/migration-checklist.md b/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/migration-checklist.md deleted file mode 100644 index bddc110..0000000 --- a/skyflow-skills-plugin/skills/migrate-sdk-v1-to-v2/templates/migration-checklist.md +++ /dev/null @@ -1,190 +0,0 @@ -# SDK Migration Checklist - -Use this template to track your V1 to V2 SDK migration progress. - -## Project Information - -| Field | Value | -|-------|-------| -| **Project Name** | [Your project] | -| **SDK** | [Node.js / Python / Java / Go] | -| **V1 Version** | [e.g., 1.x.x] | -| **V2 Target Version** | [e.g., 2.x.x] | -| **Migration Start Date** | [Date] | -| **Target Completion** | [Date] | -| **Owner** | [Name] | - ---- - -## Phase 1: Discovery - -- [ ] Searched codebase for V1 import statements -- [ ] Inventoried all files using Skyflow SDK -- [ ] Documented current authentication method -- [ ] Listed all operations used (insert, get, detokenize, etc.) -- [ ] Identified custom error handling patterns -- [ ] Found all test files requiring updates -- [ ] Completed code inventory template - -### Files to Migrate - -| File Path | Operations Used | Priority | Status | -|-----------|-----------------|----------|--------| -| | | High / Medium / Low | Pending / In Progress / Done | -| | | | | -| | | | | -| | | | | - ---- - -## Phase 2: Preparation - -- [ ] Read V2 migration guide for my SDK -- [ ] Understood all breaking changes -- [ ] Planned authentication approach for V2 -- [ ] Determined if multi-vault support needed -- [ ] Created feature branch for migration -- [ ] Set up test environment - -### Authentication Decision - -| Current V1 Method | Chosen V2 Method | Reason | -|-------------------|------------------|--------| -| [e.g., Bearer token function] | [e.g., API Key] | [Simplicity, security, etc.] | - ---- - -## Phase 3: Migration - -### Package Updates - -- [ ] Updated package.json / requirements.txt / pom.xml / go.mod -- [ ] Installed V2 package -- [ ] Removed obsolete type packages (if applicable) -- [ ] Verified no version conflicts - -### Authentication - -- [ ] Selected credential type -- [ ] Updated credential initialization -- [ ] Tested authentication works -- [ ] Updated any token refresh logic (if applicable) - -### Client Initialization - -- [ ] Extracted `clusterId` from V1 `vaultURL`: ____________________ -- [ ] Updated initialization code pattern -- [ ] Configured `vaultConfigs` array -- [ ] Set appropriate `logLevel` -- [ ] Configured multiple vaults (if needed) - -### Operations Migration - -#### Insert Operations -- [ ] Updated to V2 request class pattern -- [ ] Updated options configuration -- [ ] Updated response handling -- [ ] Tested insert operations - -#### Get Operations -- [ ] Updated to V2 request class pattern -- [ ] Updated options configuration -- [ ] Updated response handling -- [ ] Tested get operations - -#### Detokenize Operations -- [ ] Updated to V2 request class pattern -- [ ] Updated response handling -- [ ] Tested detokenize operations - -#### Other Operations (Update, Delete, etc.) -- [ ] Updated to V2 patterns -- [ ] Tested all operations - -### Error Handling - -- [ ] Updated catch blocks for new error structure -- [ ] Access `http_status` / `http_code` instead of `code` -- [ ] Access `message` instead of `description` -- [ ] Log `request_ID` for debugging support -- [ ] Handle `details` array for granular errors -- [ ] Updated error logging/reporting - ---- - -## Phase 4: Testing - -### Unit Tests - -- [ ] Updated test mocks for V2 patterns -- [ ] All unit tests passing -- [ ] Added tests for new V2 features (if using) - -### Integration Tests - -- [ ] Updated integration tests -- [ ] All integration tests passing -- [ ] Tested against sandbox/dev vault - -### Manual Testing - -- [ ] Insert operations return expected tokens -- [ ] Get operations return correctly structured responses -- [ ] Detokenize operations work with new format -- [ ] Error handling captures enhanced error details -- [ ] Multi-vault operations work (if applicable) -- [ ] Log levels function as expected - ---- - -## Phase 5: Deployment - -### Pre-Production - -- [ ] Code review completed -- [ ] All tests passing -- [ ] Merged to staging branch -- [ ] Tested in staging environment -- [ ] Performance validated -- [ ] Monitoring configured - -### Production - -- [ ] Deployed to production -- [ ] Verified all operations succeed -- [ ] Monitored error rates -- [ ] Checked logs for warnings -- [ ] Confirmed `request_ID` tracking works -- [ ] Migration complete - ---- - -## Issues Encountered - -| Issue | Resolution | Date | -|-------|------------|------| -| | | | -| | | | -| | | | - ---- - -## Rollback Plan - -In case of critical issues: - -1. **Immediate rollback steps:** - - [ ] Revert to previous deployment - - [ ] Verify V1 code is operational - - [ ] Monitor for stability - -2. **Investigation:** - - [ ] Capture error logs with `request_ID` - - [ ] Document reproduction steps - - [ ] Contact Skyflow support if needed - ---- - -## Notes - -[Additional notes, learnings, or recommendations for future migrations] diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/SKILL.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/SKILL.md deleted file mode 100644 index 6a41f90..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/SKILL.md +++ /dev/null @@ -1,357 +0,0 @@ ---- -name: plan-skyflow-implementation -description: Guide users through planning a complete Skyflow implementation, from requirements assessment through production launch, using the Define-Build-Go Live framework. ---- - -# Plan Your Skyflow Implementation - -This skill helps you create a comprehensive implementation plan for Skyflow. It guides users through a structured three-phase approach that covers requirements assessment, technical integration, and production readiness. - -## Overview - -Implementing Skyflow involves three main phases: - -| Phase | Focus | Duration | Key Outputs | -|-------|-------|----------|-------------| -| **Define** | Requirements, schema design | 1-2 weeks | Data inventory, vault schema, environment setup | -| **Build** | Integration, testing | 2-4 weeks | SDK integration, access controls, test coverage | -| **Go Live** | Production readiness | 1-2 weeks | Security review, data migration, launch | - -``` -Phase 1: Define Phase 2: Build Phase 3: Go Live -───────────────────────────────────────────────────────────────────────── - Data Assessment --> Authentication --> Security Review - Schema Design --> SDK Integration --> Data Migration - Environment Setup --> Access Controls --> Launch - --> Testing --> Monitoring -``` - -## Quick Start - -When helping users plan their Skyflow implementation, gather this information: - -### Essential Questions - -| Question | Why It Matters | -|----------|----------------| -| What sensitive data do you need to protect? | Determines schema design and compliance requirements | -| What's your tech stack (languages, frameworks)? | Guides SDK selection and integration patterns | -| When do you need to go live? | Establishes timeline and phase durations | -| What compliance requirements apply? | Identifies GDPR, HIPAA, PCI-DSS, CCPA needs | -| Do you have existing sensitive data to migrate? | Affects go-live planning | - -### Use Case Classification - -| Use Case | Primary Features | Typical Timeline | -|----------|-----------------|------------------| -| **Payment Processing** | Card tokenization, PCI compliance | 4-6 weeks | -| **Healthcare/PHI** | HIPAA compliance, audit logging | 6-8 weeks | -| **Identity/KYC** | Document storage, verification | 4-6 weeks | -| **AI/LLM Data** | De-identification, Detect API | 3-4 weeks | -| **General PII** | Customer data protection | 3-5 weeks | - -See [use-case-patterns.md](use-case-patterns.md) for detailed patterns. - -## Phase 1: Define - -The Define phase establishes your foundation. See [define-phase.md](define-phase.md) for detailed guidance. - -### 1.1 Assess Data Requirements - -**Goal**: Identify all sensitive data that Skyflow will protect. - -#### Data Inventory Checklist - -- [ ] List all PII/PHI/PCI data fields you collect -- [ ] Map data sources (forms, APIs, imports, third parties) -- [ ] Map data destinations (storage, analytics, third parties) -- [ ] Identify who needs access to what data -- [ ] Document compliance requirements (GDPR, HIPAA, PCI-DSS, CCPA) - -#### Data Classification - -| Category | Examples | Typical Handling | -|----------|----------|------------------| -| **PII** | Names, emails, addresses, SSN | Tokenization + redaction | -| **PHI** | Medical records, diagnoses | Tokenization + HIPAA compliance tags | -| **PCI** | Card numbers, CVV | Tokenization + transient tokens for CVV | -| **NPI** | Bank accounts, financial data | Tokenization + audit logging | - -### 1.2 Design Vault Schema - -**Goal**: Create an optimized schema for your data. - -#### Schema Design Checklist - -- [ ] Identify tables and relationships -- [ ] Define fields with appropriate data types -- [ ] Configure tokenization policies per field -- [ ] Set redaction/masking rules -- [ ] Add compliance tags -- [ ] Configure validation rules -- [ ] Plan unique constraints for upsert operations - -#### Tokenization Decision Tree - -``` -Is the data format important downstream? -├── Yes --> Format-preserving tokens -│ └── Need same token for same value? -│ ├── Yes --> DETERMINISTIC_FPT -│ └── No --> FORMAT_PRESERVING_TOKEN -└── No --> UUID-based tokens - └── Need same token for same value? - ├── Yes --> DETERMINISTIC_UUID - └── No --> NON_DETERMINISTIC_UUID - └── Temporary storage? --> NON_DETERMINISTIC_TRANSIENT_UUID -``` - -### 1.3 Set Up Environment - -**Goal**: Prepare your Skyflow account and development environment. - -#### Environment Setup Checklist - -- [ ] Create Skyflow account (sandbox for development) -- [ ] Note Account ID and Workspace ID -- [ ] Generate API credentials (bearer token or service account) -- [ ] Set up environment variables -- [ ] Create development vault -- [ ] Install required tools (curl, jq, SDK packages) - -## Phase 2: Build - -The Build phase implements your integration. See [build-phase.md](build-phase.md) for detailed guidance. - -### 2.1 Authentication Setup - -**Goal**: Establish secure authentication for your application. - -#### Authentication Decision Tree - -``` -Where will Skyflow operations run? -├── Backend only --> Service account authentication -│ └── Store credentials in: secrets manager, env vars -├── Frontend only --> Bearer tokens (generated by backend) -│ └── Implement: token endpoint, token refresh -└── Both --> Hybrid approach - ├── Backend: service account - └── Frontend: bearer tokens from backend -``` - -#### Authentication Checklist - -- [ ] Create service account in Studio -- [ ] Download and securely store credentials JSON -- [ ] Implement token generation (never expose credentials to frontend) -- [ ] Configure token refresh logic - -### 2.2 Roles and Policies - -**Goal**: Define who can access what data and how. - -#### Access Control Matrix Template - -| Role | Read | Write | Delete | Detokenize | Redaction Level | -|------|------|-------|--------|------------|-----------------| -| Admin | All | All | All | Yes | PLAIN_TEXT | -| Editor | All | All | No | No | MASKED | -| Viewer | All | No | No | No | REDACTED | -| Service | Specific | Specific | No | Specific | MASKED | - -#### Policy Planning Checklist - -- [ ] Map user roles to vault access needs -- [ ] Identify redaction requirements per role -- [ ] Define detokenization permissions -- [ ] Create custom policies for fine-grained control -- [ ] Test policies in development environment - -### 2.3 Server-Side Integration - -**Goal**: Integrate Skyflow into your backend services. - -#### SDK Selection - -| Language | SDK Package | Install Command | -|----------|-------------|-----------------| -| Node.js | `skyflow-node` | `npm install skyflow-node` | -| Python | `skyflow` | `pip install skyflow` | -| Java | `skyflow-java` | Maven/Gradle dependency | -| Go | `skyflow-go` | `go get github.com/skyflowapi/skyflow-go` | - -#### Integration Patterns - -| Pattern | Use Case | Implementation | -|---------|----------|----------------| -| **Tokenize on write** | Protect data at ingestion | Insert API, store tokens | -| **Proxy through Skyflow** | Keep PII out of your systems | Connections API | -| **Detokenize on read** | Authorized access to PII | Detokenize API | -| **De-identify text** | LLM/AI data protection | Detect API | - -### 2.4 Client-Side Integration - -**Goal**: Securely collect sensitive data from users. - -#### Frontend SDK Selection - -| Framework | SDK Package | Use Case | -|-----------|-------------|----------| -| React | `skyflow-react-js` | Web forms, SPAs | -| React Native | `skyflow-react-native` | Mobile apps | -| JavaScript | `skyflow-js` | Vanilla JS, other frameworks | -| iOS | `Skyflow-iOS` | Native iOS apps | -| Android | `skyflow-android` | Native Android apps | - -#### Client Integration Checklist - -- [ ] Implement bearer token endpoint on backend -- [ ] Install frontend SDK -- [ ] Configure Skyflow provider with token function -- [ ] Build secure collection forms using Skyflow Elements -- [ ] Handle collection responses (tokens) -- [ ] Implement error handling - -### 2.5 Testing and Validation - -**Goal**: Verify your integration works correctly. - -#### Test Scenarios - -| Test | What to Validate | -|------|------------------| -| Insert and tokenize | Records created, tokens returned | -| Retrieve with redaction | Correct redaction applied per role | -| Detokenize | Authorized users get plain text | -| Access control | Unauthorized requests are blocked | -| Rate limiting | Retry logic handles rate limits | -| Error handling | Graceful failure modes | - -## Phase 3: Go Live - -The Go Live phase prepares for production. See [go-live-phase.md](go-live-phase.md) for detailed guidance. - -### 3.1 Production Readiness - -**Goal**: Ensure your implementation is production-ready. - -#### Production Readiness Checklist - -- [ ] All development testing complete -- [ ] Service accounts created for production -- [ ] Production vault created with same schema -- [ ] Access controls configured and tested -- [ ] Monitoring and alerting set up -- [ ] Error handling comprehensive -- [ ] Retry logic implemented - -### 3.2 Security Review - -**Goal**: Validate security posture before launch. - -See [security-checklist.md](security-checklist.md) for the complete security review checklist. - -#### Security Review Areas - -| Area | Key Checks | -|------|------------| -| **Credentials** | No hardcoded secrets, rotation policy | -| **Access Control** | Least privilege, role segregation | -| **Data Handling** | No PII in logs/errors, proper redaction | -| **Transport** | HTTPS everywhere, certificate validation | -| **Audit** | All access logged, logs secured | - -### 3.3 Data Migration - -**Goal**: Migrate existing sensitive data to Skyflow. - -#### Migration Approaches - -| Approach | Use Case | Complexity | -|----------|----------|------------| -| **Batch import** | One-time historical data | Medium | -| **Incremental sync** | Ongoing synchronization | High | -| **Cutover** | New data only, deprecate old | Low | - -#### Migration Checklist - -- [ ] Inventory existing sensitive data -- [ ] Plan token mapping strategy -- [ ] Create and test migration scripts -- [ ] Plan rollback procedure -- [ ] Execute migration -- [ ] Validate migrated data -- [ ] Update application to use tokens - -### 3.4 Launch - -**Goal**: Successfully launch your Skyflow integration. - -#### Launch Checklist - -- [ ] All tests passing -- [ ] Security review approved -- [ ] Data migration complete (if applicable) -- [ ] Monitoring active -- [ ] Runbook documented -- [ ] Rollback plan ready -- [ ] Go/no-go decision made -- [ ] Route live traffic to production vault - -## Creating an Implementation Plan - -When helping a user create their implementation plan, use the template at [templates/implementation-plan.md](templates/implementation-plan.md). - -### Information to Gather - -1. **Use case summary**: 2-3 sentences describing what they're building -2. **Data inventory**: List of sensitive data fields (use [templates/data-inventory.md](templates/data-inventory.md)) -3. **Tech stack**: Languages, frameworks, deployment environment -4. **Timeline**: Target launch date and any hard deadlines -5. **Team**: Size and Skyflow experience level -6. **Constraints**: Compliance requirements, existing systems, budget - -### Sample Timeline - -``` -Week 1-2: Define Phase -├── Week 1: Data assessment, compliance mapping -└── Week 2: Schema design, environment setup - -Week 3-5: Build Phase -├── Week 3: Authentication, access control setup -├── Week 4: Backend SDK integration -└── Week 5: Frontend integration, testing - -Week 6-7: Go Live Phase -├── Week 6: Security review, production setup -└── Week 7: Data migration, launch -``` - -## Related Documentation - -- [define-phase.md](define-phase.md) - Detailed Define phase guidance -- [build-phase.md](build-phase.md) - Detailed Build phase guidance -- [go-live-phase.md](go-live-phase.md) - Detailed Go Live phase guidance -- [use-case-patterns.md](use-case-patterns.md) - Pre-built patterns for common use cases -- [security-checklist.md](security-checklist.md) - Security review checklist -- [templates/implementation-plan.md](templates/implementation-plan.md) - Plan template -- [templates/data-inventory.md](templates/data-inventory.md) - Data assessment worksheet - -## Usage Instructions for Claude - -When helping users plan their Skyflow implementation: - -1. **Gather context**: Ask about use case, data types, tech stack, timeline -2. **Classify the project**: Match to use case patterns in [use-case-patterns.md](use-case-patterns.md) -3. **Create phased plan**: Generate Define/Build/Go Live milestones using the template -4. **Provide checklists**: Share relevant phase checklists from this document -5. **Reference detailed docs**: Link to phase-specific guidance as needed -6. **Iterate**: Refine plan based on user feedback and constraints - -### Key Integrations - -- Use the **create-vault** skill when ready to create the vault schema -- Use the **rest-apis** skill for API-specific questions during build phase -- Reference Skyflow documentation for latest SDK guides and API references diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/build-phase.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/build-phase.md deleted file mode 100644 index 868a010..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/build-phase.md +++ /dev/null @@ -1,638 +0,0 @@ -# Phase 2: Build - Detailed Guide - -The Build phase implements your Skyflow integration. During this phase, you'll set up authentication, configure access controls, integrate SDKs, and test your implementation. - -## Authentication Setup - -### Authentication Methods - -| Method | Use Case | Security Level | Token Lifetime | -|--------|----------|----------------|----------------| -| **Service Account** | Backend services | High | 60 minutes (auto-refresh) | -| **Bearer Token** | Development/testing | Medium | 60 minutes | -| **API Key** | Legacy integrations | Lower | Long-lived | - -**Recommendation:** Use service accounts for all production workloads. - -### Service Account Setup - -#### Step 1: Create Service Account in Studio - -1. Navigate to Settings > Service Accounts -2. Click "Create Service Account" -3. Provide a descriptive name (e.g., `backend-prod`, `data-pipeline`) -4. Assign appropriate roles -5. Download the credentials JSON file - -#### Step 2: Secure Credentials Storage - -**Never store credentials in:** -- Source code -- Environment variables in version control -- Client-side code -- Logs or error messages - -**Recommended storage:** -- AWS Secrets Manager -- HashiCorp Vault -- Google Secret Manager -- Azure Key Vault -- Environment variables (set at deployment time) - -#### Step 3: Implement Token Generation - -**Node.js Example:** - -```javascript -const { Skyflow, generateBearerToken } = require('skyflow-node'); - -// Load credentials from secure storage -const credentials = JSON.parse(process.env.SKYFLOW_CREDENTIALS); - -async function getToken() { - const token = await generateBearerToken(credentials); - return token.accessToken; -} -``` - -**Python Example:** - -```python -from skyflow import Skyflow, Env -from skyflow.service_account import generate_bearer_token -import json -import os - -# Load credentials from secure storage -credentials = json.loads(os.environ['SKYFLOW_CREDENTIALS']) - -def get_token(): - token, _ = generate_bearer_token(credentials) - return token -``` - -### Bearer Token Endpoint (for Frontend) - -If your frontend needs to call Skyflow directly, create a backend endpoint that provides scoped bearer tokens: - -```javascript -// Express.js example -app.get('/api/skyflow-token', authenticate, async (req, res) => { - try { - const token = await generateBearerToken(credentials, { - // Scope token to specific roles if needed - roles: ['vault-viewer'] - }); - res.json({ accessToken: token.accessToken }); - } catch (error) { - res.status(500).json({ error: 'Failed to generate token' }); - } -}); -``` - -## Roles and Policies - -### Understanding Skyflow Access Control - -Skyflow uses a combination of roles and policies: - -- **Roles**: Define a set of permissions that can be assigned to users/service accounts -- **Policies**: Fine-grained rules that control access to specific data - -### Default Roles - -| Role | Capabilities | -|------|--------------| -| **Vault Owner** | Full access, manage users, see plain text | -| **Vault Editor** | Create, update, delete records with default redaction | -| **Vault Viewer** | Read-only access with default redaction | - -### Creating Custom Roles - -Custom roles allow precise control over permissions. Common patterns: - -#### Pattern: Data Entry Role - -``` -Capabilities: -- CREATE records in specified tables -- TOKENIZATION of inserted values -- READ own records (optional) - -No access to: -- DETOKENIZATION -- DELETE -- Other tables -``` - -#### Pattern: Support Agent Role - -``` -Capabilities: -- READ all records with MASKED redaction -- DETOKENIZATION for specific fields (e.g., last 4 of phone) - -No access to: -- CREATE, UPDATE, DELETE -- Full detokenization -``` - -#### Pattern: Analytics Role - -``` -Capabilities: -- QUERY with aggregations -- READ with REDACTED values - -No access to: -- DETOKENIZATION -- Individual record access -``` - -### Policy Expression Examples - -Policies use Skyflow's policy language to define access rules: - -#### Allow read with masked redaction: - -```policy -ALLOW READ ON customers.* WITH REDACTION = MASKED -``` - -#### Allow detokenization for specific fields: - -```policy -ALLOW DETOKENIZATION ON customers.email WITH REDACTION = PLAIN_TEXT -ALLOW DETOKENIZATION ON customers.phone WITH REDACTION = MASKED -``` - -#### Allow create and tokenization: - -```policy -ALLOW CREATE ON customers.* -ALLOW TOKENIZATION ON customers.* -``` - -#### Deny access to specific columns: - -```policy -DENY READ ON customers.ssn -DENY DETOKENIZATION ON customers.ssn -``` - -### Access Control Planning Checklist - -- [ ] List all user/service types that need vault access -- [ ] For each type, define required operations (read, write, delete) -- [ ] Determine redaction level for each type -- [ ] Identify fields requiring detokenization access -- [ ] Create role for each user type -- [ ] Write policies for fine-grained control -- [ ] Test each role's access in development - -## Server-Side Integration - -### SDK Installation - -#### Node.js - -```bash -npm install skyflow-node -``` - -#### Python - -```bash -pip install skyflow -``` - -#### Java (Maven) - -```xml - - com.skyflow - skyflow-java - 1.x.x - -``` - -#### Go - -```bash -go get github.com/skyflowapi/skyflow-go -``` - -### SDK Initialization - -#### Node.js - -```javascript -const { Skyflow } = require('skyflow-node'); - -const client = Skyflow.init({ - vaultID: process.env.VAULT_ID, - vaultURL: process.env.VAULT_URL, - getBearerToken: async () => { - // Return your token - return await getToken(); - } -}); -``` - -#### Python - -```python -from skyflow import Skyflow, Env, LogLevel - -client = Skyflow.init({ - 'vaultID': os.environ['VAULT_ID'], - 'vaultURL': os.environ['VAULT_URL'], - 'getBearerToken': get_token -}) -``` - -### Common Operations - -#### Insert Records (Tokenize) - -```javascript -// Node.js -const response = await client.insert({ - records: [ - { - table: 'customers', - fields: { - first_name: 'John', - last_name: 'Doe', - email: 'john@example.com', - ssn: '123-45-6789' - } - } - ] -}); - -// Response contains tokens -// { -// records: [ -// { -// skyflow_id: 'abc-123', -// tokens: { -// first_name: 'tok_xxx', -// email: 'tok_yyy', -// ssn: '123-45-tok_zzz' // Format-preserving -// } -// } -// ] -// } -``` - -#### Get Records (with Redaction) - -```javascript -const response = await client.get({ - records: [ - { - table: 'customers', - ids: ['abc-123'], - redaction: 'MASKED' // or 'PLAIN_TEXT', 'REDACTED' - } - ] -}); -``` - -#### Detokenize - -```javascript -const response = await client.detokenize({ - records: [ - { token: 'tok_xxx' }, - { token: 'tok_yyy' } - ] -}); - -// Returns plain text values -// { -// records: [ -// { value: 'John' }, -// { value: 'john@example.com' } -// ] -// } -``` - -#### Query Records - -```javascript -const response = await client.query({ - query: 'SELECT * FROM customers WHERE email = ?', - params: ['tok_email_token'] // Use tokenized value for queries -}); -``` - -### Integration Patterns - -#### Pattern 1: Tokenize on Write - -Replace sensitive data with tokens at the point of collection: - -```javascript -// Before: Storing PII directly -await db.insert({ name: userData.name, email: userData.email }); - -// After: Tokenize first, store tokens -const skyflowResponse = await skyflowClient.insert({ - records: [{ table: 'customers', fields: userData }] -}); -const tokens = skyflowResponse.records[0].tokens; -await db.insert({ name: tokens.name, email: tokens.email }); -``` - -#### Pattern 2: Detokenize on Read - -Retrieve plain text only when authorized and needed: - -```javascript -// Fetch tokenized data from your database -const user = await db.getUser(userId); - -// Detokenize for authorized display -const plaintext = await skyflowClient.detokenize({ - records: [ - { token: user.name }, - { token: user.email } - ] -}); -``` - -#### Pattern 3: Proxy Through Connections - -Use Skyflow Connections to keep PII out of your systems entirely: - -```javascript -// Configure connection to third-party API -const connection = await skyflowClient.invokeConnection({ - connectionURL: 'https://api.thirdparty.com/endpoint', - methodName: 'POST', - requestBody: { - // Skyflow automatically detokenizes before sending - card_number: '{tok_card_token}' - } -}); -``` - -## Client-Side Integration - -### Frontend SDK Selection - -| Framework | Package | Installation | -|-----------|---------|--------------| -| React | `skyflow-react-js` | `npm install skyflow-react-js` | -| JavaScript | `skyflow-js` | `npm install skyflow-js` | -| React Native | `skyflow-react-native` | `npm install skyflow-react-native` | - -### React Integration - -#### Step 1: Create Token Provider - -```javascript -// src/skyflow/tokenProvider.js -const tokenProvider = async () => { - const response = await fetch('/api/skyflow-token', { - method: 'GET', - headers: { 'Authorization': `Bearer ${userToken}` } - }); - const data = await response.json(); - return data.accessToken; -}; - -export default tokenProvider; -``` - -#### Step 2: Configure Skyflow Provider - -```javascript -// src/App.js -import { SkyflowProvider } from 'skyflow-react-js'; -import tokenProvider from './skyflow/tokenProvider'; - -const skyflowConfig = { - vaultID: process.env.REACT_APP_VAULT_ID, - vaultURL: process.env.REACT_APP_VAULT_URL, - getBearerToken: tokenProvider -}; - -function App() { - return ( - - - - ); -} -``` - -#### Step 3: Use Skyflow Elements for Collection - -```javascript -import { - CardNumberElement, - ExpirationDateElement, - CVVElement, - useSkyflow -} from 'skyflow-react-js'; - -function PaymentForm() { - const { container } = useSkyflow(); - - const handleSubmit = async () => { - try { - const response = await container.collect(); - // response contains tokens, not plain text - console.log('Tokens:', response); - // Send tokens to your backend - await savePaymentMethod(response.records[0].tokens); - } catch (error) { - console.error('Collection failed:', error); - } - }; - - return ( -
      - - - - - - ); -} -``` - -### Skyflow Elements - -Skyflow Elements are pre-built UI components that securely collect sensitive data: - -| Element | Purpose | Returns | -|---------|---------|---------| -| `CardNumberElement` | Credit card number input | Format-preserving token | -| `ExpirationDateElement` | Card expiry date | Token | -| `CVVElement` | Card CVV input | Transient token | -| `InputElement` | Generic text input | Token | -| `PinElement` | PIN input | Token | - -**Benefits of Elements:** -- Sensitive data never touches your frontend code -- PCI compliance simplified -- Built-in validation and formatting -- Accessible and customizable - -### Revealing Data - -To display tokenized data to users: - -```javascript -import { RevealElement, useSkyflow } from 'skyflow-react-js'; - -function CardDisplay({ cardToken }) { - return ( - - ); -} -``` - -## Testing and Validation - -### Test Environment Setup - -1. Use sandbox/development vault (never production data in tests) -2. Create test service account with appropriate permissions -3. Generate test data that mimics production patterns - -### Test Categories - -#### Unit Tests - -Mock Skyflow SDK to test your application logic: - -```javascript -// Jest example -jest.mock('skyflow-node', () => ({ - Skyflow: { - init: () => ({ - insert: jest.fn().mockResolvedValue({ - records: [{ skyflow_id: 'test-id', tokens: { email: 'tok_test' } }] - }), - detokenize: jest.fn().mockResolvedValue({ - records: [{ value: 'test@example.com' }] - }) - }) - } -})); -``` - -#### Integration Tests - -Test against sandbox vault: - -```javascript -describe('Skyflow Integration', () => { - it('should insert and retrieve record', async () => { - // Insert - const insertResponse = await client.insert({ - records: [{ table: 'customers', fields: testData }] - }); - expect(insertResponse.records[0].skyflow_id).toBeDefined(); - - // Retrieve - const getResponse = await client.get({ - records: [{ - table: 'customers', - ids: [insertResponse.records[0].skyflow_id] - }] - }); - expect(getResponse.records[0]).toBeDefined(); - }); -}); -``` - -#### Access Control Tests - -Verify permissions work correctly: - -```javascript -describe('Access Control', () => { - it('should deny detokenization for viewer role', async () => { - const viewerClient = createClientWithRole('viewer'); - - await expect( - viewerClient.detokenize({ records: [{ token: 'tok_xxx' }] }) - ).rejects.toThrow(/unauthorized/i); - }); - - it('should allow detokenization for admin role', async () => { - const adminClient = createClientWithRole('admin'); - - const response = await adminClient.detokenize({ - records: [{ token: 'tok_xxx' }] - }); - expect(response.records[0].value).toBeDefined(); - }); -}); -``` - -### Test Checklist - -#### Functional Tests - -- [ ] Insert records and receive tokens -- [ ] Retrieve records with correct redaction -- [ ] Detokenize with authorized account -- [ ] Query records using tokens -- [ ] Update existing records -- [ ] Delete records - -#### Security Tests - -- [ ] Unauthorized detokenization is blocked -- [ ] Incorrect role cannot access restricted data -- [ ] Rate limiting works correctly -- [ ] Token expiration handled gracefully - -#### Error Handling Tests - -- [ ] Invalid token format handled -- [ ] Network errors handled with retry -- [ ] Expired credentials trigger refresh -- [ ] Validation errors returned clearly - -#### Performance Tests - -- [ ] Bulk insert within acceptable time -- [ ] Query response time acceptable -- [ ] Concurrent requests handled - -## Build Phase Completion Checklist - -Before moving to Go Live phase, ensure: - -- [ ] Service accounts created and credentials secured -- [ ] Token generation/refresh implemented -- [ ] Roles and policies configured -- [ ] Backend SDK integrated -- [ ] Frontend SDK integrated (if applicable) -- [ ] Skyflow Elements implemented for collection -- [ ] All CRUD operations tested -- [ ] Access control tests passing -- [ ] Error handling implemented -- [ ] Retry logic implemented for rate limits -- [ ] Logging configured (no PII in logs) - -## Next Steps - -Once the Build phase is complete, proceed to [go-live-phase.md](go-live-phase.md) to prepare for production. - -## Related Documentation - -- [security-checklist.md](security-checklist.md) - Security review preparation -- **rest-apis** skill - Detailed API reference -- [Skyflow SDK Documentation](https://docs.skyflow.com/sdks/) diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/define-phase.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/define-phase.md deleted file mode 100644 index 383b107..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/define-phase.md +++ /dev/null @@ -1,391 +0,0 @@ -# Phase 1: Define - Detailed Guide - -The Define phase establishes the foundation for your Skyflow implementation. During this phase, you'll assess your data requirements, design your vault schema, and set up your development environment. - -## Data Requirements Assessment - -### Data Discovery Process - -Before designing your vault, thoroughly understand your data landscape: - -#### Step 1: Inventory Sensitive Data - -Use the [data inventory worksheet](templates/data-inventory.md) to document: - -| Field Name | Data Type | Example | Source | Destination | Compliance | -|------------|-----------|---------|--------|-------------|------------| -| | | | | | | - -**Common sensitive data types:** - -| Category | Fields to Look For | -|----------|-------------------| -| **Identity** | Full name, SSN, date of birth, government IDs | -| **Contact** | Email, phone, physical address | -| **Financial** | Card numbers, bank accounts, routing numbers | -| **Health** | Medical records, diagnoses, prescriptions | -| **Authentication** | Passwords, security questions, biometrics | - -#### Step 2: Map Data Flows - -For each sensitive data field, document: - -1. **Entry points**: Where does this data enter your system? - - User forms - - API integrations - - File uploads - - Third-party imports - -2. **Storage locations**: Where is this data currently stored? - - Databases - - File systems - - Caches - - Logs - -3. **Processing points**: What systems touch this data? - - Backend services - - Analytics pipelines - - Third-party APIs - - Reporting systems - -4. **Exit points**: Where does this data leave your system? - - User displays - - API responses - - Third-party integrations - - Exports/reports - -#### Step 3: Identify Compliance Requirements - -| Regulation | Applies If | Key Requirements | -|------------|-----------|------------------| -| **GDPR** | EU residents' data | Right to erasure, consent, data minimization | -| **HIPAA** | US health information | Audit trails, access controls, encryption | -| **PCI-DSS** | Payment card data | Tokenization, restricted access, no CVV storage | -| **CCPA** | California residents' data | Right to know, right to delete, opt-out | -| **SOC 2** | Service organizations | Security, availability, confidentiality | - -### Data Classification Framework - -Classify each data field by sensitivity: - -| Level | Definition | Examples | Skyflow Handling | -|-------|------------|----------|------------------| -| **Critical** | Breach causes severe harm | SSN, card numbers | Tokenize, full redaction, limited access | -| **High** | Breach causes significant harm | DOB, medical data | Tokenize, masked redaction | -| **Medium** | Breach causes moderate harm | Email, phone | Tokenize, partial redaction | -| **Low** | Minimal breach impact | Preferences | May not need tokenization | - -## Vault Schema Design - -### Schema Design Principles - -1. **Start with your data model**: Mirror your application's data structure -2. **Plan for queries**: Consider how data will be accessed and searched -3. **Design for compliance**: Include necessary compliance tags -4. **Think about relationships**: Use relational tables for connected data -5. **Consider tokenization needs**: Match token types to use cases - -### Schema Structure Overview - -```json -{ - "name": "vault_name", - "description": "Vault description", - "vaultSchema": { - "schemas": [ - { - "name": "table_name", - "fields": [ - { - "name": "field_name", - "datatype": "DT_STRING", - "tags": [...] - } - ], - "childrenSchemas": [], - "schemaTags": [] - } - ], - "tags": [] - }, - "workspaceID": "" -} -``` - -### Data Type Selection - -| Your Data | Skyflow Type | Notes | -|-----------|--------------|-------| -| Text | `DT_STRING` | Most common, use for names, addresses, etc. | -| Numbers | `DT_INT32` | For counts, IDs (non-sensitive) | -| Decimals | `DT_FLOAT32` | For amounts, measurements | -| Yes/No | `DT_BOOL` | For flags, preferences | -| Dates | `DT_DATE` | For birthdates, expiration dates | -| Timestamps | `DT_DATETIME` | For event times, created/updated | -| Files | `DT_FILE` | For documents, images | - -### Tokenization Strategy - -Choose tokenization based on how tokens will be used: - -#### Deterministic Tokens - -**Use when:** You need the same token for the same value across records - -- **DETERMINISTIC_UUID**: Random-looking UUID, same input = same output -- **DETERMINISTIC_FPT**: Format-preserving, same input = same output - -**Examples:** -- Matching records across tables -- Deduplication -- Analytics on tokenized values - -#### Non-Deterministic Tokens - -**Use when:** Each tokenization should produce a unique token - -- **NON_DETERMINISTIC_UUID**: Different token each time -- **FORMAT_PRESERVING_TOKEN**: Format-preserving, different each time -- **NON_DETERMINISTIC_TRANSIENT_UUID**: Temporary, auto-expires - -**Examples:** -- Maximum security (can't correlate tokens) -- Temporary data (CVV, one-time codes) - -### Redaction Strategy - -Configure redaction based on who needs to see what: - -| Redaction Type | Output Example | Use Case | -|----------------|----------------|----------| -| **PLAIN_TEXT** | `John Smith` | Authorized users only | -| **REDACT** | `REDACTED` | Default for most users | -| **MASK** | `J*** S****` | Support agents, partial visibility | - -**Masking configuration:** - -```json -{ - "name": "skyflow.options.default_dlp_policy", - "values": ["MASK"] -}, -{ - "name": "skyflow.options.find_pattern", - "values": ["^(.{1})(.*)$"] -}, -{ - "name": "skyflow.options.replace_pattern", - "values": ["${1}****"] -} -``` - -### Field Configuration Checklist - -For each sensitive field, decide: - -- [ ] **Data type**: What type of data is this? -- [ ] **Tokenization**: Deterministic vs non-deterministic? Format-preserving? -- [ ] **Redaction**: How should unauthorized users see this? -- [ ] **Validation**: What regex validates input? -- [ ] **Uniqueness**: Should values be unique? -- [ ] **Nullable**: Is this field required? -- [ ] **Queryable**: Need to search/filter on this field? -- [ ] **Compliance tags**: GDPR, HIPAA, PCI applicability? - -### Schema Examples by Use Case - -#### Customer Profile Table - -```json -{ - "name": "customers", - "fields": [ - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PII"]} - ] - }, - { - "name": "email", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.{2})(.*)(@.*)$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["${1}***${3}"]}, - {"name": "skyflow.options.operation", "values": ["EXACT_MATCH"]}, - {"name": "skyflow.options.configuration_tags", "values": ["UNIQUE"]} - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.SSN"]}, - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_FPT"]}, - {"name": "skyflow.options.format_preserving_regex", "values": ["^[0-9]{3}-[0-9]{2}-([0-9]{4})$"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^([0-9]{3})-([0-9]{2})-([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["XXX-XX-${3}"]}, - {"name": "skyflow.options.sensitivity", "values": ["HIGH"]}, - {"name": "skyflow.options.privacy_law", "values": ["CCPA"]} - ] - } - ] -} -``` - -#### Payment Card Table - -```json -{ - "name": "cards", - "fields": [ - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.CardNumber"]}, - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_FPT"]}, - {"name": "skyflow.options.format_preserving_regex", "values": ["^[0-9]{12}([0-9]{4})$"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^([0-9]{4})[0-9]{8}([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["${1} **** **** ${2}"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PCI"]} - ] - }, - { - "name": "cvv", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.CVV"]}, - {"name": "skyflow.options.default_token_policy", "values": ["NON_DETERMINISTIC_TRANSIENT_UUID"]}, - {"name": "skyflow.options.ttl", "values": ["15"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PCI"]} - ] - }, - { - "name": "expiry_date", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.ExpirationDate"]}, - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["PLAIN_TEXT"]} - ] - } - ] -} -``` - -## Environment Setup - -### Account Setup Checklist - -- [ ] Sign up for Skyflow account (sandbox for development) -- [ ] Verify email and complete account setup -- [ ] Note your Account ID (visible in Studio URL) -- [ ] Note your Workspace ID (visible in vault details) - -### Credential Setup - -#### Option A: Bearer Token (Quick Start) - -1. In Studio, click your account icon -2. Select "Generate API Bearer Token" -3. Copy the token (valid for 60 minutes) - -#### Option B: Service Account (Recommended for Development) - -1. In Studio, navigate to Settings > Service Accounts -2. Click "Create Service Account" -3. Name it (e.g., "dev-service-account") -4. Download the credentials JSON -5. Store securely (never commit to version control) - -### Environment Variables - -Set these environment variables for API access: - -```bash -# Skyflow API endpoints -export MANAGEMENT_URL=https://manage.skyflowapis.com -export VAULT_URL=https://ebfc9bee4242.vault.skyflowapis.com # Your vault URL - -# Account identifiers -export ACCOUNT_ID= -export WORKSPACE_ID= -export VAULT_ID= # After vault creation - -# Authentication -export TOKEN= -# OR for service accounts: -export SKYFLOW_CREDENTIALS=/path/to/credentials.json -``` - -### Development Tools - -Install these tools for API development: - -```bash -# Required -brew install curl jq # macOS -# apt-get install curl jq # Linux - -# Optional: Skyflow CLI (if available) -npm install -g @skyflow/cli -``` - -### Create Development Vault - -Once environment is set up, create your development vault: - -```bash -# Using template -curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d '{ - "name": "dev_vault", - "description": "Development vault", - "templateID": "", - "workspaceID": "'"$WORKSPACE_ID"'" - }' - -# Or with custom schema -curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d @schema.json -``` - -## Define Phase Completion Checklist - -Before moving to the Build phase, ensure: - -- [ ] Data inventory complete (all sensitive fields documented) -- [ ] Data flows mapped (sources, storage, processing, destinations) -- [ ] Compliance requirements identified -- [ ] Vault schema designed -- [ ] Tokenization strategy defined for each field -- [ ] Redaction rules configured -- [ ] Skyflow account created and configured -- [ ] Development vault created -- [ ] API credentials obtained and stored securely -- [ ] Environment variables set - -## Next Steps - -Once the Define phase is complete, proceed to [build-phase.md](build-phase.md) to integrate Skyflow into your application. - -## Related Documentation - -- [templates/data-inventory.md](templates/data-inventory.md) - Data inventory worksheet -- [use-case-patterns.md](use-case-patterns.md) - Pre-built patterns for common use cases -- **create-vault** skill - Detailed vault creation guidance diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/go-live-phase.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/go-live-phase.md deleted file mode 100644 index 5fea625..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/go-live-phase.md +++ /dev/null @@ -1,465 +0,0 @@ -# Phase 3: Go Live - Detailed Guide - -The Go Live phase prepares your Skyflow implementation for production. During this phase, you'll complete a security review, migrate any existing data, and launch your integration. - -## Production Readiness - -### Production Environment Setup - -#### Step 1: Create Production Vault - -Your production vault should mirror your development schema: - -```bash -# Download schema from development vault in Studio -# Upload to production environment - -# Or use Management API -curl -s -X POST "$MANAGEMENT_URL/v1/vaults" \ - -H "X-SKYFLOW-ACCOUNT-ID: $PROD_ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -d @production-schema.json -``` - -#### Step 2: Create Production Service Accounts - -Create separate service accounts for production: - -| Account | Purpose | Permissions | -|---------|---------|-------------| -| `prod-backend` | Main application backend | Insert, read, tokenize | -| `prod-worker` | Background jobs | Insert, update, tokenize | -| `prod-analytics` | Reporting/analytics | Read with aggregations | -| `prod-admin` | Emergency access | Full access (use sparingly) | - -**Security practices:** -- Never share credentials between environments -- Use separate accounts for different services -- Implement credential rotation policy - -#### Step 3: Configure Production Access Controls - -Replicate your tested roles and policies: - -1. Export policies from development -2. Review and adjust for production requirements -3. Apply to production vault -4. Test with production credentials - -### Production Configuration Checklist - -- [ ] Production vault created with correct schema -- [ ] Production service accounts created -- [ ] Production credentials stored in secrets manager -- [ ] Roles and policies applied and tested -- [ ] Environment variables configured for production -- [ ] Production URLs updated in application config - -### Infrastructure Requirements - -| Component | Requirement | Notes | -|-----------|-------------|-------| -| **Network** | HTTPS outbound to Skyflow APIs | Whitelist `*.skyflowapis.com` | -| **Secrets** | Secure credential storage | Secrets manager recommended | -| **Logging** | Centralized logging | Ensure no PII in logs | -| **Monitoring** | API call monitoring | Track latency, errors | -| **Alerting** | Error rate alerts | Alert on auth failures, rate limits | - -## Security Review - -Before going live, complete a thorough security review. See [security-checklist.md](security-checklist.md) for the complete checklist. - -### Pre-Review Preparation - -Prepare documentation for your security review: - -1. **Architecture diagram** showing data flows -2. **Access control matrix** listing all roles and permissions -3. **Data inventory** showing all sensitive data fields -4. **Integration documentation** describing SDK usage -5. **Security controls** implemented in your application - -### Security Review Areas - -#### 1. Credential Management - -| Check | Status | Notes | -|-------|--------|-------| -| No hardcoded credentials in source code | | | -| Credentials stored in secrets manager | | | -| Service account credentials rotated regularly | | | -| Bearer tokens short-lived (60 min) | | | -| Token refresh implemented correctly | | | - -#### 2. Access Control - -| Check | Status | Notes | -|-------|--------|-------| -| Principle of least privilege applied | | | -| Roles segregated by responsibility | | | -| Detokenization restricted appropriately | | | -| No overly permissive policies | | | -| Service accounts have minimal required permissions | | | - -#### 3. Data Handling - -| Check | Status | Notes | -|-------|--------|-------| -| No PII in application logs | | | -| No PII in error messages | | | -| No PII in URLs/query parameters | | | -| Proper redaction in all responses | | | -| Tokens stored instead of plain text | | | - -#### 4. Transport Security - -| Check | Status | Notes | -|-------|--------|-------| -| All API calls over HTTPS | | | -| Certificate validation enabled | | | -| No sensitive data in request URLs | | | -| TLS 1.2+ enforced | | | - -#### 5. Application Security - -| Check | Status | Notes | -|-------|--------|-------| -| Input validation on all user inputs | | | -| Output encoding for XSS prevention | | | -| Rate limiting handled with retry logic | | | -| Error handling doesn't leak info | | | - -### Skyflow Security Review - -Contact Skyflow for a security review before production launch: - -1. Schedule review with your Skyflow contact -2. Share architecture documentation -3. Walk through integration implementation -4. Address any findings -5. Obtain approval for production - -### Common Security Findings - -| Finding | Risk | Remediation | -|---------|------|-------------| -| Credentials in environment files committed to git | High | Remove from repo, rotate credentials, use secrets manager | -| PII logged in application logs | High | Audit all log statements, filter sensitive fields | -| Overly permissive service account | Medium | Create role-specific accounts with minimal permissions | -| Missing rate limit handling | Medium | Implement exponential backoff retry | -| Bearer tokens cached too long | Medium | Implement proper token refresh logic | - -## Data Migration - -### Migration Strategy Selection - -| Strategy | Use Case | Complexity | Risk | -|----------|----------|------------|------| -| **Big Bang** | Replace all data at once | Medium | Higher | -| **Incremental** | Migrate data in batches | Higher | Lower | -| **Dual Write** | Write to both systems during transition | Higher | Lower | -| **New Data Only** | Only new data goes to Skyflow | Low | Lowest | - -### Migration Planning - -#### Step 1: Inventory Existing Data - -Document all sensitive data that needs migration: - -| Data Source | Record Count | Fields | Priority | -|-------------|--------------|--------|----------| -| | | | | - -#### Step 2: Define Token Mapping - -For existing tokens or IDs, decide how to handle: - -| Scenario | Approach | -|----------|----------| -| No existing tokens | Generate new Skyflow tokens | -| Existing tokens | Import with `tokenStrict` to preserve tokens | -| Need correlation | Use deterministic tokens for matching | - -#### Step 3: Create Migration Scripts - -**Batch Insert Example (Node.js):** - -```javascript -const BATCH_SIZE = 25; // Skyflow limit - -async function migrateData(records) { - const batches = chunkArray(records, BATCH_SIZE); - - for (const batch of batches) { - try { - const response = await skyflowClient.insert({ - records: batch.map(record => ({ - table: 'customers', - fields: record - })) - }); - - // Store token mapping - for (let i = 0; i < response.records.length; i++) { - await saveTokenMapping( - batch[i].original_id, - response.records[i].skyflow_id, - response.records[i].tokens - ); - } - } catch (error) { - // Log failed batch for retry - await logFailedBatch(batch, error); - } - } -} -``` - -**Preserving Existing Tokens:** - -```javascript -// If you have existing tokens to preserve -const response = await skyflowClient.insert({ - records: [{ - table: 'customers', - fields: { - email: 'john@example.com' - } - }], - tokenStrict: true, // Ensures consistent token generation - tokens: [{ - email: 'your-existing-token' // Preserve this token - }] -}); -``` - -### Migration Execution - -#### Pre-Migration Checklist - -- [ ] Migration scripts tested against sandbox -- [ ] Token mapping storage configured -- [ ] Rollback procedure documented -- [ ] Data validation queries prepared -- [ ] Monitoring in place for migration job - -#### During Migration - -1. **Start with small batch** - Validate before full migration -2. **Monitor progress** - Track records migrated, errors -3. **Validate continuously** - Spot check migrated data -4. **Keep logs** - Record all operations for audit - -#### Post-Migration Validation - -```javascript -// Validate migration completeness -async function validateMigration() { - const sourceCount = await getSourceRecordCount(); - const skyflowCount = await getSkyflowRecordCount(); - - if (sourceCount !== skyflowCount) { - throw new Error(`Count mismatch: ${sourceCount} vs ${skyflowCount}`); - } - - // Spot check random records - const sampleIds = await getRandomSourceIds(100); - for (const id of sampleIds) { - const sourceRecord = await getSourceRecord(id); - const skyflowRecord = await getSkyflowRecord(id); - - // Compare non-sensitive fields directly - // Compare sensitive fields via detokenization - } -} -``` - -### Migration Checklist - -- [ ] Data inventory complete -- [ ] Token mapping strategy defined -- [ ] Migration scripts developed and tested -- [ ] Small batch migration successful -- [ ] Full migration executed -- [ ] Post-migration validation passed -- [ ] Application updated to use Skyflow tokens -- [ ] Old data securely archived or deleted - -## Launch - -### Pre-Launch Checklist - -#### Technical Readiness - -- [ ] All tests passing in production environment -- [ ] Production vault contains migrated data (if applicable) -- [ ] Application configured for production Skyflow -- [ ] Monitoring and alerting active -- [ ] Logs streaming correctly (no PII) - -#### Operational Readiness - -- [ ] Runbook documented for common issues -- [ ] On-call team briefed on Skyflow integration -- [ ] Escalation path to Skyflow support defined -- [ ] Rollback procedure documented and tested - -#### Business Readiness - -- [ ] Stakeholders notified of launch plan -- [ ] Success criteria defined -- [ ] Go/no-go decision made - -### Launch Approaches - -#### Approach 1: Big Bang - -Switch all traffic to Skyflow at once. - -**Pros:** Simple, clean cutover -**Cons:** Higher risk, all-or-nothing - -**Steps:** -1. Deploy updated application -2. Switch configuration to production Skyflow -3. Monitor closely for 24-48 hours - -#### Approach 2: Staged Rollout - -Gradually increase traffic to Skyflow. - -**Pros:** Lower risk, can catch issues early -**Cons:** More complex, requires traffic splitting - -**Steps:** -1. Deploy with feature flag -2. Enable for 1% of traffic -3. Monitor and increase gradually (1% → 5% → 25% → 50% → 100%) - -#### Approach 3: Canary Deployment - -Test with specific user segments first. - -**Pros:** Real user validation, controlled blast radius -**Cons:** Requires user segmentation capability - -**Steps:** -1. Identify canary user group (internal users, beta testers) -2. Enable Skyflow for canary group -3. Gather feedback and metrics -4. Expand to all users - -### Launch Day Checklist - -#### Morning of Launch - -- [ ] Verify production systems are healthy -- [ ] Confirm team availability for monitoring -- [ ] Review rollback procedure -- [ ] Final go/no-go call - -#### During Launch - -- [ ] Deploy changes per rollout plan -- [ ] Monitor error rates closely -- [ ] Watch API latency metrics -- [ ] Track key business metrics -- [ ] Be ready to rollback if issues arise - -#### Post-Launch - -- [ ] Confirm all systems stable -- [ ] Review any errors that occurred -- [ ] Document lessons learned -- [ ] Celebrate success! - -### Rollback Procedure - -If issues arise, be prepared to rollback: - -1. **Identify the issue** - Is it Skyflow-related or application-related? -2. **Assess severity** - Can users work around it? -3. **Decision** - Rollback or hotfix? - -**Rollback steps:** - -```bash -# If using feature flags -disable_skyflow_feature_flag() - -# If using deployment rollback -kubectl rollout undo deployment/app -# or -heroku rollback -# or -revert to previous deployment -``` - -**Post-rollback:** -1. Communicate to stakeholders -2. Investigate root cause -3. Fix issue in development -4. Plan re-launch - -## Post-Launch - -### Monitoring - -Set up ongoing monitoring for: - -| Metric | Alert Threshold | Action | -|--------|-----------------|--------| -| API error rate | > 1% | Investigate errors | -| API latency (p99) | > 500ms | Check for issues | -| Authentication failures | Any | Check credentials | -| Rate limit hits | > 10/min | Review usage patterns | - -### Ongoing Operations - -#### Regular Tasks - -| Task | Frequency | Owner | -|------|-----------|-------| -| Credential rotation | Monthly | DevOps | -| Access review | Quarterly | Security | -| Schema review | As needed | Engineering | -| Performance review | Monthly | Engineering | - -#### Support Resources - -- **Skyflow Support:** support@skyflow.com (for production issues) -- **Documentation:** docs.skyflow.com -- **Status Page:** skyflow.statuspage.io - -### Success Metrics - -Track these metrics to measure implementation success: - -| Metric | Target | Current | -|--------|--------|---------| -| Data breach incidents | 0 | | -| Compliance audit findings | 0 | | -| API availability | 99.9% | | -| Mean time to resolution | < 1 hour | | - -## Go Live Phase Completion Checklist - -- [ ] Production vault created and configured -- [ ] Production service accounts created -- [ ] Security review completed and approved -- [ ] Data migration completed (if applicable) -- [ ] Application deployed to production -- [ ] Monitoring and alerting active -- [ ] Runbook documented -- [ ] Rollback procedure tested -- [ ] Launch executed successfully -- [ ] Post-launch validation complete - -Congratulations on going live with Skyflow! - -## Related Documentation - -- [security-checklist.md](security-checklist.md) - Complete security review checklist -- [templates/implementation-plan.md](templates/implementation-plan.md) - Implementation plan template -- [Skyflow Status Page](https://skyflow.statuspage.io/) - Real-time status updates diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/security-checklist.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/security-checklist.md deleted file mode 100644 index 0c6146f..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/security-checklist.md +++ /dev/null @@ -1,307 +0,0 @@ -# Security Review Checklist - -Complete this checklist before going live with your Skyflow implementation. This comprehensive review ensures your integration follows security best practices and is ready for production. - -## How to Use This Checklist - -1. Review each section with your development team -2. Mark items as complete when verified -3. Document any exceptions or mitigations -4. Address all critical items before launch -5. Schedule follow-up for any deferred items - ---- - -## 1. Credential Management - -### Service Account Security - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Service account credentials never committed to version control | Critical | [ ] | | -| Credentials stored in secrets manager (AWS Secrets Manager, HashiCorp Vault, etc.) | Critical | [ ] | | -| Separate service accounts for each environment (dev, staging, prod) | High | [ ] | | -| Separate service accounts for different services/applications | High | [ ] | | -| Service accounts have minimum required permissions | Critical | [ ] | | -| Credential rotation policy defined (monthly recommended) | High | [ ] | | -| Process documented for credential rotation | Medium | [ ] | | - -### Bearer Token Security - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Bearer tokens generated server-side only | Critical | [ ] | | -| Tokens never exposed in client-side code | Critical | [ ] | | -| Token refresh logic implemented | High | [ ] | | -| Token caching respects expiration (60 min max) | High | [ ] | | -| Failed token generation handled gracefully | Medium | [ ] | | - -### Environment Variables - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Sensitive environment variables not logged | Critical | [ ] | | -| Environment variables set at deployment, not in code | High | [ ] | | -| Different values for each environment | High | [ ] | | -| Production values not accessible from dev environments | High | [ ] | | - ---- - -## 2. Access Control - -### Role Design - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Principle of least privilege applied to all roles | Critical | [ ] | | -| No overly permissive roles (avoid "full access") | High | [ ] | | -| Roles documented with their intended purpose | Medium | [ ] | | -| Separate roles for human users vs service accounts | High | [ ] | | -| Admin roles restricted to minimum necessary personnel | Critical | [ ] | | - -### Policy Configuration - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Custom policies restrict access to specific tables/columns | High | [ ] | | -| Detokenization limited to roles that truly need it | Critical | [ ] | | -| Redaction rules appropriate for each role | High | [ ] | | -| Policies tested in non-production environment | High | [ ] | | -| Deny rules in place for sensitive columns | High | [ ] | | - -### Access Reviews - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Process defined for regular access reviews | Medium | [ ] | | -| Offboarding process includes Skyflow access removal | High | [ ] | | -| Service account usage reviewed periodically | Medium | [ ] | | - ---- - -## 3. Data Handling - -### PII Protection - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| No PII in application logs | Critical | [ ] | | -| No PII in error messages | Critical | [ ] | | -| No PII in URLs or query parameters | Critical | [ ] | | -| No PII in client-side storage (localStorage, cookies) | Critical | [ ] | | -| Tokens used in place of PII throughout application | High | [ ] | | - -### Logging Security - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Log statements reviewed for PII leakage | Critical | [ ] | | -| Skyflow tokens (not plain text) in logs if needed | High | [ ] | | -| Log levels appropriate for production | Medium | [ ] | | -| Sensitive API responses not logged | Critical | [ ] | | -| Request/response bodies sanitized before logging | High | [ ] | | - -### Data Flow - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Sensitive data collected via Skyflow Elements | High | [ ] | | -| Plain text PII never stored in your database | Critical | [ ] | | -| Tokens used for all downstream operations | High | [ ] | | -| Detokenized data not cached longer than necessary | High | [ ] | | - ---- - -## 4. Transport Security - -### HTTPS Configuration - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| All Skyflow API calls over HTTPS | Critical | [ ] | | -| TLS 1.2 or higher enforced | High | [ ] | | -| Certificate validation enabled (no skip-verify) | Critical | [ ] | | -| HSTS enabled for web applications | Medium | [ ] | | - -### Network Security - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Skyflow API endpoints whitelisted if using firewall | High | [ ] | | -| No sensitive data in URLs (use POST bodies) | Critical | [ ] | | -| API responses not cached by intermediaries | Medium | [ ] | | - ---- - -## 5. Application Security - -### Input Validation - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| User inputs validated before processing | High | [ ] | | -| Skyflow validation rules configured for fields | Medium | [ ] | | -| Input length limits enforced | Medium | [ ] | | -| SQL injection prevention in place | Critical | [ ] | | - -### Output Encoding - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Output encoding for XSS prevention | High | [ ] | | -| Content-Type headers set correctly | Medium | [ ] | | -| JSON responses properly escaped | Medium | [ ] | | - -### Error Handling - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Error messages don't leak sensitive information | Critical | [ ] | | -| Stack traces not exposed to users | High | [ ] | | -| Skyflow errors handled gracefully | High | [ ] | | -| Fallback behavior defined for Skyflow unavailability | Medium | [ ] | | - -### Rate Limiting - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Retry logic with exponential backoff implemented | High | [ ] | | -| Rate limit errors (429) handled appropriately | High | [ ] | | -| Circuit breaker pattern considered for high-volume | Medium | [ ] | | - ---- - -## 6. Audit and Monitoring - -### Audit Logging - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Skyflow audit logs enabled | High | [ ] | | -| Audit logs exported to SIEM if required | Medium | [ ] | | -| Audit log retention meets compliance requirements | High | [ ] | | -| Process for reviewing audit logs defined | Medium | [ ] | | - -### Application Monitoring - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Skyflow API latency monitored | High | [ ] | | -| Skyflow API error rates monitored | High | [ ] | | -| Authentication failures alerted | Critical | [ ] | | -| Unusual access patterns detectable | Medium | [ ] | | - -### Alerting - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Alerts configured for authentication failures | High | [ ] | | -| Alerts configured for elevated error rates | High | [ ] | | -| Alerts configured for rate limit hits | Medium | [ ] | | -| On-call team can receive alerts | High | [ ] | | - ---- - -## 7. Compliance-Specific Checks - -### PCI-DSS (if storing payment data) - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Card data collected via Skyflow Elements only | Critical | [ ] | | -| CVV stored transiently (15 min max TTL) | Critical | [ ] | | -| Full card numbers never visible to application | Critical | [ ] | | -| Quarterly PCI scan scheduled | High | [ ] | | -| SAQ-A eligibility confirmed | High | [ ] | | - -### HIPAA (if storing healthcare data) - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| BAA executed with Skyflow | Critical | [ ] | | -| All PHI fields tagged with HIPAA compliance | High | [ ] | | -| Minimum necessary access implemented | Critical | [ ] | | -| Audit logging meets HIPAA requirements | High | [ ] | | -| Breach notification process documented | High | [ ] | | - -### GDPR/CCPA (if storing EU/CA consumer data) - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Data subject access request process implemented | High | [ ] | | -| Right to deletion supported | High | [ ] | | -| Data portability export available | Medium | [ ] | | -| Privacy law tags applied to relevant fields | Medium | [ ] | | -| Data retention policies configured | High | [ ] | | - ---- - -## 8. Operational Readiness - -### Documentation - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Runbook for common issues documented | High | [ ] | | -| Architecture diagram up to date | Medium | [ ] | | -| API integration documented | Medium | [ ] | | -| Escalation path to Skyflow support defined | High | [ ] | | - -### Incident Response - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Incident response plan includes Skyflow | High | [ ] | | -| Rollback procedure documented and tested | High | [ ] | | -| Contact information for Skyflow support available | High | [ ] | | -| Team trained on Skyflow-related incidents | Medium | [ ] | | - -### Business Continuity - -| Check | Priority | Status | Notes | -|-------|----------|--------|-------| -| Skyflow status page monitored | Medium | [ ] | | -| Graceful degradation if Skyflow unavailable | Medium | [ ] | | -| Recovery procedures documented | Medium | [ ] | | - ---- - -## Summary - -### Critical Items (Must Complete Before Launch) - -Count all items marked "Critical" that are not yet complete: - -- [ ] All critical credential management items complete -- [ ] All critical access control items complete -- [ ] All critical data handling items complete -- [ ] All critical transport security items complete -- [ ] All critical application security items complete - -### Sign-Off - -| Role | Name | Date | Signature | -|------|------|------|-----------| -| Security Lead | | | | -| Engineering Lead | | | | -| Compliance Officer | | | | - ---- - -## Post-Launch Security - -### Ongoing Tasks - -| Task | Frequency | Owner | -|------|-----------|-------| -| Credential rotation | Monthly | | -| Access review | Quarterly | | -| Security assessment | Annually | | -| Audit log review | Weekly | | -| Penetration testing | Annually | | - -### Resources - -- **Skyflow Security Documentation**: [docs.skyflow.com/security](https://docs.skyflow.com/security) -- **Skyflow Status Page**: [skyflow.statuspage.io](https://skyflow.statuspage.io) -- **Skyflow Support**: support@skyflow.com diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/data-inventory.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/data-inventory.md deleted file mode 100644 index 1cf352c..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/data-inventory.md +++ /dev/null @@ -1,282 +0,0 @@ -# Data Inventory Worksheet - -Use this worksheet to inventory all sensitive data in your system before designing your Skyflow vault schema. - ---- - -## Project Information - -| Field | Value | -|-------|-------| -| **Project Name** | | -| **Date** | | -| **Completed By** | | - ---- - -## Part 1: Sensitive Data Identification - -### What sensitive data do you collect? - -Check all that apply and list specific fields: - -#### Personal Identifiable Information (PII) - -- [ ] **Names** - - Fields: ________________________________________________ - - Example: first_name, last_name, full_name - -- [ ] **Email addresses** - - Fields: ________________________________________________ - - Example: email, work_email, personal_email - -- [ ] **Phone numbers** - - Fields: ________________________________________________ - - Example: phone, mobile, work_phone - -- [ ] **Physical addresses** - - Fields: ________________________________________________ - - Example: street, city, state, zip, country - -- [ ] **Date of birth** - - Fields: ________________________________________________ - -- [ ] **Government IDs (SSN, Tax ID, etc.)** - - Fields: ________________________________________________ - - Example: ssn, tax_id, national_id - -- [ ] **Driver's license / Passport** - - Fields: ________________________________________________ - - Example: dl_number, passport_number - -- [ ] **Other PII** - - Fields: ________________________________________________ - -#### Payment Card Information (PCI) - -- [ ] **Credit/debit card numbers** - - Fields: ________________________________________________ - -- [ ] **Card verification value (CVV/CVC)** - - Fields: ________________________________________________ - -- [ ] **Card expiration date** - - Fields: ________________________________________________ - -- [ ] **Cardholder name** - - Fields: ________________________________________________ - -- [ ] **Bank account numbers** - - Fields: ________________________________________________ - -- [ ] **Routing numbers** - - Fields: ________________________________________________ - -#### Protected Health Information (PHI) - -- [ ] **Medical record numbers** - - Fields: ________________________________________________ - -- [ ] **Diagnoses / Conditions** - - Fields: ________________________________________________ - -- [ ] **Treatment information** - - Fields: ________________________________________________ - -- [ ] **Prescription information** - - Fields: ________________________________________________ - -- [ ] **Insurance information** - - Fields: ________________________________________________ - -- [ ] **Provider information** - - Fields: ________________________________________________ - -#### Non-Public Personal Information (NPI) - -- [ ] **Financial account information** - - Fields: ________________________________________________ - -- [ ] **Investment information** - - Fields: ________________________________________________ - -- [ ] **Income / Salary information** - - Fields: ________________________________________________ - -#### Other Sensitive Data - -- [ ] **Biometric data** - - Fields: ________________________________________________ - -- [ ] **Authentication credentials** - - Fields: ________________________________________________ - -- [ ] **Document images/files** - - Fields: ________________________________________________ - -- [ ] **Other** - - Fields: ________________________________________________ - ---- - -## Part 2: Data Sources - -### Where does sensitive data enter your system? - -| Source Type | Description | Data Fields Collected | -|-------------|-------------|----------------------| -| User Forms | | | -| Mobile App | | | -| API Integrations | | | -| File Uploads | | | -| Third-party Services | | | -| Data Imports | | | -| Other | | | - ---- - -## Part 3: Data Storage - -### Where is sensitive data currently stored? - -| Storage Location | Type | Data Fields Stored | Encryption? | -|-----------------|------|-------------------|-------------| -| Primary Database | [e.g., PostgreSQL] | | [ ] Yes [ ] No | -| Cache | [e.g., Redis] | | [ ] Yes [ ] No | -| File Storage | [e.g., S3] | | [ ] Yes [ ] No | -| Logs | | | [ ] Yes [ ] No | -| Third-party SaaS | | | [ ] Yes [ ] No | -| Other | | | [ ] Yes [ ] No | - ---- - -## Part 4: Data Processing - -### Which systems process sensitive data? - -| System/Service | Purpose | Data Fields Accessed | Access Level | -|---------------|---------|---------------------|--------------| -| Backend API | | | Read / Write / Both | -| Worker Jobs | | | Read / Write / Both | -| Analytics | | | Read / Write / Both | -| Reporting | | | Read / Write / Both | -| Third-party APIs | | | Read / Write / Both | -| Other | | | Read / Write / Both | - ---- - -## Part 5: Data Destinations - -### Where does sensitive data leave your system? - -| Destination | Purpose | Data Fields Sent | Method | -|-------------|---------|-----------------|--------| -| Email Provider | | | API / Webhook | -| Payment Processor | | | API / Webhook | -| Analytics Platform | | | API / Webhook | -| Third-party APIs | | | API / Webhook | -| Reports/Exports | | | File / API | -| Other | | | | - ---- - -## Part 6: Data Access - -### Who needs access to sensitive data? - -| Role | Data Fields Needed | Purpose | Access Level | -|------|-------------------|---------|--------------| -| | | | Full / Masked / Redacted | -| | | | Full / Masked / Redacted | -| | | | Full / Masked / Redacted | -| | | | Full / Masked / Redacted | -| | | | Full / Masked / Redacted | - ---- - -## Part 7: Compliance Requirements - -### Which regulations apply to your data? - -- [ ] **PCI-DSS** (Payment card data) - - Scope: ________________________________________________ - -- [ ] **HIPAA** (US healthcare data) - - Scope: ________________________________________________ - -- [ ] **GDPR** (EU personal data) - - Scope: ________________________________________________ - -- [ ] **CCPA** (California consumer data) - - Scope: ________________________________________________ - -- [ ] **SOC 2** (Service organization controls) - - Scope: ________________________________________________ - -- [ ] **Other** - - Regulation: ____________________________________________ - - Scope: ________________________________________________ - -### Compliance requirements by data field: - -| Data Field | Regulations | Retention Period | Deletion Required | -|------------|-------------|------------------|-------------------| -| | | | [ ] Yes [ ] No | -| | | | [ ] Yes [ ] No | -| | | | [ ] Yes [ ] No | - ---- - -## Part 8: Data Field Details - -### Complete this table for each sensitive data field: - -| Field Name | Data Type | Category | Tokenization | Redaction | Queryable | Unique | -|------------|-----------|----------|--------------|-----------|-----------|--------| -| | String/Int/Date/File | PII/PHI/PCI/NPI | Det/Non-det/FPT | Mask/Redact/Plain | Yes/No | Yes/No | -| | | | | | | | -| | | | | | | | -| | | | | | | | -| | | | | | | | -| | | | | | | | -| | | | | | | | -| | | | | | | | - -**Legend:** -- **Tokenization**: Det = Deterministic, Non-det = Non-deterministic, FPT = Format-preserving -- **Redaction**: Mask = Partial masking, Redact = Full redaction, Plain = No redaction - ---- - -## Part 9: Summary - -### Data Inventory Summary - -| Category | Field Count | Compliance Impact | -|----------|-------------|-------------------| -| PII | | | -| PHI | | | -| PCI | | | -| NPI | | | -| **Total** | | | - -### Key Decisions Needed - -1. [ ] Tokenization strategy for each field -2. [ ] Redaction rules for each role -3. [ ] Retention policies -4. [ ] Access control matrix -5. [ ] Migration approach for existing data - -### Next Steps - -- [ ] Review inventory with stakeholders -- [ ] Design vault schema based on inventory -- [ ] Create access control matrix -- [ ] Plan data migration (if applicable) - ---- - -## Notes - -[Additional notes, questions, or concerns about the data inventory] diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/implementation-plan.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/implementation-plan.md deleted file mode 100644 index d0515d1..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/templates/implementation-plan.md +++ /dev/null @@ -1,277 +0,0 @@ -# Skyflow Implementation Plan - -**Project Name**: [Project Name] -**Date Created**: [Date] -**Owner**: [Name/Team] -**Last Updated**: [Date] - ---- - -## Executive Summary - -| Attribute | Value | -|-----------|-------| -| **Use Case** | [Payment Processing / Healthcare / Identity / AI-LLM / General PII] | -| **Primary Compliance** | [PCI-DSS / HIPAA / GDPR / CCPA / None] | -| **Target Launch Date** | [Date] | -| **Estimated Duration** | [X weeks] | -| **Team Size** | [N people] | - -### Project Description - -[2-3 sentences describing what you're building and why Skyflow is being integrated] - -### Success Criteria - -- [ ] [Criterion 1 - e.g., All PII tokenized before storage] -- [ ] [Criterion 2 - e.g., PCI compliance achieved] -- [ ] [Criterion 3 - e.g., Zero plain-text PII in application logs] - ---- - -## Data Inventory - -### Sensitive Data Fields - -| Field Name | Data Type | Category | Source | Compliance | Tokenization Type | -|------------|-----------|----------|--------|------------|-------------------| -| | | | | | | -| | | | | | | -| | | | | | | - -**Categories**: PII, PHI, PCI, NPI -**Sources**: User form, API, Import, Third-party - -### Data Flow Diagram - -``` -[Describe or draw the flow of sensitive data through your system] - -User Input --> [Your Frontend] --> [Your Backend] --> [Skyflow Vault] - | - v - [Your Database] - (tokens only) -``` - ---- - -## Vault Schema Design - -### Tables - -| Table Name | Purpose | Key Fields | Relationships | -|------------|---------|------------|---------------| -| | | | | -| | | | | - -### Schema JSON - -```json -{ - "name": "[vault_name]", - "description": "[description]", - "vaultSchema": { - "schemas": [ - // Define your schema here - ] - } -} -``` - ---- - -## Integration Approach - -### Technology Stack - -| Component | Technology | Skyflow Integration | -|-----------|------------|---------------------| -| Backend | [e.g., Node.js, Python] | [SDK / API] | -| Frontend | [e.g., React, iOS] | [SDK / Elements] | -| Database | [e.g., PostgreSQL] | [Stores tokens] | - -### SDK Selection - -| Layer | SDK | Version | -|-------|-----|---------| -| Server | [e.g., skyflow-node] | | -| Client | [e.g., skyflow-react-js] | | - -### Integration Patterns - -- [ ] **Tokenize on Write**: Sensitive data tokenized at collection -- [ ] **Detokenize on Read**: Plain text retrieved for authorized users -- [ ] **Skyflow Elements**: Secure data collection in frontend -- [ ] **Connections**: Proxy to third-party services -- [ ] **Detect API**: De-identify text for LLM/AI - ---- - -## Access Control Matrix - -### Roles - -| Role Name | Type | Purpose | -|-----------|------|---------| -| | User / Service | | -| | User / Service | | - -### Permissions Matrix - -| Role | Table | Read | Write | Delete | Detokenize | Redaction | -|------|-------|------|-------|--------|------------|-----------| -| | | | | | | | -| | | | | | | | - -### Service Accounts - -| Account Name | Purpose | Permissions | -|--------------|---------|-------------| -| [e.g., prod-backend] | Main application | Insert, Read, Tokenize | -| [e.g., prod-analytics] | Reporting | Read (aggregations) | - ---- - -## Timeline - -### Phase 1: Define (Week [X] - Week [Y]) - -| Week | Tasks | Owner | Status | -|------|-------|-------|--------| -| | Complete data inventory | | [ ] | -| | Design vault schema | | [ ] | -| | Set up Skyflow account | | [ ] | -| | Create development vault | | [ ] | - -### Phase 2: Build (Week [X] - Week [Y]) - -| Week | Tasks | Owner | Status | -|------|-------|-------|--------| -| | Set up authentication | | [ ] | -| | Configure roles/policies | | [ ] | -| | Backend SDK integration | | [ ] | -| | Frontend SDK integration | | [ ] | -| | Unit tests | | [ ] | -| | Integration tests | | [ ] | - -### Phase 3: Go Live (Week [X] - Week [Y]) - -| Week | Tasks | Owner | Status | -|------|-------|-------|--------| -| | Security review | | [ ] | -| | Production environment setup | | [ ] | -| | Data migration (if applicable) | | [ ] | -| | Launch | | [ ] | - ---- - -## Risks and Mitigations - -| Risk | Likelihood | Impact | Mitigation | -|------|------------|--------|------------| -| [e.g., Schema changes after data inserted] | Medium | High | Finalize schema before inserting data | -| [e.g., Third-party URL not whitelisted] | Low | High | Request whitelist early | -| | | | | - ---- - -## Dependencies - -| Dependency | Status | Owner | Notes | -|------------|--------|-------|-------| -| Skyflow account provisioned | [ ] | | | -| Service account credentials | [ ] | | | -| Third-party URLs whitelisted | [ ] | | | -| Secrets manager configured | [ ] | | | - ---- - -## Testing Strategy - -### Test Environments - -| Environment | Vault | Purpose | -|-------------|-------|---------| -| Development | [dev vault ID] | Local development | -| Staging | [staging vault ID] | Integration testing | -| Production | [prod vault ID] | Live traffic | - -### Test Cases - -| Category | Test Case | Status | -|----------|-----------|--------| -| Functional | Insert and retrieve record | [ ] | -| Functional | Tokenize and detokenize | [ ] | -| Security | Unauthorized access blocked | [ ] | -| Security | Correct redaction applied | [ ] | -| Performance | Bulk insert within SLA | [ ] | -| Error Handling | Network errors handled | [ ] | - ---- - -## Go-Live Checklist - -### Pre-Launch - -- [ ] All development tests passing -- [ ] Security review completed -- [ ] Production vault created -- [ ] Production service accounts created -- [ ] Monitoring and alerting configured -- [ ] Runbook documented -- [ ] Rollback procedure tested - -### Launch - -- [ ] Deploy to production -- [ ] Enable traffic to Skyflow -- [ ] Monitor error rates -- [ ] Validate data flow - -### Post-Launch - -- [ ] Confirm all systems stable -- [ ] Document lessons learned -- [ ] Schedule follow-up review - ---- - -## Resources - -### Team - -| Name | Role | Responsibilities | -|------|------|------------------| -| | Project Lead | Overall coordination | -| | Backend Dev | SDK integration | -| | Frontend Dev | Elements integration | -| | Security | Review and approval | - -### Skyflow Contacts - -| Contact | Role | Email | -|---------|------|-------| -| | Account Manager | | -| | Technical Contact | | - -### Documentation Links - -- Skyflow Documentation: [docs.skyflow.com](https://docs.skyflow.com) -- API Reference: [docs.skyflow.com/api](https://docs.skyflow.com/api) -- SDK Guides: [docs.skyflow.com/sdks](https://docs.skyflow.com/sdks) - ---- - -## Notes - -[Additional notes, decisions, or context for this implementation] - ---- - -## Revision History - -| Date | Version | Author | Changes | -|------|---------|--------|---------| -| | 1.0 | | Initial plan | -| | | | | diff --git a/skyflow-skills-plugin/skills/plan-skyflow-implementation/use-case-patterns.md b/skyflow-skills-plugin/skills/plan-skyflow-implementation/use-case-patterns.md deleted file mode 100644 index 0d8ae08..0000000 --- a/skyflow-skills-plugin/skills/plan-skyflow-implementation/use-case-patterns.md +++ /dev/null @@ -1,698 +0,0 @@ -# Use Case Patterns - -This guide provides pre-built implementation patterns for common Skyflow use cases. Use these patterns as starting points and customize based on your specific requirements. - -## Payment Processing (PCI) - -### Overview - -| Aspect | Details | -|--------|---------| -| **Primary Compliance** | PCI-DSS | -| **Data Types** | Card numbers, CVV, expiration dates | -| **Typical Timeline** | 4-6 weeks | -| **Key Features** | Tokenization, transient CVV storage, format-preserving tokens | - -### Recommended Schema - -```json -{ - "name": "payments_vault", - "vaultSchema": { - "schemas": [ - { - "name": "cards", - "fields": [ - { - "name": "card_number", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.CardNumber"]}, - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_FPT"]}, - {"name": "skyflow.options.format_preserving_regex", "values": ["^[0-9]{12}([0-9]{4})$"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^([0-9]{4})[0-9]{8}([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["${1} **** **** ${2}"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PCI"]} - ] - }, - { - "name": "cvv", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.CVV"]}, - {"name": "skyflow.options.default_token_policy", "values": ["NON_DETERMINISTIC_TRANSIENT_UUID"]}, - {"name": "skyflow.options.ttl", "values": ["15"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PCI"]} - ] - }, - { - "name": "expiry_month", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["PLAIN_TEXT"]} - ] - }, - { - "name": "expiry_year", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["PLAIN_TEXT"]} - ] - }, - { - "name": "cardholder_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PII"]} - ] - } - ] - }, - { - "name": "transactions", - "fields": [ - { - "name": "card_skyflow_id", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]} - ] - }, - { - "name": "amount", - "datatype": "DT_FLOAT32", - "tags": [ - {"name": "skyflow.options.operation", "values": ["AGGREGATION"]} - ] - }, - { - "name": "status", - "datatype": "DT_STRING" - } - ] - } - ] - } -} -``` - -### Integration Pattern - -``` -User Browser Your Backend Skyflow Payment Processor - │ │ │ │ - │ 1. Enter card details │ │ │ - │ (via Skyflow Elements) │ │ │ - │─────────────────────────────>│ │ │ - │ │ │ │ - │ │ 2. Collect & tokenize │ │ - │ │─────────────────────────────>│ │ - │ │ │ │ - │ │ 3. Return tokens │ │ - │ │<─────────────────────────────│ │ - │ │ │ │ - │ 4. Return tokens │ │ │ - │<─────────────────────────────│ │ │ - │ │ │ │ - │ 5. Submit payment │ │ │ - │─────────────────────────────>│ │ │ - │ │ │ │ - │ │ 6. Process via Connection │ │ - │ │─────────────────────────────>│ │ - │ │ │ 7. Detokenize & forward │ - │ │ │─────────────────────────────>│ - │ │ │ │ -``` - -### PCI Compliance Checklist - -- [ ] Card data never touches your servers (use Skyflow Elements) -- [ ] CVV stored transiently (15-minute TTL max) -- [ ] Card numbers tokenized with format-preserving tokens -- [ ] Access to plain card numbers strictly limited -- [ ] Audit logging enabled for all card access -- [ ] Annual PCI assessment scheduled - -### Access Control Matrix - -| Role | Cards Table | Transactions Table | Detokenize | -|------|-------------|-------------------|------------| -| Frontend (collection) | Insert | - | No | -| Backend (processing) | Read (masked) | Insert, Read | Via Connection only | -| Support | Read (masked) | Read | Last 4 only | -| Admin | Full | Full | Yes (audited) | - ---- - -## Healthcare (HIPAA/PHI) - -### Overview - -| Aspect | Details | -|--------|---------| -| **Primary Compliance** | HIPAA | -| **Data Types** | Medical records, SSN, insurance info | -| **Typical Timeline** | 6-8 weeks | -| **Key Features** | Audit logging, strict access controls, data retention | - -### Recommended Schema - -```json -{ - "name": "healthcare_vault", - "vaultSchema": { - "schemas": [ - { - "name": "patients", - "fields": [ - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_DATE", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "ssn", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.data_type", "values": ["skyflow.SSN"]}, - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_FPT"]}, - {"name": "skyflow.options.format_preserving_regex", "values": ["^[0-9]{3}-[0-9]{2}-([0-9]{4})$"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^([0-9]{3})-([0-9]{2})-([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["XXX-XX-${3}"]}, - {"name": "skyflow.options.sensitivity", "values": ["HIGH"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI", "PII"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "medical_record_number", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.configuration_tags", "values": ["UNIQUE"]}, - {"name": "skyflow.options.operation", "values": ["EXACT_MATCH"]} - ] - } - ] - }, - { - "name": "medical_records", - "fields": [ - { - "name": "patient_skyflow_id", - "datatype": "DT_STRING" - }, - { - "name": "diagnosis", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "treatment_notes", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PHI"]}, - {"name": "skyflow.options.privacy_law", "values": ["HIPAA"]} - ] - }, - { - "name": "provider_id", - "datatype": "DT_STRING" - }, - { - "name": "visit_date", - "datatype": "DT_DATETIME" - } - ] - } - ] - } -} -``` - -### HIPAA Compliance Checklist - -- [ ] All PHI fields tagged with HIPAA compliance -- [ ] Audit logging enabled for all data access -- [ ] Role-based access control implemented -- [ ] Minimum necessary access principle applied -- [ ] Business Associate Agreement (BAA) with Skyflow -- [ ] Data retention policies configured -- [ ] Breach notification procedures documented - -### Access Control Matrix - -| Role | Patients | Medical Records | Detokenize | -|------|----------|-----------------|------------| -| Physician | Read (plain text) | Read, Insert (plain text) | Yes (own patients) | -| Nurse | Read (masked) | Read (masked) | Limited fields | -| Admin Staff | Read (masked) | - | No | -| Billing | Limited fields | Limited fields | Insurance only | -| Auditor | Metadata only | Metadata only | No | - ---- - -## Identity & KYC - -### Overview - -| Aspect | Details | -|--------|---------| -| **Primary Compliance** | KYC/AML regulations | -| **Data Types** | Government IDs, addresses, documents | -| **Typical Timeline** | 4-6 weeks | -| **Key Features** | Document storage, verification workflows | - -### Recommended Schema - -```json -{ - "name": "identity_vault", - "vaultSchema": { - "schemas": [ - { - "name": "persons", - "fields": [ - { - "name": "full_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PII"]} - ] - }, - { - "name": "email", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.{2})(.*)(@.*)$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["${1}***${3}"]}, - {"name": "skyflow.options.configuration_tags", "values": ["UNIQUE"]}, - {"name": "skyflow.options.operation", "values": ["EXACT_MATCH"]} - ] - }, - { - "name": "phone", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.*)([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["***-***-${2}"]} - ] - }, - { - "name": "date_of_birth", - "datatype": "DT_DATE", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]} - ] - } - ] - }, - { - "name": "identifiers", - "fields": [ - { - "name": "person_skyflow_id", - "datatype": "DT_STRING" - }, - { - "name": "id_type", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.validation.predefinedvalues", "values": ["PASSPORT", "DRIVERS_LICENSE", "SSN", "NATIONAL_ID"]} - ] - }, - { - "name": "id_number", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.*)(.{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["****${2}"]}, - {"name": "skyflow.options.sensitivity", "values": ["HIGH"]} - ] - }, - { - "name": "expiry_date", - "datatype": "DT_DATE" - }, - { - "name": "verification_status", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.validation.predefinedvalues", "values": ["PENDING", "VERIFIED", "REJECTED", "EXPIRED"]} - ] - } - ] - }, - { - "name": "documents", - "fields": [ - { - "name": "person_skyflow_id", - "datatype": "DT_STRING" - }, - { - "name": "document_type", - "datatype": "DT_STRING" - }, - { - "name": "document_file", - "datatype": "DT_FILE", - "tags": [ - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]} - ] - }, - { - "name": "uploaded_at", - "datatype": "DT_DATETIME" - } - ] - } - ] - } -} -``` - -### KYC Workflow - -``` -1. User Onboarding - └─> Collect identity info via Skyflow Elements - └─> Store tokenized, return tokens - -2. Document Upload - └─> Upload ID documents to Skyflow (DT_FILE) - └─> Store securely, return document token - -3. Verification - └─> Send to verification service via Connection - └─> Skyflow detokenizes and forwards - └─> Receive verification result - -4. Ongoing Access - └─> Display masked data to support - └─> Full access only for compliance team -``` - ---- - -## AI/LLM Data Protection - -### Overview - -| Aspect | Details | -|--------|---------| -| **Primary Use** | Protect PII in LLM workflows | -| **Data Types** | Any text containing PII | -| **Typical Timeline** | 3-4 weeks | -| **Key Features** | Detect API, de-identification, re-identification | - -### Integration Pattern - -``` -User Input Your Application Skyflow Detect LLM Provider - │ │ │ │ - │ "My SSN is 123-45-6789" │ │ │ - │──────────────────────────>│ │ │ - │ │ │ │ - │ │ 1. Detect & de-identify │ │ - │ │──────────────────────────>│ │ - │ │ │ │ - │ │ 2. "My SSN is [SSN_1]" │ │ - │ │<──────────────────────────│ │ - │ │ │ │ - │ │ 3. Send de-identified │ │ - │ │───────────────────────────────────────────────────>│ - │ │ │ │ - │ │ 4. LLM response with [SSN_1] │ - │ │<───────────────────────────────────────────────────│ - │ │ │ │ - │ │ 5. Re-identify response │ │ - │ │──────────────────────────>│ │ - │ │ │ │ - │ │ 6. Original values restored │ - │ │<──────────────────────────│ │ - │ │ │ │ - │ Response with real SSN │ │ │ - │<──────────────────────────│ │ │ -``` - -### Detect API Usage - -**De-identify text before sending to LLM:** - -```javascript -const response = await fetch('https://detect.skyflowapis.com/v1/detect/deidentify', { - method: 'POST', - headers: { - 'Authorization': `Bearer ${token}`, - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - text: userInput, - // Entities to detect and replace - entities: ['PERSON_NAME', 'EMAIL', 'PHONE', 'SSN', 'CREDIT_CARD'] - }) -}); - -const { deidentifiedText, entities } = await response.json(); -// deidentifiedText: "Hello, my name is [PERSON_1] and my email is [EMAIL_1]" -// entities: mapping of placeholders to tokens -``` - -**Re-identify response from LLM:** - -```javascript -const reidentifyResponse = await fetch('https://detect.skyflowapis.com/v1/detect/reidentify', { - method: 'POST', - headers: { - 'Authorization': `Bearer ${token}`, - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - text: llmResponse, - entities: entities // From de-identify response - }) -}); - -const { reidentifiedText } = await reidentifyResponse.json(); -// Original values restored in response -``` - -### Supported Entity Types - -| Entity | Examples | Use Case | -|--------|----------|----------| -| `PERSON_NAME` | John Smith | Customer names in prompts | -| `EMAIL` | john@example.com | Contact information | -| `PHONE` | (555) 123-4567 | Phone numbers | -| `SSN` | 123-45-6789 | Social security numbers | -| `CREDIT_CARD` | 4111-1111-1111-1111 | Card numbers | -| `ADDRESS` | 123 Main St | Physical addresses | -| `DATE_OF_BIRTH` | 01/15/1990 | Birthdates | - -### LLM Protection Checklist - -- [ ] Detect API integrated before LLM calls -- [ ] Entity types configured for your data -- [ ] Re-identification implemented for responses -- [ ] Tokens stored for audit/compliance -- [ ] Fallback handling for detection failures -- [ ] Logging excludes PII - ---- - -## General PII Protection - -### Overview - -| Aspect | Details | -|--------|---------| -| **Primary Compliance** | GDPR, CCPA | -| **Data Types** | Customer data, employee data | -| **Typical Timeline** | 3-5 weeks | -| **Key Features** | Tokenization, access control, data subject rights | - -### Recommended Schema - -```json -{ - "name": "pii_vault", - "vaultSchema": { - "schemas": [ - { - "name": "customers", - "fields": [ - { - "name": "first_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PII"]}, - {"name": "skyflow.options.privacy_law", "values": ["GDPR", "CCPA"]} - ] - }, - { - "name": "last_name", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]}, - {"name": "skyflow.options.personal_information_type", "values": ["PII"]}, - {"name": "skyflow.options.privacy_law", "values": ["GDPR", "CCPA"]} - ] - }, - { - "name": "email", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.{2})(.*)(@.*)$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["${1}***${3}"]}, - {"name": "skyflow.options.configuration_tags", "values": ["UNIQUE"]}, - {"name": "skyflow.options.operation", "values": ["EXACT_MATCH"]}, - {"name": "skyflow.options.privacy_law", "values": ["GDPR", "CCPA"]} - ] - }, - { - "name": "phone", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["MASK"]}, - {"name": "skyflow.options.find_pattern", "values": ["^(.*)([0-9]{4})$"]}, - {"name": "skyflow.options.replace_pattern", "values": ["***-***-${2}"]} - ] - }, - { - "name": "address", - "datatype": "DT_STRING", - "tags": [ - {"name": "skyflow.options.default_token_policy", "values": ["DETERMINISTIC_UUID"]}, - {"name": "skyflow.options.default_dlp_policy", "values": ["REDACT"]} - ] - } - ] - } - ] - } -} -``` - -### GDPR/CCPA Compliance Checklist - -- [ ] All PII fields tagged with applicable privacy laws -- [ ] Data subject access request (DSAR) process implemented -- [ ] Right to deletion supported -- [ ] Data portability export available -- [ ] Consent management integrated -- [ ] Data retention policies configured -- [ ] Cross-border transfer controls in place - -### Data Subject Rights Implementation - -#### Right to Access (DSAR) - -```javascript -// Export all data for a user -async function handleDSAR(userId) { - const records = await skyflowClient.get({ - records: [{ - table: 'customers', - ids: [userId], - redaction: 'PLAIN_TEXT' // Full access for data subject - }] - }); - - return formatForExport(records); -} -``` - -#### Right to Deletion - -```javascript -// Delete user data -async function handleDeletionRequest(userId) { - await skyflowClient.delete({ - records: [{ - table: 'customers', - ids: [userId] - }] - }); - - // Log deletion for compliance - await logDeletionEvent(userId); -} -``` - ---- - -## Choosing the Right Pattern - -| If You Need | Use This Pattern | -|-------------|------------------| -| Credit card storage | Payment Processing (PCI) | -| Medical data | Healthcare (HIPAA/PHI) | -| User verification | Identity & KYC | -| LLM/AI protection | AI/LLM Data Protection | -| Customer data | General PII Protection | - -### Combining Patterns - -Many implementations combine multiple patterns. For example: - -- **E-commerce**: Payment + General PII -- **Healthcare portal**: Healthcare + Payment -- **Fintech**: Payment + Identity + General PII -- **AI assistants**: AI/LLM + any other pattern - -When combining patterns, create separate tables for each data type and apply the appropriate compliance tags and access controls to each. diff --git a/skyflow-skills-plugin/skills/quickstart-js-browser/SKILL.md b/skyflow-skills-plugin/skills/quickstart-js-browser/SKILL.md deleted file mode 100644 index 0d9d729..0000000 --- a/skyflow-skills-plugin/skills/quickstart-js-browser/SKILL.md +++ /dev/null @@ -1,447 +0,0 @@ ---- -name: quickstart-js-browser -description: Set up a standalone front-end project using Vite and the skyflow-js SDK to collect sensitive data with Skyflow Elements (secure iframe-based input fields). Use when building a browser-based form that tokenizes credit card numbers, PII, or other sensitive data. Relevant for skyflow-js, Skyflow Elements, secure iframe inputs, client-side tokenization with Skyflow, or setting up a Vite project with Skyflow. ---- - -# Quickstart: Skyflow Elements with Vite - -Set up a standalone front-end project using Vite to collect -sensitive data with Skyflow Elements from the `skyflow-js` SDK. - -Skyflow Elements are secure, pre-built iframe-based input fields. -Sensitive data typed into these fields never touches your -application code — it goes directly to your Skyflow vault and -returns tokens. - -## Prerequisites - -- Node.js (LTS recommended) -- A Skyflow vault with at least one table and columns for the - data you want to collect -- A bearer token for vault access (from your Skyflow dashboard - or a token generation endpoint) - -## Steps - -### 1) Scaffold the project - -```sh -mkdir skyflow-elements-demo -cd skyflow-elements-demo -npm init -y -``` - -Add the following fields to the generated `package.json` (merge with existing content): - -```json -{ - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" - } -} -``` - -### 2) Install dependencies - -```sh -npm install skyflow-js -npm install -D vite typescript -``` - -### 3) Add Vite config - -Create `vite.config.ts` at the project root: - -```ts -import { defineConfig } from "vite"; - -export default defineConfig({ - server: { - port: 5173, - }, -}); -``` - -### 4) Configure TypeScript - -Create `tsconfig.json` at the project root: - -```json -{ - "compilerOptions": { - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "bundler", - "strict": true, - "skipLibCheck": true - }, - "include": ["src"] -} -``` - -Create `src/vite-env.d.ts` so TypeScript understands Vite's `import.meta.env`: - -```ts -/// -``` - -### 5) Configure environment variables - -Create `.env.local` at the project root: - -```sh -# Your Skyflow vault ID (found in Skyflow Studio under vault settings) -VITE_SKYFLOW_VAULT_ID=your_vault_id_here - -# Your Skyflow vault URL (e.g. https://ebfc9bee4242.vault.skyflowapis.com) -VITE_SKYFLOW_VAULT_URL=https://your-vault-url.vault.skyflowapis.com - -# A bearer token for vault access (for demo/development only — see production notes below) -VITE_SKYFLOW_BEARER_TOKEN=your_bearer_token_here -``` - -> **Note:** Bearer tokens expire after ~60 minutes. For development, you can paste a fresh token here. For production, use a token endpoint instead (see Production Hardening below). - -### 6) Create the HTML page - -Create `index.html` at the project root. Skyflow Elements render as iframes — mount targets **must have an explicit height** or the iframes default to 0px and are invisible: - -```html - - - - - - Skyflow Elements Demo - - - -

      Skyflow Elements Demo

      - - -
      - Card number -
      -
      - -
      - Cardholder name -
      -
      - -
      - Expiration month -
      -
      - -
      - Expiration year -
      -
      - - -
      - - - - -``` - -### 7) Create the client entry - -Create `src/main.ts`: - -```ts -import Skyflow from "skyflow-js"; - -// --------------------------------------------------------------------------- -// Environment variables -// --------------------------------------------------------------------------- -const vaultID = import.meta.env.VITE_SKYFLOW_VAULT_ID as string | undefined; -const vaultURL = import.meta.env.VITE_SKYFLOW_VAULT_URL as string | undefined; -const bearerToken = import.meta.env.VITE_SKYFLOW_BEARER_TOKEN as - | string - | undefined; - -if (!vaultID) throw new Error("Missing VITE_SKYFLOW_VAULT_ID in .env.local"); -if (!vaultURL) throw new Error("Missing VITE_SKYFLOW_VAULT_URL in .env.local"); -if (!vaultURL.startsWith("https://")) - throw new Error("VITE_SKYFLOW_VAULT_URL must start with https://"); -if (!bearerToken) - throw new Error("Missing VITE_SKYFLOW_BEARER_TOKEN in .env.local"); - -// --------------------------------------------------------------------------- -// Initialize the Skyflow client -// --------------------------------------------------------------------------- -// getBearerToken must be a function returning a Promise. -// The SDK calls this automatically whenever it needs to authenticate. -// -// DEMO: return a static token from env vars (fine for development). -// PRODUCTION: fetch a fresh token from your backend (see Production Hardening). -const skyflow = Skyflow.init({ - vaultID, - vaultURL, - getBearerToken: async () => bearerToken, - options: { - logLevel: Skyflow.LogLevel.DEBUG, // verbose logging during development - env: Skyflow.Env.DEV, // DEV exposes values in event callbacks for debugging - }, -}); - -// --------------------------------------------------------------------------- -// Create a Collect container and elements -// --------------------------------------------------------------------------- -// A COLLECT container gathers sensitive input and sends it directly to your -// Skyflow vault. The response contains tokens — your app never sees raw values. -const container = skyflow.container(Skyflow.ContainerType.COLLECT); - -// Style overrides for validation states (applied inside the iframe) -const inputStyles = { - base: { color: "#1d1d1d" }, - complete: { color: "#4caf50" }, - invalid: { color: "#d32f2f" }, - focus: { borderColor: "#1a73e8" }, -}; - -// ┌─────────────────────────────────────────────────────────────────────────┐ -// │ CUSTOMIZE: replace table/column names to match YOUR vault schema. │ -// │ │ -// │ The element types below are for a credit card collection form. │ -// │ Available types include: │ -// │ CARD_NUMBER, CARDHOLDER_NAME, CVV, │ -// │ EXPIRATION_DATE, EXPIRATION_MONTH, EXPIRATION_YEAR, │ -// │ PIN, INPUT_FIELD (generic — for SSN, email, etc.) │ -// └─────────────────────────────────────────────────────────────────────────┘ -const cardNumber = container.create({ - table: "credit_cards", - column: "card_number", - type: Skyflow.ElementType.CARD_NUMBER, - inputStyles, - placeholder: "4111 1111 1111 1111", -}); - -const cardholderName = container.create({ - table: "credit_cards", - column: "cardholder_name", - type: Skyflow.ElementType.CARDHOLDER_NAME, - inputStyles, - placeholder: "Jane Doe", -}); - -const expiryMonth = container.create({ - table: "credit_cards", - column: "expiry_month", - type: Skyflow.ElementType.EXPIRATION_MONTH, - inputStyles, - placeholder: "MM", -}); - -const expiryYear = container.create({ - table: "credit_cards", - column: "expiry_year", - type: Skyflow.ElementType.EXPIRATION_YEAR, - inputStyles, - placeholder: "YY", -}); - -// --------------------------------------------------------------------------- -// Mount elements to the DOM -// --------------------------------------------------------------------------- -cardNumber.mount("#field-1"); -cardholderName.mount("#field-2"); -expiryMonth.mount("#field-3"); -expiryYear.mount("#field-4"); - -// --------------------------------------------------------------------------- -// Element event listeners — useful for debugging and validation feedback -// --------------------------------------------------------------------------- -// READY fires when the iframe has loaded and the element is interactive. -[cardNumber, cardholderName, expiryMonth, expiryYear].forEach((el, i) => { - el.on(Skyflow.EventName.READY, () => { - console.log(`[Skyflow] Element #field-${i + 1} ready`); - }); - - // CHANGE fires on every keystroke — state includes isValid, isEmpty, isFocused. - // In DEV mode, state.value contains the actual value for debugging. - el.on(Skyflow.EventName.CHANGE, (state: Record) => { - console.log(`[Skyflow] Element #field-${i + 1} changed:`, state); - }); -}); - -// --------------------------------------------------------------------------- -// Collect handler -// --------------------------------------------------------------------------- -const submitButton = document.querySelector("#submit")!; -const statusDiv = document.querySelector("#status")!; - -submitButton.addEventListener("click", async () => { - statusDiv.className = ""; - statusDiv.textContent = ""; - - try { - const response = await container.collect({ tokens: true }); - console.log("[Skyflow] Collect response:", response); - statusDiv.className = "success"; - statusDiv.textContent = "Tokens created successfully — check the console."; - } catch (err) { - console.error("[Skyflow] Collect error:", err); - statusDiv.className = "error"; - statusDiv.textContent = `Collection failed — ${err instanceof Error ? err.message : "check the console for details."}`; - } -}); -``` - -### 8) Run and verify - -Start the dev server: - -```sh -npm run dev -``` - -Open `http://localhost:5173` in your browser and verify: - -1. **Elements render** — you should see four input fields, not blank space. If fields are invisible, check that `.skyflow-element` has a height set. -2. **Console shows READY events** — open DevTools and look for `[Skyflow] Element #field-N ready` messages for each field. These confirm the iframes loaded and connected to your vault. -3. **Type a test card number** — use `4111 1111 1111 1111` (Visa test number). The input should turn green (the `complete` style) and the console should log the change event with `isValid: true`. -4. **Click Collect** — fill all fields and click the button. On success, the console logs the response containing `skyflow_id` and token values for each field. The status area turns green. -5. **Check the Network tab** — you should see a request to your vault URL. A `200` response confirms data was tokenized and stored. - -### 9) Verification checklist - -Use this checklist to confirm everything is working: - -- [ ] `npm run dev` starts without errors -- [ ] All four element iframes render with correct height -- [ ] Console shows `[Skyflow] Element #field-N ready` for each element -- [ ] Typing in card number shows the card brand icon (Visa, Mastercard, etc.) -- [ ] Invalid input (e.g. `1234`) turns the text red (`invalid` style) -- [ ] Valid input (e.g. `4111 1111 1111 1111`) turns the text green (`complete` style) -- [ ] Collect with valid data returns tokens in the console and shows green status -- [ ] Collect with invalid/missing data shows an error and red status -- [ ] No sensitive values appear in your application code or network requests (only in the Skyflow iframe) - -## Production Hardening - -Before deploying, make these changes: - -**1) Switch to production mode** — in `Skyflow.init()` options: - -```ts -options: { - logLevel: Skyflow.LogLevel.ERROR, - env: Skyflow.Env.PROD, // masks values in event callbacks -} -``` - -**2) Fetch tokens from your backend** — replace the static `getBearerToken` with a fetch call to your token endpoint: - -```ts -getBearerToken: async () => { - const response = await fetch("/api/skyflow-token"); - if (!response.ok) throw new Error("Failed to fetch Skyflow token"); - const { accessToken } = await response.json(); - return accessToken; -}, -``` - -Your backend should use a Skyflow service account to generate short-lived bearer tokens. See the Skyflow documentation on bearer token generation for details. - -**3) Build for production:** - -```sh -npm run build -npm run preview # serves the built output locally for testing -``` - -## Integrating into an Existing Project - -If you're adding Skyflow Elements to an existing app instead of starting fresh: - -- **Already using Vite (or another bundler)?** Skip the Vite setup — just `npm install skyflow-js` and add the client code to your existing entry point. -- **Have a backend server (Express, Fastify, etc.)?** You can serve the built output as static files: - ```ts - // Example: Express serving the Vite build output - app.use(express.static(path.resolve("dist"))); - ``` -- **Using a framework (React, Vue, Svelte)?** Mount Skyflow Elements inside a component's `useEffect` / `onMounted` / `onMount` lifecycle hook. Each element's `.mount()` call targets a ref or DOM selector within your component. - -## Troubleshooting - -| Symptom | Likely cause | Fix | -| --------------------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------- | -| Elements are invisible (0 height) | Mount target `
      ` has no height | Add explicit `height` via CSS to the mount containers | -| `skyflow is not defined` | SDK not bundled | Ensure you're using a bundler (Vite) — `skyflow-js` is an npm module, not a CDN script | -| `401 Unauthorized` on collect | Bearer token expired or invalid | Generate a fresh token (they expire after ~60 min) | -| CORS errors in console | Wrong vault URL or missing HTTPS | Verify `VITE_SKYFLOW_VAULT_URL` matches your vault and starts with `https://` | -| Collect returns validation errors | Required fields empty or invalid | Check element `CHANGE` events for `isValid: false` before collecting | -| `Missing VITE_SKYFLOW_*` error on load | Env vars not set | Create `.env.local` with all three variables; restart the dev server after changes | - -## Notes - -- `skyflow-js` is distributed as an npm module — a bundler like Vite is required. It cannot be loaded via a plain `