LogoLogo
HomeProductsDownload Community Edition
6.0
  • Lenses DevX
  • Kafka Connectors
6.0
  • Overview
  • What's New?
    • Version 6.0.5
      • Features / Improvements & Fixes
    • Version 6.0.4
      • Features / Improvements & Fixes
    • Version 6.0.3
      • Features / Improvements & Fixes
    • Version 6.0.2
    • Version 6.0.1
    • Version 6.0.0-la.2
      • Features / Improvements & Fixes
    • Version 6.0.0-la.1
      • Features / Improvements & Fixes
    • Version 6.0.0-la.0
      • Features / Improvements & Fixes
    • Version 6.0.0-alpha.20
      • Features / Improvements & Fixes
      • Helm
    • Version 6.0.0-alpha.19
      • Features / Improvements & Fixes
      • Helm
    • Version 6.0.0-alpha.18
      • Features / Improvements & Fixes
      • Helm
    • Version 6.0.0-alpha.17
      • Features / Improvements & Fixes
      • Helm
    • Version 6.0.0-alpha.16
    • Version 6.0.0-alpha.14
  • Getting Started
    • Setting Up Community Edition
      • Hands-On Walk Through of Community Edition
    • Connecting Lenses to your Kafka environment
      • Overview
      • Install
  • Deployment
    • Installation
      • Kubernetes - Helm
        • Deploying HQ
        • Deploying an Agent
      • Docker
        • Deploying HQ
        • Deploying an Agent
      • Linux
        • Deploying HQ
        • Deploying an Agent
    • Configuration
      • Authentication
        • Admin Account
        • Basic Authentication
        • SSO & SAML
          • Overview
          • Azure SSO
          • Google SSO
          • Keycloak SSO
          • Okta SSO
          • OneLogin SSO
          • Generic SSO
      • HQ
        • Configuration Reference
      • Agent
        • Overview
        • Provisioning
          • Overview
          • HQ
          • Kafka
            • Apache Kafka
            • Aiven
            • AWS MSK
            • AWS MSK Serverless
            • Azure EventHubs
            • Azure HDInsight
            • Confluent Cloud
            • Confluent Platform
            • IBM Event Streams
          • Schema Registries
            • Overview
            • AWS Glue
            • Confluent
            • Apicurio
            • IBM Event Streams Registry
          • Kafka Connect
          • Zookeeper
          • AWS
          • Alert & Audit integrations
          • Infrastructure JMX Metrics
        • Hardware & OS
        • Memory & CPU
        • Database
        • TLS
        • Kafka ACLs
        • Rate Limiting
        • JMX Metrics
        • JVM Options
        • SQL Processor Deployment
        • Logs
        • Plugins
        • Configuration Reference
  • User Guide
    • Environments
      • Create New Environment
    • Lenses Resource Names (LRNs)
    • Identity & Access Management
      • Overview
      • Users
      • Groups
      • Roles
      • Service Accounts
      • IAM Reference
      • Example Policies
    • Topics
      • Global Topic Catalogue
      • Environment Topic Catalogue
        • Finding topics & fields
        • Searching for messages
        • Inserting & deleting messages
        • Viewing topic metrics
        • Viewing topic partitions
        • Topic Settings
        • Adding metadata & tags to topics
        • Managing topic configurations
        • Approval requests
        • Downloading messages
        • Backup & Restore
    • SQL Studio
      • Concepts
      • Best practices
      • Filter by timestamp or offset
      • Creating & deleting Kafka topics
      • Filtering
      • Limit & Sampling
      • Joins
      • Inserting & deleting data
      • Aggregations
      • Metadata fields
      • Views & synonyms
      • Arrays
      • Managing queries
    • Applications
      • Connectors
        • Overview
        • Sources
        • Sinks
        • Secret Providers
      • SQL Processors
        • Concepts
        • Projections
        • Joins
        • Lateral Joins
        • Aggregations
        • Time & Windows
        • Storage format
        • Nullibility
        • Settings
      • External Applications
        • Registering via SDK
        • Registering via REST
    • Schemas
    • Monitoring & Alerting
      • Infrastructure Health
      • Alerting
        • Alert Reference
      • Integrations
      • Consumer Groups
    • Self Service & Governance
      • Data policies
      • Audits
      • Kafka ACLs
      • Kafka Quotas
    • Topology
    • Tutorials
      • SQL Processors
        • Data formats
          • Changing data formats
          • Rekeying data
          • Controlling AVRO record names and namespaces
          • Changing the shape of data
        • Filtering & Joins
          • Filtering data
          • Enriching data streams
          • Joining streams of data
          • Using multiple topics
        • Aggregations
          • Aggregating data in a table
          • Aggregating streams
          • Time window aggregations
        • Complex types
          • Unwrapping complex types
          • Working with Arrays
        • Controlling event time
      • SQL Studio
        • Querying data
        • Accessing headers
        • Deleting data from compacted topics
        • Working with JSON
    • SQL Reference
      • Expressions
      • Functions
        • Aggregate
          • AVG
          • BOTTOMK
          • COLLECT
          • COLLECT_UNIQUE
          • COUNT
          • FIRST
          • LAST
          • MAXK
          • MAXK_UNIQUE
          • MINK
          • MINK_UNIQUE
          • SUM
          • TOPK
        • Array
          • ELEMENT_OF
          • FLATTEN
          • IN_ARRAY
          • REPEAT
          • SIZEOF
          • ZIP_ALL
          • ZIP
        • Conditions
        • Conversion
        • Date & Time
          • CONVERT_DATETIME
          • DATE
          • DATETIME
          • EXTRACT_TIME
          • EXTRACT_DATE
          • FORMAT_DATE
          • FORMAT_TIME
          • FORMAT_TIMESTAMP
          • HOUR
          • MONTH_TEXT
          • MINUTE
          • MONTH
          • PARSE_DATE
          • PARSE_TIME_MILLIS
          • PARSE_TIME_MICROS
          • PARSE_TIMESTAMP_MILLIS
          • PARSE_TIMESTAMP_MICROS
          • SECOND
          • TIMESTAMP
          • TIME_MICROS
          • TIMESTAMP_MICROS
          • TIME_MILLIS
          • TIMESTAMP_MILLIS
          • TO_DATE
          • TO_DATETIME
          • TOMORROW
          • TO_TIMESTAMP
          • YEAR
          • YESTERDAY
        • Headers
          • HEADERASSTRING
          • HEADERASINT
          • HEADERASLONG
          • HEADERASDOUBLE
          • HEADERASFLOAT
          • HEADERKEYS
        • JSON
          • JSON_EXTRACT_FIRST
          • JSON_EXTRACT_ALL
        • Numeric
          • ABS
          • ACOS
          • ASIN
          • ATAN
          • CBRT
          • CEIL
          • COSH
          • COS
          • DEGREES
          • DISTANCE
          • FLOOR
          • MAX
          • MIN
          • MOD
          • NEG
          • POW
          • RADIANS
          • RANDINT
          • ROUND
          • SIGN
          • SINH
          • SIN
          • SQRT
          • TANH
          • TAN
        • Nulls
          • ISNULL
          • ISNOTNULL
          • COALESCE
          • AS_NULLABLE
          • AS_NON_NULLABLE
        • Obfuscation
          • ANONYMIZE
          • MASK
          • EMAIL
          • FIRST1
          • FIRST2
          • FIRST3
          • FIRST4
          • LAST1
          • LAST2
          • LAST3
          • LAST4
          • INITIALS
        • Offsets
        • Schema
          • TYPEOF
          • DUMP
        • String
          • ABBREVIATE
          • BASE64
          • CAPITALIZE
          • CENTER
          • CHOP
          • CONCAT
          • CONTAINS
          • DECODE64
          • DELETEWHITESPACE
          • DIGITS
          • DROPLEFT
          • DROPRIGHT
          • ENDSWITH
          • INDEXOF
          • LEN
          • LOWER
          • LPAD
          • MKSTRING
          • REGEXP
          • REGEX_MATCHES
          • REPLACE
          • REVERSE
          • RPAD
          • STARTSWITH
          • STRIPACCENTS
          • SUBSTR
          • SWAPCASE
          • TAKELEFT
          • TAKERIGHT
          • TRIM
          • TRUNCATE
          • UNCAPITALIZE
          • UPPER
          • UUID
        • User Defined Functions
        • User Defined Aggregate Functions
      • Deserializers
      • Supported data formats
        • Protobuf
  • Resources
    • Downloads
    • CLI
      • Environment Creation
    • API Reference
      • API Authentication
      • Websocket Spec
      • Lenses API Spec
        • Authentication
        • Environments
        • Users
        • Groups
        • Roles
        • Service Accounts
        • Meta
        • Settings
        • License
        • Topics
        • Applications
          • SQL Processors
          • Kafka Connectors
          • External Applications
        • Kafka ACLs & Quotas
        • Kafka Consumer Groups
        • Schema Registry
        • SQL Query Management
        • Data Policies
        • Alert Channels
        • Audit Channels
        • Provisioning State
        • Agent Metadata
        • Backup & Restore
        • As Code
Powered by GitBook
LogoLogo

Resources

  • Privacy
  • Cookies
  • Terms & Conditions
  • Community EULA

2024 © Lenses.io Ltd. Apache, Apache Kafka, Kafka and associated open source project names are trademarks of the Apache Software Foundation.

On this page

Was this helpful?

Export as PDF
  1. Resources
  2. API Reference
  3. Lenses API Spec

Data Policies

PreviousSQL Query ManagementNextAlert Channels

Last updated 2 months ago

Was this helpful?

get

Returns all data policies obfuscation types

Responses
200Success
application/json
Responsestring[]
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/static/obfuscation HTTP/1.1
Host: 
Accept: */*
[
  "text"
]
get

Returns all data policies impact level types

Responses
200Success
application/json
Responsestring[]
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/static/impact HTTP/1.1
Host: 
Accept: */*
[
  "text"
]
get

Returns all data policies category types

Responses
200Success
application/json
Responsestring[]
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/static/category HTTP/1.1
Host: 
Accept: */*
[
  "text"
]
get

Returns all the data policies rules entries

Responses
200Success
application/json
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/policy HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "category": "text",
    "impactType": "HIGH",
    "obfuscation": "text",
    "fields": [
      "text"
    ],
    "datasets": [
      "text"
    ],
    "versions": 1,
    "lastUpdated": "text",
    "lastUpdatedUser": "text",
    "impact": {
      "topics": [
        "text"
      ],
      "connectionEntities": [
        {
          "connectionName": "text",
          "connectionType": "text",
          "entities": [
            "text"
          ],
          "datasetsWithFields": [
            {
              "datasetName": "text",
              "matchingKeyFields": [
                {
                  "name": "text",
                  "parents": [
                    "text"
                  ]
                }
              ],
              "matchingValueFields": [
                {
                  "name": "text",
                  "parents": [
                    "text"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "connectors": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ],
      "processors": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ],
      "apps": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ]
    }
  }
]
get

Returns the data policy details

Path parameters
idstringRequired
Responses
200Success
application/json
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/policy/{id} HTTP/1.1
Host: 
Accept: */*
{
  "id": "text",
  "name": "text",
  "category": "text",
  "impactType": "HIGH",
  "obfuscation": "text",
  "fields": [
    "text"
  ],
  "datasets": [
    "text"
  ],
  "versions": 1,
  "lastUpdated": "text",
  "lastUpdatedUser": "text",
  "impact": {
    "topics": [
      "text"
    ],
    "connectionEntities": [
      {
        "connectionName": "text",
        "connectionType": "text",
        "entities": [
          "text"
        ],
        "datasetsWithFields": [
          {
            "datasetName": "text",
            "matchingKeyFields": [
              {
                "name": "text",
                "parents": [
                  "text"
                ]
              }
            ],
            "matchingValueFields": [
              {
                "name": "text",
                "parents": [
                  "text"
                ]
              }
            ]
          }
        ]
      }
    ],
    "connectors": [
      {
        "id": "text",
        "name": "text",
        "type": "AkkaStreams"
      }
    ],
    "processors": [
      {
        "id": "text",
        "name": "text",
        "type": "AkkaStreams"
      }
    ],
    "apps": [
      {
        "id": "text",
        "name": "text",
        "type": "AkkaStreams"
      }
    ]
  }
}
delete

Deletes an existing data policy

Path parameters
idstringRequired
Responses
200Success
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
delete
DELETE /api/v1/environments/{name}/proxy/api/protection/policy/{id} HTTP/1.1
Host: 
Accept: */*

No content

Deprecated
get

Returns a data policy and its previous versions

Path parameters
idstringRequired
Responses
200Success
application/json
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/protection/policy/{id}/versions HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "category": "text",
    "impactType": "HIGH",
    "obfuscation": "text",
    "fields": [
      "text"
    ],
    "datasets": [
      "text"
    ],
    "versions": 1,
    "lastUpdated": "text",
    "lastUpdatedUser": "text",
    "impact": {
      "topics": [
        "text"
      ],
      "connectionEntities": [
        {
          "connectionName": "text",
          "connectionType": "text",
          "entities": [
            "text"
          ],
          "datasetsWithFields": [
            {
              "datasetName": "text",
              "matchingKeyFields": [
                {
                  "name": "text",
                  "parents": [
                    "text"
                  ]
                }
              ],
              "matchingValueFields": [
                {
                  "name": "text",
                  "parents": [
                    "text"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "connectors": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ],
      "processors": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ],
      "apps": [
        {
          "id": "text",
          "name": "text",
          "type": "AkkaStreams"
        }
      ]
    }
  }
]
post

Loads a default set of data policies entries covering used PII fields and obfuscation rules

Responses
200Success
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
post
POST /api/v1/environments/{name}/proxy/api/protection/default/policy HTTP/1.1
Host: 
Accept: */*

No content

  • GET/api/v1/environments/{name}/proxy/api/v1/kafka/topic/policy
  • PUT/api/v1/environments/{name}/proxy/api/v1/kafka/topic/policy
  • GET/api/v1/environments/{name}/proxy/api/protection/static/obfuscation
  • GET/api/v1/environments/{name}/proxy/api/protection/static/impact
  • GET/api/v1/environments/{name}/proxy/api/protection/static/category
  • GET/api/v1/environments/{name}/proxy/api/protection/policy
  • POST/api/v1/environments/{name}/proxy/api/protection/policy
  • GET/api/v1/environments/{name}/proxy/api/protection/policy/{id}
  • PUT/api/v1/environments/{name}/proxy/api/protection/policy/{id}
  • DELETE/api/v1/environments/{name}/proxy/api/protection/policy/{id}
  • GET/api/v1/environments/{name}/proxy/api/protection/policy/{id}/versions
  • POST/api/v1/environments/{name}/proxy/api/protection/default/policy
get

Fetches the configured topic creation policy. A default one will be returned if no one exists

Responses
200Success
application/json
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
get
GET /api/v1/environments/{name}/proxy/api/v1/kafka/topic/policy HTTP/1.1
Host: 
Accept: */*
{
  "config": {
    "partitions": {
      "min": 1,
      "max": 1
    },
    "replication": {
      "min": 1,
      "max": 1
    },
    "retention": {
      "size": {
        "default": 1,
        "max": 1
      },
      "time": {
        "default": 1,
        "max": 1
      }
    }
  },
  "naming": {
    "pattern": "text",
    "description": "text"
  },
  "isApplicable": true
}
put

Sets the topic creation policy

Body
Responses
204Success
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
put
PUT /api/v1/environments/{name}/proxy/api/v1/kafka/topic/policy HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 189

{
  "config": {
    "partitions": {
      "min": 1
    },
    "replication": {
      "min": 1
    },
    "retention": {
      "size": {
        "max": -1
      },
      "time": {
        "max": -1
      }
    }
  },
  "naming": {
    "pattern": "(prd|stg|dev)-.*",
    "description": "Env prefixed topic name"
  }
}

No content

post

Adds a new data policy

Body
namestringRequired
categorystringRequired
impactTypestring · enumRequiredPossible values:
obfuscationstringRequired
fieldsstring[]Optional
datasetsstring[] · min: 1Optional
Responses
201Success
text/plain
Responsestring
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
post
POST /api/v1/environments/{name}/proxy/api/protection/policy HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 112

{
  "name": "text",
  "category": "text",
  "impactType": "HIGH",
  "obfuscation": "text",
  "fields": [
    "text"
  ],
  "datasets": [
    "text"
  ]
}
text
put

Updates an existing data policy

Path parameters
idstringRequired
Body
idstringRequired
namestringRequired
categorystringRequired
impactTypestring · enumRequiredPossible values:
obfuscationstringRequired
fieldsstring[]Optional
datasetsstring[] · min: 1Optional
Responses
200Success
400
The request input was invalid
application/json
401
Authentication error
application/json
402
The purchased Lenses license does not provide access to this feature
application/json
403
Authorisation error
application/json
404
The requested resource cannot be found
application/json
500
An internal server error has occurred
application/json
put
PUT /api/v1/environments/{name}/proxy/api/protection/policy/{id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 124

{
  "id": "text",
  "name": "text",
  "category": "text",
  "impactType": "HIGH",
  "obfuscation": "text",
  "fields": [
    "text"
  ],
  "datasets": [
    "text"
  ]
}

No content